diff options
Diffstat (limited to 'package')
-rw-r--r-- | package/boot/uboot-envtools/Makefile | 1 | ||||
-rw-r--r-- | package/boot/uboot-envtools/files/realtek | 8 | ||||
-rw-r--r-- | package/boot/uboot-envtools/files/uboot-envtools.sh | 38 |
3 files changed, 32 insertions, 15 deletions
diff --git a/package/boot/uboot-envtools/Makefile b/package/boot/uboot-envtools/Makefile index a9eccec0ce..03dc6c678d 100644 --- a/package/boot/uboot-envtools/Makefile +++ b/package/boot/uboot-envtools/Makefile @@ -61,6 +61,7 @@ MAKE_FLAGS += \ define Package/uboot-envtools/conffiles /etc/config/ubootenv /etc/fw_env.config +/etc/fw_sys.config endef define Package/uboot-envtools/install diff --git a/package/boot/uboot-envtools/files/realtek b/package/boot/uboot-envtools/files/realtek index a91ca82604..75a399208e 100644 --- a/package/boot/uboot-envtools/files/realtek +++ b/package/boot/uboot-envtools/files/realtek @@ -18,15 +18,21 @@ zyxel,gs1900-10hp) idx="$(find_mtd_index u-boot-env)" [ -n "$idx" ] && \ ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x400" "0x10000" + idx2="$(find_mtd_index u-boot-env2)" + [ -n "$idx2" ] && \ + ubootenv_add_uci_sys_config "/dev/mtd$idx2" "0x0" "0x1000" "0x10000" ;; *) idx="$(find_mtd_index u-boot-env)" [ -n "$idx" ] && \ ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" + idx2="$(find_mtd_index u-boot-env2)" + [ -n "$idx2" ] && \ + ubootenv_add_uci_sys_config "/dev/mtd$idx2" "0x0" "0x1000" "0x10000" ;; esac config_load ubootenv -config_foreach ubootenv_add_app_config ubootenv +config_foreach ubootenv_add_app_config exit 0 diff --git a/package/boot/uboot-envtools/files/uboot-envtools.sh b/package/boot/uboot-envtools/files/uboot-envtools.sh index 9218bc4e39..980c9962b1 100644 --- a/package/boot/uboot-envtools/files/uboot-envtools.sh +++ b/package/boot/uboot-envtools/files/uboot-envtools.sh @@ -3,34 +3,44 @@ # Copyright (C) 2011-2012 OpenWrt.org # -ubootenv_add_uci_config() { - local dev=$1 - local offset=$2 - local envsize=$3 - local secsize=$4 - local numsec=$5 +_ubootenv_add_uci_config() { + local cfgtype=$1 + local dev=$2 + local offset=$3 + local envsize=$4 + local secsize=$5 + local numsec=$6 uci batch <<EOF -add ubootenv ubootenv -set ubootenv.@ubootenv[-1].dev='$dev' -set ubootenv.@ubootenv[-1].offset='$offset' -set ubootenv.@ubootenv[-1].envsize='$envsize' -set ubootenv.@ubootenv[-1].secsize='$secsize' -set ubootenv.@ubootenv[-1].numsec='$numsec' +add ubootenv $cfgtype +set ubootenv.@$cfgtype[-1].dev='$dev' +set ubootenv.@$cfgtype[-1].offset='$offset' +set ubootenv.@$cfgtype[-1].envsize='$envsize' +set ubootenv.@$cfgtype[-1].secsize='$secsize' +set ubootenv.@$cfgtype[-1].numsec='$numsec' EOF uci commit ubootenv } +ubootenv_add_uci_config() { + _ubootenv_add_uci_config "ubootenv" "$@" +} + +ubootenv_add_uci_sys_config() { + _ubootenv_add_uci_config "ubootsys" "$@" +} + ubootenv_add_app_config() { + local cfgtype local dev local offset local envsize local secsize local numsec + config_get cfgtype "$1" TYPE config_get dev "$1" dev config_get offset "$1" offset config_get envsize "$1" envsize config_get secsize "$1" secsize config_get numsec "$1" numsec - grep -q "^[[:space:]]*${dev}[[:space:]]*${offset}" /etc/fw_env.config || echo "$dev $offset $envsize $secsize $numsec" >>/etc/fw_env.config + grep -q "^[[:space:]]*${dev}[[:space:]]*${offset}" "/etc/fw_${cfgtype#uboot}.config" || echo "$dev $offset $envsize $secsize $numsec" >>"/etc/fw_${cfgtype#uboot}.config" } - |