Okay. Debugging this is of course very frustrating because we don’t really see what the actual problem is. Having a USB UART adapter would allow seeing where the boot actually stops. My current hypothesis is that it’s the binutils bug. If you still have the original SD-card around that you used for booting, you could inspect the initramfs on it to verify that this was indeed the issue and nothing else by running (assuming you have the contents of the first partition of that sd-card mounted on /boot
):
$ ls -lha /boot
$ lsinitramfs /boot/initrd.img-* | grep /lib/modules | wc -l
Going back to trying to restore your system, I’m puzzled about this output:
As you said in the beginning, your initial reform-tools version on that system was 1.31. You then upgraded it (which is good) but the current version of reform-tools is 1.53. Where does version 1.49 come from?
If you would like to restart from scratch, then flash a new system image to your sd-card, boot into that, connect to the internet and then redo these steps as the superuser:
$ umount /boot
$ cryptsetup luksOpen /dev/nvme0n1 reform_crypt
$ vgchange -ay reformvg
$ mount /dev/reformvg/root /mnt
$ mount /dev/mmcblk0p1 /mnt/boot
$ mount -o bind /dev /mnt/dev
$ mount -t sysfs sys /mnt/sys
$ mount -t proc proc /mnt/proc
$ cp /etc/resolv.conf /mnt/etc
$ chroot /mnt apt update
$ chroot /mnt apt upgrade
$ chroot /mnt apt install reform-tools=1.53
$ chroot /mnt apt install --reinstall linux-image-6.10.7-mnt-reform-arm64
$ chroot /mnt update-initramfs -u
$ chroot /mnt flash-kernel
$ chroot /mnt reform-check > reformcheck.txt 2>&1
$ umount --recursive /mnt
$ vgchange -an reformvg
$ cryptsetup luksClose reform_crypt
Let me explain the important steps that changed compared to last time. Upgrade your system. This should not change much, but lets get it in sync with the rescue sd-card that you are running:
$ chroot /mnt apt upgrade
Make sure that reform-tools is really upgraded. This should do away with the spurious version from above. No idea where that’s coming from but lets make sure that you have 1.53
$ chroot /mnt apt install reform-tools=1.53
Since you already upgraded the kernel for your system, repopulating /boot needs a re-install, hence running apt with --reinstall
.
$ chroot /mnt apt install --reinstall linux-image-6.10.7-mnt-reform-arm64
The commands update-initramfs -u
and flash-kernel
should’ve been run by the above but it doesn’t hurt to run them again just to make sure (they should be no-ops):
$ chroot /mnt update-initramfs -u
$ chroot /mnt flash-kernelj
Now that everything is updated, run reform-check
to make sure that all the problematic entries are gone:
$ chroot /mnt reform-check > reformcheck.txt 2>&1
Specifically, the really bad entries are:
E: your /boot has nothing mounted on it -- fix your /etc/fstab
E: /boot/boot.scr doesn't exist
E: no vmlinuz in /boot for the currently running kernel
E: no initrd.img in /boot for the currently running kernel
E: no dtb-* symlink for the currently running kernel
Good luck!