
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@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@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@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@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