Kernel updates do not touch the boot sector unless there’s a script that is attached to run after the kernel update or the SD card is failing. What OS are you using? You should always be able to restore the bootloader via libretech-flash-tool if it gets wiped by something else.
I can confirm that 6.12.41-gfe345274f0aa breaks the aml-s905x-cc. The issue isn’t the boot loader but the kernel itself and reflashing just the bootloader does not fix it. I booted the previous kernel via the Grub menu and it boots fine. 6.12.41-gfe345274f0aa results in “Invalid magic number”, same for 6.12.41-g2c40879474fe. Can we get these bad kernel updates removed from the repository and maybe an updated working one published? Currently stuck on 6.1.54-10001-gd517e36a604d as no others are in the repository anymore…
Can you provide a screenshot of the error with your phone? Also please provide the OS you are using. 6.1.54 is very old and our default images should be 6.1.74.
Thanks for the report. It might be that the grub version is too old to support the kernel compression method. We’ll move to gzip kernel. It should be fixed in a hour.
This should be fixed now. We switched back to gzip kernel instead of zstd. Some older versions of GRUB do not support newer faster compression methods.
Still getting the same error message. Grub is 2.06:
ubuntu@ubuntu-22:~$ sudo dpkg -l | grep grub
ii grub-common 2.06-2ubuntu7.2 arm64 GRand Unified Bootloader (common files)
ii grub-efi-arm64 2.06-2ubuntu14.8 arm64 GRand Unified Bootloader, version 2 (ARM64 UEFI version)
ii grub-efi-arm64-bin 2.06-2ubuntu14.8 arm64 GRand Unified Bootloader, version 2 (ARM64 UEFI modules)
ii grub-efi-arm64-signed 1.187.12+2.06-2ubuntu14.8 arm64 GRand Unified Bootloader, version 2 (EFI-ARM64 version, signed)
ii grub2-common 2.06-2ubuntu7.2 arm64 GRand Unified Bootloader (common files for version 2)
We disabled all compression from the kernel itself. Try the new one. Grub also needs grub-install in order to update as it doesn’t self update from really old version. The package might not be reflective of the version you have on your /boot.
Running “sudo apt update” only resulted in updates for linux-image-lc-lts-arm64 and linux-headers-lc-lts-arm64, and if I remove the previous 6.12.42-g557779751902-1, shows no updates:
ubuntu@ubuntu-22:~$ sudo apt update
Hit:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [128 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease [127 kB]
Hit:4 https://deb.libre.computer/repo linux InRelease
Get:5 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [129 kB]
Fetched 384 kB in 3s (153 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
2 packages can be upgraded. Run 'apt list --upgradable' to see them.
ubuntu@ubuntu-22:~$ sudo apt list --upgradable
Listing... Done
linux-headers-lc-lts-arm64/unknown 6.12.42-gb2db7e862032-1 arm64 [upgradable from: 6.12.42-g557779751902-1]
linux-image-lc-lts-arm64/unknown 6.12.42-gb2db7e862032-1 arm64 [upgradable from: 6.12.42-g557779751902-1]
ubuntu@ubuntu-22:~$ sudo apt purge linux-image-6.12.42-g557779751902 linux-image-lc-lts-arm64 linux-headers-6.12.42-g557779751902 linux-headers-lc-lts-arm64
...
Purging configuration files for linux-image-6.12.42-g557779751902 (6.12.42-g557779751902-1) ...
ubuntu@ubuntu-22:~$ sudo apt update
Hit:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
Hit:2 https://deb.libre.computer/repo linux InRelease
Hit:3 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease
Hit:4 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease
Hit:5 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
So once again, I manually downloaded and installed:
Got the same error and so booted the older kernel and tried those 2 commands and they threw errors and it still fails to boot on the new kernel:
ubuntu@ubuntu-22:~$ sudo btrfs property set /boot/* compression zlib
btrfs property set: too many arguments: 13 but at most 3 expected
ubuntu@ubuntu-22:~$ sudo btrfs filesystem defragment -r -c zlib /boot
ERROR: cannot open zlib: No such file or directory
total 1 failures
Thanks, quick test via manual install worked, decided to do a full test as well, so I did a fresh reload of the microSD card with Ubuntu Server 22.04.3.
Ran the signature fix and full updates:
I will add one of my systems that got the bad update before and I removed it, wasn’t showing the new version as installable, but manually installing worked for that one as well:
The cause is that the GRUB version from Ubuntu 22.04 is too old and does not detect the latest Linux image header properly. Ubuntu also did not backport the critical changes which is kind of stupid as other distros have done.
Thanks for the RCA. Is there a plan for 24.04 to be supported (I haven’t done a do-release-upgrade, so not sure if that would just work) or is it going to be skipped for 26.04?
There’s nothing that would prevent do-release-upgrade. Ubuntu is getting more and more away from Debian with snaps and such which makes supporting them more annoying. They are hyperfocused on getting paid for support for 3rd party BSPs instead of open source standards so we encourage people to use Debian and Fedora instead.