Antwort: Re: v2013.02.0 phyCORE-OMAP4 MLO to big

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Thu Mar 7 06:19:16 EST 2013


On 09:18 Thu 07 Mar     , Sascha Hauer wrote:
> Hi Jürgen,
> 
> On Tue, Mar 05, 2013 at 02:30:22PM +0100, Jürgen wrote:
> > On 11.02.2013 Sascha Hauer wrote:
> > >On Fri, Feb 08, 2013 at 04:22:09PM +0100, Jan Weitzel wrote:
> > >>Hi,
> > >>with the release v2013.02.0 the MLO gets so bit, that it eats the boot
> > >>information in the SRAM.
> > >>
> > >>nm --size-sort
> > >>
> > >>...
> > >>00000630 D nand_flash_ids
> > >>000008c0 t mci_probe
> > >>00000c00 b gpio_desc
> > >>00001400 b files
> > >>
> > >>If I remove  GPIOLIB from MLO it work again. Maybe setting MAX_FILES
> > >>down or find a dynamic way for the big arrays is a better solution.
> > >>Any Ideas?
> > >Could you link the MLO to SDRAM instead?
> > Hi Sascha, we have tried as you suggested and it doesn't work
> > without changes...
> > 
> > We found two things:
> > 
> > 1.) There is early code which is not relocatable.
> > 
> > We solved this by adding -fPIC to the CPPFLAGS.
> > But I think, this is also solved with your patch
> > http://lists.infradead.org/pipermail/barebox/2013-March/013366.html
> 
> This won't help you directly. What you could do with this is:
> - generate a compressed image using PBL support
> - The PBL is loaded to SRAM by the ROM, relocated to the current
>   address in SRAM
> - extracts the binary to SDRAM
> - continues executing in SDRAM.
this is what we do for the bootstrap on at91

so the pbl setup the sdram and decompress it in sdram and jump in it

also try the patch I send to switch the xloader to the generic bootstrap
this decrease the size of the binary
> 
> Thinking about it it should work.
> 
> The other thing you could do is making the bss segment smaller.
> 
> For ARM we initialize the malloc space before the initcalls are
> starting which means that malloc can be used in every initcall.
> This in turn means that we can allocate the files array and the
> gpio_desc array dynamically.
> You would have to move the malloc initialization from initcalls
> to early init for the other architectures though to make this
> work.
> 
> Sascha
> 
> -- 
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox



More information about the barebox mailing list