Jump to content

Recommended Posts

Posted (edited)

I have recently accepted the 23.11.1 armbain kernel release on my RockPro 64

 

The update has not rebuilt or updated the uIntrd for the 6.1.63 kernel. Note that the /boot/uInitrd symlink still points to the old uInitrd version but the other two symlinks have updated.

 

root@jupiter:~# ls -l /boot/dtb /boot/Image /boot/uInitrd
lrwxrwxrwx 1 root root 29 Dec  2 20:38 /boot/dtb -> dtb-6.1.63-current-rockchip64
lrwxrwxrwx 1 root root 33 Dec  2 20:38 /boot/Image -> vmlinuz-6.1.63-current-rockchip64
lrwxrwxrwx 1 root root 33 Nov 30 18:04 /boot/uInitrd -> uInitrd-6.1.50-current-rockchip64
root@jupiter:~# ls -l /boot/uInitrd*
lrwxrwxrwx 1 root root       33 Nov 30 18:04 /boot/uInitrd -> uInitrd-6.1.50-current-rockchip64
-rw-r--r-- 1 root root 17777215 Jul 22 21:07 /boot/uInitrd-5.15.93-rockchip64
-rw-r--r-- 1 root root 17560966 Nov 30 12:06 /boot/uInitrd-6.1.50-current-rockchip64

 

The first time after the update I did not notice before rebooting, and the box failed to boot properly. I got to a rescue console and was able to restore the three 6.1.50 kernel files from a backup, and restore the symlinks.

 

I tried running:

 

apt reinstall armbian-config armbian-firmware linux-dtb-current-rockchip64 linux-image-current-rockchip64 linux-u-boot-rockpro64-current base-files

 

But this did not fix the problem. Google is not helping me find the command to create the 6.1.63 uInitrd file by hand.

 

I have also tried installing the 6.1.64 kernel from beta.armbian.com but that had the same issue.

 

Currently my device is running 6.1.50-current-rockchip64 but the 6.1.64-current-rockchip64 kernel is installed and I suspect that there are inconsistencies in how things are setup. For example wireguard is not working correctly.

 

How can I restore my device back to a stable working state?

 

Edited by David Pottage
Posted

I was able to restore my system to a working state, by downgrading to the old kernel versions.

 

I think that there is probably a bug or missing command in the postinst scripts for newer armbain kernels.

 

For anyone landing here via an internet search in future, the steps where:

  • Find the upgrade command that installed the bad kernel.
    • zless /var/log/apt/history.log.1.gz
    • eg: Upgrade: armbian-config:arm64 (23.8.3, 23.11.1), linux-u-boot-rockpro64-current:arm64 (23.8.1, 23.11.1), linux-dtb-current-rockchip64:arm64 (23.8.1, 23.11.1), linux-image-current-rockchip64:arm64 (23.8.1, 23.11.1), armbian-firmware:arm64 (23.8.3, 23.11.1)
    • Note that it shows both the old and new versions.
  • Removed the beta apt source
    • nano apt/sources.list.d/armbian.list
  • Used apt to downgrade the offending packages using <name>=<version> syntax
    • eg: apt install armbian-config=23.8.3 linux-u-boot-rockpro64-current=23.8.1 linux-dtb-current-rockchip64=23.8.1 linux-image-current-rockchip64=23.8.1 armbian-firmware=23.8.3
  • Checked that symlinks in /boot are consistent.
    • ls -l /boot/
    • In my case dtb, Image and uInitrd all pointed to 6.1.50 versions
  • Crossed fingers, rebooted.

The other thing that made it possible to resolve this was a serial console adaptor. Without one it would have been very much harder to find the problem in the first place.

 

 

  • Igor pinned this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines