All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Subject: [QUESTION] Kernel 5.10 image might be too big to be loaded by U-Boot on RPi 4B
Date: Tue, 2 Feb 2021 08:55:20 -0500	[thread overview]
Message-ID: <20210202135520.GE10169@bill-the-cat> (raw)
In-Reply-To: <YBkNJF7stHUkBiC2@ziggy.stardust>

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>

      reply	other threads:[~2021-02-02 13:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20210128130722epcas1p1eb5224bc245f27530394b7a4cd7c9876@epcas1p1.samsung.com>
2021-01-28  8:54 ` [QUESTION] Kernel 5.10 image might be too big to be loaded by U-Boot on RPi 4B Jian-Hong Pan
2021-02-01  9:58   ` Jaehoon Chung
2021-02-02  8:28   ` Matthias Brugger
2021-02-02 13:55     ` Tom Rini [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210202135520.GE10169@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.