[PATCH v2] envfs: provide an intentional way to ignore an existing external environment

Juergen Borleis jbe at pengutronix.de
Thu Jul 31 03:38:59 PDT 2014


Some use cases are using the barebox's built-in environment only, but still
provide an external environment store to save a modified environment (for
development purposes for example).
In this case barebox works as intended even if the external store is empty
and thus invalid. But even if it is an intentional behavior, barebox emits an
error message due to an invalid content in the external store (CRC error).

Because this error message will confuse a new user (how to know if this error
message is important or can be ignored?) and it is a bad style to ship
intentionally working systems with error messages, the following change set
adds an "empty environment" feature to barebox.

This change set adds a new option to the saveenv command which will write an
zeroed environment without content. But it will be marked as a placeholder and
thus should be "ignored" and barebox falls back to its built-in default
environment.

With this feature we now get:

 - if the environment store is empty, we still see an error message and
   barebox still falls back to its built-in default environment
 - if the environment store contains the new zeroed environment, there
   will be no error message but barebox falls back to its built-in default
   environment as well ("intentional behaviour")
 - if the environment store contains a regular environment (modified compared
   to the built-in one) barebox will continue to use it and ignores its
   built-in default environment instead.

This is v2 of this change set.

 - using a forced built-in default environment is handled inside the
   envfs_load() function. Suggested by Sascha.
 - the new flag to force the built-in default environment uses a more
   descriptive name. Suggested by Sascha.

Comments are welcome.

Juergen




More information about the barebox mailing list