Pi não inicializa após a atualização do initramfs

9

Eu tenho tentado obter o Raspbian Jessie, instalado a partir da imagem para inicializar com uma partição raiz criptografada.

Consegui seguir o guia aqui .

Quando eu inicializo o Pi, ele cai em um prompt initramfs e desbloqueio a partição com

# cryptsetup luksOpen /dev/mmcblk0p2 sdcard
# exit

e inicializa no Debian. Ótimo!

No entanto, existem alguns problemas. Quando tento atualizar o arquivo initramfs com:

# sudo mkinitramfs -o /boot/initramfs.gz

no Debian, o Pi não é reinicializado com sucesso no prompt initramfs. Ele fica travado com um cursor piscando depois de mostrar o logotipo do pixel. Quando restauro a minha imagem de inicialização de backup, recebo o prompt initramfs novamente e posso inicializar a partir da raiz criptografada.

A segunda questão é que eu não configurei corretamente o dropbear; parece estar configurado para usar DHCP. Isso significa que, quando eu entro, ele obtém um endereço IP aleatório. Preciso atualizar a configuração para um endereço IP fixo, para poder fazer login no Pi decapitado após uma reinicialização, mas sem a capacidade de atualizar o initramfs, não sei como corrigir isso.

Como não consigo nem receber um prompt do initramfs após a atualização, não tenho muita certeza de como começar a resolver esse problema, portanto, qualquer dica seria ótima. Fornecerei as informações que serão úteis para resolver esse problema.

richarddmorey
fonte
11
Lembro-me vagamente de ouvir um tempo atrás que systemd, o initsistema padrão a partir da atual versão "Jessie" do Debian e, portanto, o Raspbian, que é derivado dela, teve problemas com sistemas de arquivos criptografados. Suponho que pelo menos parte das questões tenha sido resolvida, mas no seu caso particular, você pode considerar voltar ao sysV, inito que o artigo de 2013 espera (ele menciona a versão "Wheezy" do Raspbian, que é a versão anterior, que teria um init padrão do sysV) ...
SlySven
11
Parece improvável que seja um problema relacionado a systemd; Eu corro vários sistemas Debian 8 padrão diferentes com partições raiz criptografadas sem problemas. Minha suspeita é que o código para solicitar a senha de criptografia não está lá ou não é compatível com o que está exibindo o logotipo da tela inicial. (Recebo um prompt de modo de texto para a senha durante a inicialização do sistema.) Quando tiver uma chance, compararei os scripts de inicialização no meu Pi e em um dos meus laptops Debian.
CJS
Em relação ao DHCP. Bloqueie-o diretamente no seu roteador. Não nos dispositivos. Caso contrário, poderia ser um pé no saco.
precisa saber é o seguinte
Eu recomendo que você dê uma olhada no Guia de criptografia do Robpol86 ( robpol86.com/raspberry_pi_luks.html ) quando uma coisa que reconheci no guia que você usou é que não existe um script initramfs-rebuild que é executado após cada atualização do kernel . Uso o guia da Robpol em muitos sistemas Jessie e Stretch há muito tempo e nunca tive problemas. Obviamente, o guia não o ajudará em relação a seus problemas com o dropbear.
Stefan Wegener

Respostas:

0

Desative qualquer tela inicial e verifique a saída durante o tempo de inicialização. No cmdline.txt (em /boot/cmdline.txt), verifique se você possui rootwait logo.nologo nosplash.

Deve ter havido um problema com sua atualização ou o initramfs. Certifique-se de incluir os módulos apropriados nele, apontando para a versão de kernel de destino da seguinte maneira: sudo mkinitramfs -o /boot/initramfs.gz -k -v 4.14.78-v7+ Isso terá como alvo o módulo de kernel dessa versão específica instalada e pegue todos os módulos de / lib / modules / corretamente.

Se houver uma incompatibilidade, poderá haver problemas ao carregar os módulos do kernel corretos. Verifique também seu initramfs-tools.conf e hooks / scripts.

Em relação ao IP, você pode ter um IP fixo com o parâmetro de inicialização do kernel "IP =". Mas seria melhor configurá-lo no servidor DHCP, que provavelmente é seu roteador.

Hernn0
fonte
-1

Tente reverter o firmware novamente e tente novamente:

Para reverter, dê ao github commit hash.

Para atualizar / fazer o downgrade para uma revisão de firmware específica, especifique seu hash Git (no https://github.com/Hexxeh/rpi-firmware ) da seguinte maneira:

sudo rpi-update fab7796df0cf29f9563b507a59ce5b17d93e0390


E para tentar atualizar novamente, use:

sudo apt-get update && sudo apt-get upgrade
sudo shutdown -r now

Depois que o processo terminar, atualize para a próxima rpi-update:

sudo BRANCH=next rpi-update
sudo shutdown -r now

Depois disso, você poderá seguir as instruções aqui

pule os 2 primeiros blocos de código, pois eu os modifiquei e dei o trabalho acima!

Usuário98764431
fonte