In flash vs compiled environment for omap, rasp-pi, socfpga

Sascha Hauer s.hauer at pengutronix.de
Thu Oct 22 00:31:22 PDT 2015


On Wed, Oct 21, 2015 at 11:54:23PM +0000, Trent Piepho wrote:
> On Wed, 2015-10-21 at 07:30 +0200, Sascha Hauer wrote:
> > > So why does loading the env from a FAT partition depend on
> > > DEFAULT_ENVIRONMENT?  It does in the omap and socfpga code, but in the
> > > rasp-pi code it doesn't.
> > 
> > It seems we just picked the wrong define to depend on. Maybe the ifdef
> > CONFIG_DEFAULT_ENVIRONMENT in the omap code should just be dropped.
> 
> I've changed socfpga to depend on the xloader option instead, so that
> the env loading function is not present in the xloader.  This seems to
> work and gives me a booting xloader and main barebox with the in-flash
> env.
> 
> > > If you turn it on, then you get the env in the FAT partition.  But you
> > > also get the env compiled into the barebox binary.  If there are large
> > > FPGA images stored in the env, this is very undesirable!
> > 
> > I do not really understand you here. Do you mean you compile the FPGA
> > images into the default environment so that they end up being part of
> > the barebox image, or do you mean you store the FPGA image in the
> > environment in the FAT partition?
> 
> The latter.  But turning on DEFAULT_ENVIRONMENT will also try to give
> you the former.  This may very well not be the best way to present fpga
> images to barebox to load, but it still seems like the flash env loading
> code is using the wrong config option.
> 
> 
> > I think the environment specific config options are in most cases either
> > all turned on or all turned off. Normally you want to have them turned
> > on, but in some cases like omap xloader there's no environment at all
> > and the options are all turned off. That could be the reason the
> > dependencies are a bit inconsistent, nobody really tries to enable half
> > of them. Anyway, patches welcome.
> 
> A survey of the defconfigs shows that 25 do not have
> DEFAULT_ENVIRONMENT.  Of these 14 are omap, socfpga, imx, or at91
> xloaders.  Of the remaining eleven, 5 have env commands enabled, 3 have
> selected the simple shell which turns on environment variables, and the
> remaining 3 get the HUSH shell by default which also has environment
> variables.

Environment variables and the thing called "the environment" are
different things and do not depend on each other. Environment variables
are the variables in the shell (var=10...), getenv/setenv and stuff.
This has nothing to do with the saveable files we are talking about
here. Having one enabled without the other is perfectly valid.

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 |



More information about the barebox mailing list