07-25-2024, 08:41 AM
It's possible to temporarily restore boot by booting Linux from a MicroSD, which even at 6.1.0-23 boots fine, by mounting the /boot partition from the eMMC and restoring the boot script that loaded 6.1.0-22.
Use `lsblk` to find the emmc device name, which was mmcblk1 for me. Partition 4 is /boot the way I have it set up, so to mount the eMMC's /boot partition on /mnt:
mount /dev/mmcblk1p4 /mnt
Verify that the older boot.scr.bak references 6.1.0-22 by looking for a line like: setenv fk_kvers '6.1.0-22-arm64'. The broken version would have: setenv fk_kvers '6.1.0-23-arm64':
cat /mnt/boot.scr.bak
Back up the broken boot.scr:
cp /mnt/boot.scr /mnt/boot.scr.broken
Copy the older boot.scr over the newer, broken one:
cp /mnt/boot.scr.bak /mnt/boot.scr
Power off the Rock64 `poweroff`, remove the MicroSD and boot into the eMMC and it boots up.
Unfortunately, at the next apt upgrade or unattended-upgrades run, flash-kernel will run and regenerate the boot.scr and it will again point at the latest -23 kernel which will cause it to halt at boot again, so this is very much a temporary patch until a fix is developed and released.
A bug should be submitted to Debian's bug tracker, but I can't look at this again until next week, so if someone else wants to run with this, please do!
Use `lsblk` to find the emmc device name, which was mmcblk1 for me. Partition 4 is /boot the way I have it set up, so to mount the eMMC's /boot partition on /mnt:
mount /dev/mmcblk1p4 /mnt
Verify that the older boot.scr.bak references 6.1.0-22 by looking for a line like: setenv fk_kvers '6.1.0-22-arm64'. The broken version would have: setenv fk_kvers '6.1.0-23-arm64':
cat /mnt/boot.scr.bak
Back up the broken boot.scr:
cp /mnt/boot.scr /mnt/boot.scr.broken
Copy the older boot.scr over the newer, broken one:
cp /mnt/boot.scr.bak /mnt/boot.scr
Power off the Rock64 `poweroff`, remove the MicroSD and boot into the eMMC and it boots up.
Unfortunately, at the next apt upgrade or unattended-upgrades run, flash-kernel will run and regenerate the boot.scr and it will again point at the latest -23 kernel which will cause it to halt at boot again, so this is very much a temporary patch until a fix is developed and released.
A bug should be submitted to Debian's bug tracker, but I can't look at this again until next week, so if someone else wants to run with this, please do!