Eu não sei o que lhe deu a impressão de que aptitude upgrade
deixaria seu kernel intacto, simplesmente não o faz. Eu tive o mesmo problema depois de uma atualização do kernel no meu pi criptografado. O problema é que o seu initramfs precisa ser reconstruído. Aqui está como você faz isso em uma máquina externa.
Primeiro, conecte seu cartão SD com o raspbian criptografado no seu computador externo e monte tudo da seguinte maneira:
cryptsetup -v luksOpen /dev/mmcblk0p2 thunderdome
mount /dev/mapper/thunderdome /mnt
mount /dev/mmcblk0p1 /mnt/boot
mount -o bind /dev /mnt/dev
mount -t sysfs none /mnt/sys
mount -t proc none /mnt/proc
Instale o qemu para emular binários pi de framboesa:
apt-get install qemu qemu-user-static binfmt-support
Ao codificar esta essência , é melhor remover todas as linhas de /mnt/etc/ld.so.preload
antes de continuar, é isso que o Os comandos sed
fazem o seguinte:
# comment out ld.so.preload
sed -i 's/^/#/g' /mnt/etc/ld.so.preload
# copy qemu binary
cp /usr/bin/qemu-arm-static /mnt/usr/bin/
# chroot to raspbian and rebuild initramfs
chroot /mnt /bin/bash
mkinitramfs -o /boot/initramfs.gz [NEW RASPBIAN KERNEL VERSION]
exit
# undo damage
sed -i 's/^#//g' /mnt/etc/ld.so.preload
umount /mnt/{dev,sys,proc,boot}
Você pode encontrar a nova versão do kernel raspbian checando /lib/modules
, dentro do chroot
.
Depois de fazer isso, meu pi de framboesa começou bem novamente.