[U-Boot] [PATCH] Allow U-Boot scripts to be placed in a .env file

Simon Glass sjg at chromium.org
Tue Apr 23 23:32:00 CEST 2013


Hi Wolfgang,

On Tue, Apr 16, 2013 at 10:44 PM, Wolfgang Denk <wd at denx.de> wrote:
> Dear Simon Glass,
>
> In message <1366155414-6525-1-git-send-email-sjg at chromium.org> you wrote:
>> At present U-Boot environment variables, and thus scripts, are defined
>> by CONFIG_EXTRA_ENV_SETTINGS. It is painful to add large amounts of text
>> to this file and dealing with quoting and newlines is harder than it
>> should be. It would be better if we could just type the script into a
>> text file and have it included by U-Boot.
>>
>> Add a feature that brings in a .env file associated with the board
>> config, if present. To use it, create a file in include/configs
>> with the same name as you could board config file, except with a
>> .env extension instead of a .h extension. The variables should be
>> separated by \0. Comments are permitted, using # as the first character
>> in a line.
>
> Please do not litter the include/configs/ directory with such stuff.
> It's more than big enough already.  Please put such files into the
> respective board directories.

OK.

>
> And if you do something like this, then please go the way to the end.
> Forget about the \0 termination, make it a plain text file instead,
> something that can be used with "env import -t" as well (or created
> with "env export -t").

I'm not sure how to do this. Doesn't this mean that we cannot add
multi-line scripts to the environment? That was part of my aim. But if
I put a 0x0a in the script then it will think we are starting a new
variable.

Perhaps we should automatically convert newline into semicolon? I
suspect that might work for most cases. But then exporting the text
file will not get the same thing as was imported.

I suppose I could use 0x0d as the line separator - it should be easy
enough to transparently convert this to and from 0x0a in 'env export
-t'.

Regards,
Simon

>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> Many companies that have made themselves dependent on [the  equipment
> of  a  certain  major  manufacturer] (and in doing so have sold their
> soul to the devil) will collapse under the sheer weight  of  the  un-
> mastered complexity of their data processing systems.
>           -- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5


More information about the U-Boot mailing list