Upgrade Debian 12 -> Debian 13 partial failure (kernel 6.12+ won't boot)

Hi,

I just upgraded system on my lx2k. Was suspecting problems. And while the system upgrade went fine. It wont boot on newer kernels.

Stock kernel on Deb12 6.1.0-37-arm64 (Debian 12.11) with iommu workaround is still ok (I am so glad I didnt remove it. Now apt-mark hold on that kernel)

But standard kernel from Deb13 which is 6.12.38+deb13-arm64 wont boot at all.

Failing silently with no output nor error message.

Are there any plans for upstream support? Thats a pity that stable version wont boot on that great board of lx2k.

So after all I will use older kernel for now on newer system. But hey. It cannot be like that forever? Right?

Edit: Normally I would expect better support in newer version not regression. Did the required quirks change? Anybody tried 6.12+?

Just did the Trixie upgrade myself, got the same issue. The system is supposedly failing to load a ramdisk.

[e]diting the grub record and removing “arm-smmu.disable_bypass=0 iommu.passthrough=1” (ore removing it from /etc/default/grub) had no effect.

As I am still using a firmware sd card flashed in 2021, I’m guessing it is time to update.

EDIT: Yeah that did nothing noticable

I removed the linux-image-6.12.43+deb13-arm64 and linux-image meta package to stop the upgrade attempts for now,

linux-image-6.1.0-39-arm64 still works. as annoying as it is to be forced to install Debian 12 before updating to 13.

Uefi images are build automatically but there were no changes for 4 years already:

I planned to try newer submodule of EKD2 and see if it builds.

Edit: Yup it did build. And even booted:

GitHub - AreYouLoco/lx2160a_uefi: Parent build repository for generating UEFI firmware for the LX2160a here is my fork. The only changes are switch to upstream 2025 EDK2 vs forked EDK2 in 2021 by SolidRun and usage of newer Debian release as build image. The rest is same. You may give it a go. But I guess this wont resolve newer kernel not booting. But at least some 4 years of development of EDK2 included.

Edit2:

Also did painful rebase.

Arm-trusted-firmware bumped from v2.5-lx2160acex7 to v2.13.0 all boots no issues observed. Contains also previous link changes.

Ok I did some upgrades of UEFI. And it allowed me to boot into 6.12.43+deb13-arm64.

Will post dmesg output as there are new errors and how I did that. But at least it booted.

dmesg_6.12.txt (56.7 KB)

User-space stuff from dmesg skipped

@sudrien Could you please try with this combination of kernel parameters:

GRUB_CMDLINE_LINUX="arm-smmu.disable_bypass=0 iommu.passthrough=1 iommu=force clocksource=arch_sys_counter numa=off efi=runtime threadirqs"

To be sure if its iommu=force to add that or my version bumps because I tried without and it didn’t boot without iommu.passthrough or the other quirk → kernel exceptions.

So the only issues I got so far from log *:

[Tue Sep  9 15:51:38 2025] cma: __cma_alloc: reserved: alloc failed, req-size: 4 pages, ret: -12
[Tue Sep  9 15:51:38 2025] cma: number of available pages: => 0 free of 16384 total pages
[Tue Sep  9 15:51:38 2025] cma: __cma_alloc: reserved: alloc failed, req-size: 16 pages, ret: -12
[Tue Sep  9 15:51:38 2025] cma: number of available pages: => 0 free of 16384 total pages
[Tue Sep  9 15:51:38 2025] cma: __cma_alloc: reserved: alloc failed, req-size: 4 pages, ret: -12
[Tue Sep  9 15:51:38 2025] cma: number of available pages: => 0 free of 16384 total pages
[Tue Sep  9 15:51:38 2025] cma: __cma_alloc: reserved: alloc failed, req-size: 16 pages, ret: -12
[Tue Sep  9 15:51:38 2025] cma: number of available pages: => 0 free of 16384 total pages
[Tue Sep  9 15:51:38 2025] cma: __cma_alloc: reserved: alloc failed, req-size: 4 pages, ret: -12
[Tue Sep  9 15:51:39 2025] cma: number of available pages: => 0 free of 16384 total pages
[Tue Sep  9 15:51:39 2025] cma: __cma_alloc: reserved: alloc failed, req-size: 16 pages, ret: -12
[Tue Sep  9 15:51:39 2025] cma: number of available pages: => 0 free of 16384 total pages
[Tue Sep  9 15:51:39 2025] cma: __cma_alloc: reserved: alloc failed, req-size: 4 pages, ret: -12
[Tue Sep  9 15:51:39 2025] cma: number of available pages: => 0 free of 16384 total pages
[Tue Sep  9 15:51:39 2025] cma: __cma_alloc: reserved: alloc failed, req-size: 16 pages, ret: -12
[Tue Sep  9 15:51:39 2025] cma: number of available pages: => 0 free of 16384 total pages
[Tue Sep  9 15:51:39 2025] cma: __cma_alloc: reserved: alloc failed, req-size: 4 pages, ret: -12
[Tue Sep  9 15:51:39 2025] cma: number of available pages: => 0 free of 16384 total pages
[Tue Sep  9 15:51:39 2025] cma: __cma_alloc: reserved: alloc failed, req-size: 16 pages, ret: -12
[Tue Sep  9 15:51:39 2025] cma: number of available pages: => 0 free of 16384 total pages

Possible solution already there:

*but this could be to changes to UEFI I made. @sudrien Could you verify on your system if it’s there as well?

Because I am not sure what helped at the end. iommu=force First to try if it’s enough.

Apologies for the slow response, this full list got me a boot with 6.12.48+deb13-arm64

”arm-smmu.disable_bypass=0 iommu.passthrough=1 iommu=force” did not work.

I would say it’s words that actually do not mean anything “not stable”:sweat_smile: I tried rebooting many times to new kernel in a row and sometimes it will simply not load initramfs even with that new set of parameters. So kind of lottery at the end.

Looks like some timing somewhere

Edit:

From cold boot I was unable to boot straight into 6.12+ but when I boot 6.1 and then soft reboot into 6.12 it works.

@sudrien whats your experience?