[U-Boot] FSL PowerPC platform: Not able to boot Linux with ramdisk size > 100MB

Masahiro Yamada yamada.masahiro at socionext.com
Fri Oct 28 17:54:07 CEST 2016


2016-10-29 0:32 GMT+09:00 york sun <york.sun at nxp.com>:
> On 10/27/2016 10:11 PM, Scott Wood wrote:
>> On 10/27/2016 04:27 AM, Prabhakar Kushwaha wrote:
>>> Hi Masahiro,
>>>
>>> I am not able to boot Linux onF PowerPC platform with ramdisk size > 100MB.
>>> I tried u-boot master with top commit as " 5ac5861c4ba851b473e6a24940b412b397627d8d ".
>>>
>>> I tried git-bisect and figured out below patch causing this problem. If I revert this patch, Linux boots properly.
>>>
>>> commit 20e072f37402c17741f67d9693eaabdd835b80f2
>>> Author: Masahiro Yamada <yamada.masahiro at socionext.com>
>>> Date:   Thu Dec 17 17:19:35 2015 +0900
>>>
>>>     image: check "bootm_low" and "bootm_size" if "initrd_high" is missing
>>>
>>>     To boot Linux, we should prevent Initramdisk and FDT from going too
>>>     high.
>>>
>>>     Currently, boot_relocate_fdt() checks "fdt_high" environment first,
>>>     and then falls back to getenv_bootm_mapsize() + getenv_bootm_low()
>>>     if "fdt_high" is missing.
>>>
>>>     On the other hand, boot_ramdisk_high() only checks "initrd_high" to
>>>     get the address limit for the Initramdisk.  We also want to let this
>>>     case fall back to getenv_bootm_mapsize() + getenv_bootm_low().
>>>
>>>     Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
>>>
>>> Please advise!!
>>
>> On PPC the initrd does not need to be loaded within the boot mapping.
>> This assumption of what the absence of initrd_high means is not
>> universally appropriate.  Why not just set initrd_high on the platforms
>> that need it?
>>
>
> Masahiro,
>
> If I read Scott correctly, he suggests to revert this patch and have the
> those platforms who need to set initrd_high to do so. I wonder how many
> of them exist. It makes sense to not restrict the loading if initrd_high
> is not set.
>
> York


I think this part is completely messed up.
Every developer (including me) expands or hacks it for his purpose
without deep insight.

I do not know why U-Boot relocates initrd and fdt
to the tail of memory region.

I want somebody to re-design it.




-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list