Partição raiz criptografada não inicializando corretamente

1

Eu tenho um Debian 8 VPS com uma partição raiz criptografada. Após uma atualização do kernel alguns meses atrás (versão do pacote 3.2.73-2 + deb7u3), ele parou de ser capaz de descriptografar apropriadamente na inicialização. Tanto quanto eu posso dizer, o initramfs não estava carregando as bibliotecas da cripta, e por isso não sabia o que fazer.

Eu encontrei esta resposta, mas isso não resolveu os problemas, não importando o UUID que tentamos. link

Nosso kludge atual que nos permite inicializar com erros está criando um arquivo cryptroot em /etc/initramfs-tools/conf.d/cryptroot com conteúdo

CRYPTOPTS=target=root,source=/dev/vda5,lvm=cloud--vg-root

e um / etc / crypttab com conteúdo

# <target name> <source device>     <key file>  <option>
crypt-vda5  /dev/vda5   none    luks

Durante a inicialização ele pede a senha e monta o vg-root, e então ele nos pede a senha novamente e reclama que a partição já está montada, e lança um monte de erros que eu tenho que acertar esc repetidamente para passar. Se removermos qualquer um desses arquivos ou alterá-los, ele não solicitará a senha durante a inicialização e, assim, a montagem da raiz falhará.

Alguma idéia de como remover o kludge e consertar isso para sempre?

obrigado!

    
por mxroo 19.05.2016 / 00:05

1 resposta

1

Pode funcionar apenas se você adicionar o seguinte a /etc/initramfs-tools/initramfs.conf e mover / etc / initramfs- tools / conf.d / cryptroot fora do caminho.

CRYPTSETUP=Y

Em seguida, reconstrua o initramfs, execute-o com as opções -k e -v, que mostrarão o que ele está fazendo e se ele adiciona suporte à criptografia. A opção -k será mantida em torno do diretório temporário mkinitramfs usado, o que pode ajudar na investigação do que está acontecendo. Claro, mantenha uma cópia do antigo initramfs para que você possa inicializá-lo, se necessário.

Além disso, / etc / crypttab deve conter o nome do volume lógico, se isso for vg-root em vez de crypt-vda5, certifique-se de substituí-lo. Esse nome é o nome de exemplo da string usado no seguinte:

cryptsetup -v luksOpen /dev/vda5 example-name

Qual deve estar acessível em:

/dev/mapper/example-name
    
por 20.05.2016 / 23:22