RPi4: linux-aarch64 7.2.4-1 Image too large for U-Boot

Discussion about U-Boot and the kernel.

RPi4: linux-aarch64 7.2.4-1 Image too large for U-Boot

Postby mib1982 » Thu Sep 10, 2026 5:54 pm

After updating linux-aarch64 from 7.2.3-2 to 7.2.4-1 my Pi 4B stopped booting.

Setup: uboot-raspberrypi 2025.01-1 with the unmodified boot.txt/boot.scr from the package, booting from SSD.

U-Boot fails with:

Moving Image from 0x80000 to 0x200000, end=0x3320000
ERROR: RD image overlaps OS image (OS=200000..3320000)
Boot failed (err=-14)

and then falls back to network boot.

The stock boot.txt doesn't set fdt_addr_r or ramdisk_addr_r, so U-Boot's built-in defaults apply. Running strings on kernel8.img shows:

kernel_addr_r=0x00080000
fdt_addr_r=0x03000000
ramdisk_addr_r=0x03100000

booti moves the kernel to 0x200000 and reserves its full size in memory, including BSS. With 7.2.4-1 that ends at 0x3320000, past both fdt_addr_r and ramdisk_addr_r, so booti refuses to boot. The 7.2.4-1 Image is 50,678,272 bytes, the 7.2.3-2 one was 44,509,696 bytes and still fit. The defaults only leave about 46 MiB between 0x200000 and fdt_addr_r.

Debian had the same problem on the RPi 3B+ in 2023, see Debian bug #1033301.

Workaround: set the addresses further out in boot.txt, before the load commands, and rerun mkscr:

setenv fdt_addr_r 0x08000000
setenv ramdisk_addr_r 0x0a000000

With that, 7.2.4-1 boots again.

Should the defaults or the shipped boot.txt move these further out? Anyone on the stock boot.txt should already be hitting this with 7.2.4-1.
mib1982
 
Posts: 3
Joined: Wed Apr 16, 2025 8:11 am

Return to U-Boot/Kernel

Who is online

Users browsing this forum: No registered users and 60 guests

cron