Inicializando o Gentoo no LVM dentro do LUKS com keyfile criptografado por gpg

1

Estou tentando instalar o Gentoo no volume lógico do LVM dentro do contêiner LUKS criptografado com o arquivo de chaves criptografado pelo GPG com a frase secreta. Tudo estava indo bem até que eu tentei arrancar. Estou construindo o kernel e o initramfs com o genkernel:

genkernel --lvm --luks --install --menuconfig --busybox all   

e inicializando-o com o GRUB2. Então, depois que eu inicio o kernel eu recebo a informação que meu arquivo de chave é encontrado, mas na próxima linha eu recebo “Falha ao abrir o dispositivo LUKS ...” e então vem um kernel panic. Alguma ideia do que fazer?

Configuração do Kernel - link

Menuentrada do GRUB2:

menuentry 'Gentoo'{
root='hd1,gpt1'
linux /kernel-genkernel-x86_64-3.17.7-gentoo initrd=/dev/ram0 crypt_root=/dev/disk/by-partuuid/PARTUUID_OF_LUKS_CONTAINTER_PARTION dolvm real_root=/dev/mapper/vg1-root rootfstype=ext4 real_init=/usr/lib/systemd/systemd root_keydev=/dev/disk/by-partuuid/PARTUUID_OF_MY_PENDRIVE_WITH_KEY root_key=luks-key.gpg
initrd /initramfs-genkernel-x86_64-3.17.7-gentoo
echo "initing..."
}
    
por Cytadela8 08.02.2015 / 17:13

1 resposta

0

Meu problema foi resolvido depois de mudar a versão do kernel para 3.10 e mudar a versão gpg para uma versão antiga, que não exigia o pinentry para funcionar e que eu compilava estaticamente. Embora com a nova versão eu verifiquei tudo duas vezes, sempre parecia haver um problema com a pinagem. Também acho que o genkernel não estava incluindo o pinentry automaticamente. Eu tive que incluir eu mesmo.

Então, para resumir:

  • verifique se sua versão gpg requer pinentry (no meu caso, reverti para uma versão mais antiga para fazer o initrd)
  • considere uma versão do kernel mais estável
  • considere compilar o gpg estaticamente
  • verifique todos os dependentes da biblioteca depois de gerar initrd mesmo se você usou algo como o genkernel
por 25.06.2015 / 09:05