From 3249006a2facd31a072fd2808991697b4727643e Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Wed, 18 Jun 2014 15:12:05 +0200 Subject: Add support for non volatile variables This adds (back) support for non volatile variables. Non volatile variables are variables which are stored in the environment over reboot. They are used in the same way as the global variables, but with a 'nv' command and device. The variables are stored under /env/nv/, one variable per file. Adding a nv variable automatically adds a global variable with the same name. Changing a nv variable also changes the same global variable, but not the other way round. This allows for example to configure the username as: nv user=sha; saveenv Signed-off-by: Sascha Hauer --- commands/loadenv.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'commands/loadenv.c') diff --git a/commands/loadenv.c b/commands/loadenv.c index 8b15af49df..91ce5e707c 100644 --- a/commands/loadenv.c +++ b/commands/loadenv.c @@ -27,12 +27,13 @@ #include #include #include +#include static int do_loadenv(int argc, char *argv[]) { char *filename = NULL, *dirname; unsigned flags = 0; - int opt; + int opt, ret; int scrub = 0; int defaultenv = 0; @@ -97,9 +98,13 @@ static int do_loadenv(int argc, char *argv[]) printf("loading environment from %s\n", defaultenv ? "defaultenv" : filename); if (defaultenv) - return defaultenv_load(dirname, flags); + ret = defaultenv_load(dirname, flags); else - return envfs_load(filename, dirname, flags); + ret = envfs_load(filename, dirname, flags); + + nvvar_load(); + + return ret; } BAREBOX_CMD_HELP_START(loadenv) -- cgit v1.2.3