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.
