[U-Boot] arm: socfpga: unable to boot cyclone5 devkit or SocKit

Alexander Graf agraf at suse.de
Thu Apr 12 09:42:08 UTC 2018


On 04/12/2018 11:17 AM, Marek Vasut wrote:
> On 04/12/2018 11:15 AM, Alexander Graf wrote:
>>
>>> Am 12.04.2018 um 10:37 schrieb Marek Vasut <marex at denx.de>:
>>>
>>>> On 04/12/2018 10:01 AM, Alexander Graf wrote:
>>>>
>>>>
>>>>> On 11.04.18 16:43, Dinh Nguyen wrote:
>>>>>> On Wed, Apr 11, 2018 at 7:55 AM, Alexander Graf <agraf at suse.de> wrote:
>>>>>>> On 04/11/2018 02:37 PM, Marek Vasut wrote:
>>>>>>>
>>>>>>>> On 04/11/2018 02:26 PM, Tom Rini wrote:
>>>>>>>>
>>>>>>>>> On Wed, Apr 11, 2018 at 10:12:42AM +0200, Marek Vasut wrote:
>>>>>>>>>
>>>>>>>>> On 04/11/2018 04:52 AM, Dinh Nguyen wrote:
>>>>>>>>> [...]
>>>>>>>>>
>>>>>>>>>>>>> u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la
>>>>>>>>>>>>> spl/u-boot-spl.bin
>>>>>>>>>>>>> HEAD is now at f3dd87e0b9 Prepare v2018.01
>>>>>>>>>>>>> -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin
>>>>>>>>>>>>>
>>>>>>>>>>>>> u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la
>>>>>>>>>>>>> spl/u-boot-spl.bin
>>>>>>>>>>>>> HEAD is now at f95ab1fb6e Prepare v2018.03
>>>>>>>>>>>>> -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin
>>>>>>>>>>>>>
>>>>>>>>>>>>> Try bisecting out the commit which caused this 7 kiB growth between
>>>>>>>>>>>>> 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it
>>>>>>>>>>>>> was
>>>>>>>>>>>>> at 53 kiB for a while (2017.05 is also ~53 kiB)
>>>>>>>> Do you have a size constraint and are not setting the correct CONFIG
>>>>>>>> options so that it becomes a build failure?
>>>>>>>>
>>>>>>>>>>>> Doing the bisect points me to this commit:
>>>>>>>>>>>>
>>>>>>>>>>>> commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2
>>>>>>>>>>>> Author: Tom Rini <trini at konsulko.com>
>>>>>>>>>>>> Date:   Sat Feb 10 16:54:38 2018 -0500
>>>>>>>>>>>>
>>>>>>>>>>>>      configs: Re-sync with CONFIG_DISTRO_DEFAULTS
>>>>>>>>>>>>
>>>>>>>>>>>>      A number of platforms include config_distro_defaults.h but do
>>>>>>>>>>>> not enable
>>>>>>>>>>>>      CONFIG_DISTRO_DEFAULTS.  As they plainly intended to, set that
>>>>>>>>>>>> flag and
>>>>>>>>>>>>      re-sync config files.
>>>>>>>>>>>>
>>>>>>>>>>>>      Signed-off-by: Tom Rini <trini at konsulko.com>
>>>>>>>>>>>>
>>>>>>>>>>>> Doing a revert of the above commit shrinks the SPL back down to ~7
>>>>>>>>>>>> kiB.
>>>>>>>>>>>>
>>>>>>>>>>>> Dinh
>>>>>>>>>>>>
>>>>>>>>>>> It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these
>>>>>>>>>>> configs:
>>>>>>>>>>>
>>>>>>>>>>> CONFIG_ISO_PARTITION=y
>>>>>>>>>>> CONFIG_SPL_ISO_PARTITION=y
>>>>>>>>>>> # CONFIG_AMIGA_PARTITION is not set
>>>>>>>>>>> # CONFIG_SPL_AMIGA_PARTITION is not set
>>>>>>>>>>> CONFIG_EFI_PARTITION=y
>>>>>>>>>>> CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128
>>>>>>>>>>> CONFIG_EFI_PARTITION_ENTRIES_OFF=0
>>>>>>>>>>> CONFIG_SPL_EFI_PARTITION=y
>>>>>>>>>>> CONFIG_PARTITION_UUIDS=y
>>>>>>>>>>> CONFIG_SPL_PARTITION_UUIDS=y
>>>>>>>>>>> # CONFIG_PARTITION_TYPE_GUID is not set
>>>>>>>>>>>
>>>>>>>>>>> Which is contributing to the SPL growth.
>>>>>>>>>>>
>>>>>>>>>> Turning the following config options off subtracts 7k from the SPL:
>>>>>>>>>>
>>>>>>>>>> +# CONFIG_SPL_ISO_PARTITION is not set
>>>>>>>>>> +# CONFIG_SPL_EFI_PARTITION is not set
>>>>>>>>>>
>>>>>>>>>> Not sure if these are needed?
>>>>>>>>> IMO not on SoCFPGA. Also CCing Tom.
>>>>>>>> Yes, all of those options are part of CONFIG_DISTRO_DEFAULTS and are
>>>>>>>> needed so that booting from various distro media works.
>>>>>>> In SPL on boards which usually boot from SDMMC or QSPI NOR ? How is EFI
>>>>>>> or ISO partition needed there ?
>>>>>>
>>>>>>
>>>>>> I don't think ISO partitioning is needed in SPL. However, for GPT I'm not
>>>>>> 100% sure. People tend to go with GPT more often than not these days - and
>>>>>> to be able to fetch U-Boot proper from a GPT partition may make sense.
>>>>>>
>>>>>> How much reduction do you get when you only disable
>>>>>> CONFIG_SPL_ISO_PARTITION?
>>>>>>
>>>>> ~3 kiB
>>>> Ok, so that's not enough to get us back to reasonable space, but it's at
>>>> least a step in the right direction. I sent a patch to disable
>>>> CONFIG_SPL_ISO_PARTITION for everyone by default ;).
>>>>
>>>> If we remove all printfs from part_efi.c we could for example gain
>>>> another 1.5kb. But I'm not sure that's worth it - and if feels like
>>>> we're shaving on the wrong end at this point.
>>>>
>>>> Is there any other big chunk in there that wastes space?
>>> The entire EFI support, which is never used on SoCFPGA to my knowledge,
>>> esp. in SPL .
>> None of it is enabled in SPL :). The „efi partition“ option is a misnomer - it really just enables GPT partition table support which are widely in use with Android for example.
> I suspect we can disable that, since SoCFPGA boots from this a2
> partition type on MBR only (bootrom limitation).


That's a very good point. If the bootrom does not support GPT, there is 
basically no point in enabling it in SPL, I agree.

Alex



More information about the U-Boot mailing list