Open LordMZTE opened 5 months ago
Reworded the title to show that (1) it's device-specific and (2) a limitation within U-Boot...
... and it is a limitation we were already having to work around.
I'm experiencing the same error ("ERROR: RD image overlaps OS image") on boot with my Pine64 RockPro64 running linuxPackages_6_6
on nixos-unstable, and Tow Boot .
It manifested itself as u-boot falling back to an old boot entry, so it took me a while to notice it (on reboots, I would boot into older generations).
I found a NanoPI4S user, also a NixOS user, that has the same boot error: https://github.com/friendlyarm/uboot-rockchip/pull/11
What are our options?
When I have time, I'll work on figuring out which NixOS commit resulted in a larger kernel.
When I have time, I'll work on figuring out which NixOS commit resulted in a larger kernel.
Brief findings so far:
$ cd /boot/nixos
$ ls -lh *Image
-rwxr-xr-x 1 root root 67M Apr 28 10:37 imgi3sal09fsdrqch0s3pfxsp85slr8z-linux-aarch64-unknown-linux-gnu-6.6.28-Image
-rwxr-xr-x 1 root root 62M Feb 16 08:38 wbz58n20ywjg3xqxj25j57mp51vqmnfs-linux-aarch64-unknown-linux-gnu-6.6.16-Image
I apply a local kernel patch (for reliable PCIe booting), so you won't file those exact files in Hydra.
I reproduced this as well on my pinebook pro after upgrading from 23.11 to 24.05
For RK3399 devices such as RockPro64 and Pinebook Pro, per https://github.com/Tow-Boot/U-Boot/pull/3 , https://github.com/Tow-Boot/Tow-Boot/pull/280 and https://github.com/Tow-Boot/Tow-Boot/releases/tag/release-2023.07-007 , this looks to have been fixed in Tow-Boot 2023.07-007.
Thanks to @samueldr and @artemist for fixing this!
I'll leave this open, since the issue still (?) impacts Raspberry Pi.
Describe the bug
The U-Boot bootloader NixOS ships with on aarch64 SD card images limits kernel size to 71827456 bytes (68.5 MiB) as per this patch. This limit is very easy to hit.
Steps To Reproduce
Steps to reproduce the behavior:
boot.kernelPatches = [{ name = "enable-gpio-poweroff"; patch = null; extraStructuredConfig.POWER_RESET_GPIO = lib.kernel.yes; }];