Pi no arrancará después de la actualización de initramfs

9

He estado tratando de obtener Raspbian Jessie, instalado desde la imagen para arrancar con una partición raíz encriptada.

Tuve éxito en seguir la guía aquí .

Cuando inicio el Pi, cae a un indicador initramfs, luego desbloqueo la partición con

# cryptsetup luksOpen /dev/mmcblk0p2 sdcard
# exit

y arranca en Debian. ¡Excelente!

Sin embargo, hay algunos problemas. Cuando intento actualizar el archivo initramfs con:

# sudo mkinitramfs -o /boot/initramfs.gz

en Debian, el Pi no se reinicia con éxito al indicador initramfs. Simplemente se cuelga con un cursor parpadeante después de mostrar el logotipo de píxel. Cuando restauro a mi imagen de arranque respaldada, recibo nuevamente el indicador initramfs y puedo arrancar desde la raíz encriptada.

El segundo problema es que no configuré correctamente dropbear; parece estar configurado para usar DHCP. Esto significa que cuando inicio sesión, obtiene una dirección IP aleatoria. Necesito actualizar la configuración a una dirección IP fija para poder iniciar sesión en Pi sin cabeza después de un reinicio, pero sin la capacidad de actualizar initramfs, no sé cómo solucionarlo.

Dado que ni siquiera puedo obtener un aviso de initramfs después de la actualización, realmente no estoy seguro de cómo comenzar a resolver este problema, por lo que cualquier sugerencia sería genial. Proporcionaré la información que sea útil para resolver este problema.

richarddmorey
fuente
1
Recuerdo vagamente haber escuchado hace un tiempo que systemd, el initsistema predeterminado avanza de la versión actual "Jessie" de Debian y, por lo tanto, Raspbian, que se deriva de él, una vez tuvo problemas con los sistemas de archivos cifrados. Supongo que al menos parte de los problemas se resolvieron, pero en su caso particular, es posible que desee considerar volver al sysV, initque es lo que esperaría ese artículo de 2013 (menciona la versión "Wheezy" de Raspbian, que es la versión anterior que habría tenido un inicio predeterminado del sysV) ...
SlySven
1
Parece poco probable que sea un problema relacionado con systemd; Ejecuto varios sistemas Debian 8 estándar diferentes con particiones raíz encriptadas sin problemas. Mi sospecha es que el código para solicitar la frase de contraseña de cifrado no está allí o no es compatible con lo que está poniendo el logotipo de la pantalla de inicio. (Recibo una solicitud de modo de texto para la frase de contraseña durante el inicio del sistema). Cuando tenga la oportunidad, compararé los scripts de inicio en mi Pi y en una de mis computadoras portátiles Debian.
cjs
Sobre el DHCP. Bloquéalo directamente en tu enrutador. No en los dispositivos. Podría ser un dolor en el culo de lo contrario.
kuzeyron
Le recomiendo que eche un vistazo a la guía de cifrado de Robpol86 ( robpol86.com/raspberry_pi_luks.html ) cuando una cosa que reconocí en la guía que usó es que no hay un script initramfs-rebuild que se ejecuta después de cada una de las actualizaciones de su núcleo . He estado usando la guía de Robpol en muchos sistemas Jessie y Stretch durante mucho tiempo y nunca tuve ningún problema. Por supuesto, la guía no lo ayudará con respecto a sus problemas de dropbear.
Stefan Wegener

Respuestas:

0

Deshabilite cualquier pantalla de bienvenida y verifique la salida durante el tiempo de arranque. En cmdline.txt (en /boot/cmdline.txt) asegúrese de tener rootwait logo.nologo nosplash.

Debe haber habido un problema con su actualización o initramfs. Asegúrese de incluir los módulos adecuados en él apuntando a la versión de kernel de destino de esta manera: sudo mkinitramfs -o /boot/initramfs.gz -k -v 4.14.78-v7+ Esto apuntará al módulo de kernel de esa versión específica instalada, y tomará todos los módulos de / lib / modules / correctamente.

Si hay una falta de coincidencia, podría haber problemas al cargar los módulos correctos del núcleo. También revise sus initramfs-tools.conf y hooks / scripts.

Con respecto a la IP, puede tener una IP fija con el parámetro de arranque del kernel "IP =". Pero sería mejor configurar eso en el servidor DHCP, que probablemente sea su enrutador.

Hernn0
fuente
-1

Intente revertir el firmware nuevamente e intente nuevamente:

Para revertir, proporcione el hash github commit.

Para actualizar / rebajar a una revisión de firmware específica, especifique su hash Git (desde el https://github.com/Hexxeh/rpi-firmware repositorio) de la siguiente manera:

sudo rpi-update fab7796df0cf29f9563b507a59ce5b17d93e0390


Y para intentar actualizar nuevamente use:

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

Luego, después de que el proceso finalice, actualice a la próxima actualización de rpi:

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

Después de eso deberías poder seguir las instrucciones aquí

¡asegúrese de omitir los primeros 2 bloques de código, ya que los modifiqué y le di el que funciona arriba!

Usuario98764431
fuente