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

Tom Rini trini at konsulko.com
Tue Feb 2 14:55:20 CET 2021


On Tue, Feb 02, 2021 at 09:28:20AM +0100, Matthias Brugger wrote:
> On Thu, Jan 28, 2021 at 04:54:03PM +0800, Jian-Hong Pan wrote:
> > 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].
> 
> If I did the math right, we should have a lot of space left. 
> You could try to bump up fdt_addr_r=0x02900000 and
> ramdisk_addr_r=0x02A00000 and see what happens.

The environment section in include/configs/rpi.h needs to be updated.
You cannot disable device tree relocation by default as that leads to
problems.  You need to set bootm_size to something that will cover all
of the valid lowmem area the device tree and initrd can reside in.
Please see include/configs/ti_armv7_common.h which is based on what the
kernel documents as minimum / maximum values / locations.  Thanks.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210202/07b79087/attachment.sig>


More information about the U-Boot mailing list