[QUESTION] Kernel 5.10 image might be too big to be loaded by U-Boot on RPi 4B

Jaehoon Chung jh80.chung at samsung.com
Mon Feb 1 10:58:39 CET 2021


Hi Jain-Hong

On 1/28/21 5:54 PM, Jian-Hong Pan wrote:
> Hi,
> 
> We have tried to boot the Ubuntu kernel 5.10 [1] (arm64) with U-Boot
> 2020.10 on RPi 4B.  That includes the source code and build config.
> The kernel's build config enables not only Broadcom chips, but also many
> other platforms: Amlogic, MediaTek, Realtek, Rockchip ... by default.
> 
> Here is the output from U-Boot:
> 
> U-Boot 2020.10 (Jan 26 2021 - 15:28:45 +0800)
> 
> DRAM:  3.9 GiB
> RPI 4 Model B (0xc03111)
> MMC:   mmcnr at 7e300000: 1, emmc2 at 7e340000: 0
> Loading Environment from FAT... *** Warning - bad CRC, using default
> environment
> 
> In:    serial
> Out:   vidconsole
> Err:   vidconsole
> Net:   eth0: genet at 7d580000
> Hit any key to stop autoboot:  0
> switch to partitions #0, OK
> mmc0 is current device
> Scanning mmc 0:2...
> Found U-Boot script /boot/boot.scr
> 1847 bytes read in 19 ms (94.7 KiB/s)
> ## Executing script at 02400000
> Load u-Boot environment ... from mmc 0:2
> 622 bytes read in 24 ms (24.4 KiB/s)
> Load device tree ...
> 25693 bytes read in 30 ms (835.9 KiB/s)
> fdt_addr_r @  0x02600000 , size= 645d
> Load kernel and unzip it ...
> 13013555 bytes read in 574 ms (21.6 MiB/s)
> Uncompressed size: 38742528 = 0x24F2A00
> kernel_addr_r @  0x00080000 , size= 24f2a00
> Load RAM disk ...
> 54360540 bytes read in 2298 ms (22.6 MiB/s)
> ramdisk_addr_r @  0x02700000 , size= 33d79dc
> Boot ...
> Moving Image from 0x80000 to 0x200000, end=2820000
> ERROR: RD image overlaps OS image (OS=0x200000..0x2820000)
> SCRIPT FAILED: continuing...
> Card did not respond to voltage select!
> genet at 7d580000 Waiting for PHY auto negotiation to complete........
> 
> It shows error: "RD image overlaps OS image (OS=0x200000..0x2820000)"
> 
> So, I calculated the memory address and space:
> 
> 0x200000 (kernel start address) + 0x24F2A00 (kernel size) = 0x26F2A00 <
> 2820000 (kernel end), but > 0x2700000 (ramdisk start address) & > 0x2600000
> (FDT start address)
> 
> The kernel image size 0x24F2A00 bytes is too fat to sit in the memory space
> prepared by U-Boot and overlaps ramdisk and FDT's memory spaces.
> It is more than 36.9MB, which is over 36MB mentioned in U-Boot's comment
> [2].
> 
> We understand this can be fixed by a workaround like tuning/reducing the
> kernel's build config.  However, is it possible to have another way to
> resolve this problem?

In my case, changed the kernel loading address in my boot script.

https://git.tizen.org/cgit/platform/kernel/u-boot/tree/tizen/bootscript/tizen-boot-rpi4.scr?h=tizen#n55

Best Regards,
Jaehoon Chung

> 
> [1]
> https://kernel.ubuntu.com/git/ubuntu/unstable.git/tree/?h=Ubuntu-5.10-5.10.0-10.11
> [2]
> https://protect2.fireeye.com/v1/url?k=48d47af8-174f43e2-48d5f1b7-000babff24ad-9a667a07fd484367&q=1&e=2f353007-95b3-4ee5-9b9f-acbac9af78f8&u=https%3A%2F%2Fgithub.com%2Fu-boot%2Fu-boot%2Fblob%2Fv2021.01%2Finclude%2Fconfigs%2Frpi.h%23L140
> 
> Jain-Hong Pan
> 



More information about the U-Boot mailing list