Isso sempre funcionará, mesmo com um crypttab vazio:
echo 'export CRYPTSETUP=y' > /etc/initramfs-tools/conf.d/cryptsetup
Como alternativa, você pode adicionar isso ao / etc / environment:
CRYPTSETUP=y
Estou trabalhando em um script para criar um sistema lavável totalmente criptografado a partir do debootstrap . Está indo bem, mas a imagem initramfs
que sai não pega o cryptroot corretamente. Depois de inicializar a imagem com o qemu, sou deixado em um shell do busybox e tenho que desbloquear a criptografia luks manualmente com cryptsetup
:
cryptsetup luksOpen /dev/sda1 system
/scripts/local-premount/flashback
exit
(flashback faz alguma mágica de snapshots do btrfs para esquecer as alterações feitas em cada inicialização)
Depois disso, o boot no qemu continua normalmente e eu posso gerar uma boa initramfs
de imagem. Eu copio isso para o subvolume btrfs @ root.base e tudo está bem a partir de então.
Preciso de ajuda para descobrir por que a parte cryptsetup / cryptroot não está sendo selecionada no ambiente chroot por update-initramfs
:
echo "CRYPTSETUP=y" >> /usr/share/initramfs-tools/conf-hooks.d/cryptsetup
echo "export CRYPTSETUP=y" >> /usr/share/initramfs-tools/conf-hooks.d/cryptsetup
update-initramfs -ut
Eu tentei muitas coisas, eu escrevi um bom fstab e crypttab e até tentei definir explicitamente o cryptdevice no grub.cfg. Consulte a versão específica do script .
Veja como eu crio o fstab e o crypttab:
export partuuid=$(blkid $partition | sed -re 's/.*: UUID="([^"]+)".*//')
export decruuid=$(blkid /dev/mapper/$decrypted | sed -re 's/.*: UUID="([^"]+)".*//')
echo "Adding flashback with uuid $partuuid"
echo "system UUID=$partuuid none luks" >> "$rootmount/etc/crypttab"
echo "UUID=$decruuid / btrfs [email protected] 0 0" >> "$rootmount/etc/fstab"
echo "UUID=$decruuid /home btrfs subvol=@home 0 0" >> "$rootmount/etc/fstab"
A questão em princípio é: Como você gera uma imagem initramfs funcional em um chroot criptografado de um debian combootstrapped?
Obrigado um monte
Usar /etc/initramfs-tools/conf.d/cryptsetup
está obsoleto no trecho.
O novo método preferido é definir "CRYPTSETUP=y"
em /etc/cryptsetup-initramfs/conf-hook
.