how does barebox deal with more than one environment?

Antony Pavlov antonynpavlov at gmail.com
Sat Dec 1 08:46:45 EST 2012


On 1 December 2012 17:19, Robert P. J. Day <rpjday at crashcourse.ca> wrote:
> On Sat, 1 Dec 2012, Robert P. J. Day wrote:
>
>>
>>   writing up a simple barebox exercise for students and on this page:
>>
>> http://wiki.barebox.org/doku.php?id=user:first_steps
>>
>> it seems clear(?) that you can define multiple environments that will
>> appear at /dev/env0, /dev/env1, etc, but that page also claims that
>> *only* the configuration on /dev/env0 will be executed automatically
>> if barebox finds that it's a valid configuration sector.
>>
>>   so what happens with the additional environments?  that page doesn't
>> make it clear.  i'm just about to read the source to see if i can
>> figure this out.
>
>   oh, wait, i think i see ... the "loadenv" command will load a given
> environment into a directory so i'm *assuming* that additional
> environments are simply available to be loaded, but /dev/env0 is the
> only one treated special.  or feel free to correct me if i'm
> hopelessly wrong.

See common/startup.c:110

#ifdef CONFIG_ENV_HANDLING
        if (envfs_load(default_environment_path, "/env")) {
#ifdef CONFIG_DEFAULT_ENVIRONMENT
                printf("no valid environment found on %s. "
                        "Using default environment\n",
                        default_environment_path);
                envfs_load("/dev/defaultenv", "/env");
#endif

By default  default_environment_path="/dev/env0", but it can be
overwritten in a board code (e.g. see arch/arm/boards/panda/board.c).

-- 
Best regards,
  Antony Pavlov



More information about the barebox mailing list