[PATCH v3 2/5] rpi: Set bootm_size to 512MB

Simon Glass sjg at chromium.org
Wed Dec 11 18:26:02 CET 2024


Hi Peter,

On Wed, 11 Dec 2024 at 09:27, Peter Robinson <pbrobinson at gmail.com> wrote:
>
>
>
> On Mon, 9 Dec 2024 at 19:55, Simon Glass <sjg at chromium.org> wrote:
>>
>> Set this option so that all boot images stay within the bottom 512MB of
>> memory. This should allow us to drop the fdt_high and initrd_high
>> options.
>
>
> How does this work for a device with < 256Mb of RAM? There's a number of the original RPi series that have 256Mb of RAM and that equates to less than that due to reservations for the vendor firmware.

Looking at boot_relocate_fdt(), this is just a maximum, and lmb is
used to allocate the FDT / cmdline. So this patch shouldn't affect
that.

But the later patch to move the ramdisk up will cause problems. Based
on the comment, a 256MB (I assume you mean) device can have as little
as 64MB of RAM available to the ARM core, which is not enough to load
a ramdisk from the new start-address of about 90MB.

I found an old rpi1 which I could hook up to my lab, perhaps. Could
you point me to a distro-image that boots OK on that, ideally with
only 64MB available?

>
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> Reviewed-by: Tom Rini <trini at konsulko.com>
>> Suggested-by: Tom Rini <trini at konsulko.com>
>> ---
>>
>> Changes in v3:
>> - Add to the existing comment block
>>
>> Changes in v2:
>> - Add new patch to set bootm_size
>>
>>  board/raspberrypi/rpi/rpi.env | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/board/raspberrypi/rpi/rpi.env b/board/raspberrypi/rpi/rpi.env
>> index 30228285edd..a327fccc77f 100644
>> --- a/board/raspberrypi/rpi/rpi.env
>> +++ b/board/raspberrypi/rpi/rpi.env
>> @@ -60,7 +60,12 @@ dfu_alt_info+=zImage fat 0 1
>>   * Even with the smallest possible CPU-GPU memory split of the CPU getting
>>   * only 64M, the remaining 25M starting at 0x02700000 should allow quite
>>   * large initrds before they start colliding with U-Boot.
>> + *
>> + * Limit bootm_size to 512MB so that all boot images stay within the bottom
>> + * 512MB of memory
>>   */
>> +bootm_size=0x20000000
>> +
>>  #ifdef CONFIG_ARM64
>>  fdt_high=ffffffffffffffff
>>  initrd_high=ffffffffffffffff
>> --
>> 2.34.1
>>


More information about the U-Boot mailing list