mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-18 21:28:02 +00:00
uboot-envtools: add fw_loadenv tool
This tool will load the uboot environment to /var/run/uboot-env/. This allows more efficient use when accessing multiple variables. Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
parent
7a120ee72e
commit
84577e48bc
@ -71,6 +71,7 @@ define Package/uboot-envtools/install
|
||||
$(LN) fw_printenv $(1)/usr/sbin/fw_setenv
|
||||
$(INSTALL_BIN) ./files/fw_printsys $(1)/usr/sbin
|
||||
$(INSTALL_BIN) ./files/fw_setsys $(1)/usr/sbin
|
||||
$(INSTALL_BIN) ./files/fw_loadenv $(1)/usr/sbin
|
||||
$(INSTALL_DIR) $(1)/lib
|
||||
$(INSTALL_DATA) ./files/uboot-envtools.sh $(1)/lib
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
|
26
package/boot/uboot-envtools/files/fw_loadenv
Normal file
26
package/boot/uboot-envtools/files/fw_loadenv
Normal file
@ -0,0 +1,26 @@
|
||||
#!/usr/bin/ucode
|
||||
|
||||
'use strict';
|
||||
|
||||
const path = '/var/run/uboot-env/';
|
||||
|
||||
import * as fs from 'fs';
|
||||
|
||||
if (fs.lsdir(path)) {
|
||||
warn(`env has already been loaded to ${path}\n`);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
let fp = fs.popen('fw_printenv');
|
||||
let raw = fp.read('all');
|
||||
fp.close();
|
||||
|
||||
if (!length(raw))
|
||||
exit(0);
|
||||
|
||||
fs.mkdir(path);
|
||||
for (let line in split(raw, '\n')) {
|
||||
let vals = split(line, '=');
|
||||
if (vals[0] && vals[1])
|
||||
fs.writefile(path + vals[0], vals[1]);
|
||||
}
|
Loading…
Reference in New Issue
Block a user