libubootenv is a library that provides a hardware independent way to access to U-Boot environment. U-Boot has its default environment compiled board-dependently and this means that tools to access the environment are also board specific, too.
Source Code: https://github.com/sbabic/libubootenv
Documentation (doxygen): https://sbabic.github.io/libubootenv
Part of the library are the replacement of the "fw_printenv / fw_setenv" tools that can be used with any board - they accept as parameter a file as initial environment if none is found on the persistent storage. The syntax for the data configuration file is the same as the one described in the U-Boot project whilst the syntax of the script file is a subset of the original one.
Usage fw_printenv [OPTION]
-h, : print this help
-c, --config <filename> : configuration file (by default: /etc/fw_env.config)
-f, --defenv <filename> : default environment if no one found (by default: /etc/u-boot-initial-env)
-V, : print version and exit
-n, --no-header : do not print variable name
Usage fw_setenv [OPTION]
-h, : print this help
-c, --config <filename> : configuration file (by default: /etc/fw_env.config)
-f, --defenv <filename> : default environment if no one found (by default: /etc/u-boot-initial-env)
-V, : print version and exit
-s, --script <filename> : read variables to be set from a script
Script Syntax:
key=value
lines starting with '#' are treated as comment
lines without '=' are ignored
Script Example:
netdev=eth0
kernel_addr=400000
foo=empty empty empty empty empty empty
bar
libubootenv is licensed under LGPL-2.1
Recipe is provided in openembedded-core layer https://git.openembedded.org/openembedded-core/tree/meta/recipes-bsp/u-boot/
Package is provided in https://git.buildroot.net/buildroot/tree/package/libubootenv
Contributions are welcome ! You can submit your patches (or post questions regarding the project) to the swupdate Mailing List:
Please read the contributing chapter in the documentation how to contribute to the project.