From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Tue, 2 Feb 2021 08:55:20 -0500 Subject: [QUESTION] Kernel 5.10 image might be too big to be loaded by U-Boot on RPi 4B In-Reply-To: References: Message-ID: <20210202135520.GE10169@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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: