mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 01:59:02 +00:00
27d69d2561
In the rare event a pre-populated fw_env.config exists in the rootfs prior to firstboot, calling fw_setenv after the system has initialised will annihilate the devices environment due to two identical lines in fw_env.config. Check for existence prior to blind appendage. Signed-off-by: Imran Khan <gururug@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org> [daniel@makrotopia.org: fixed patch format, improved grep, cosmetics]
37 lines
844 B
Bash
37 lines
844 B
Bash
#!/bin/sh
|
|
#
|
|
# 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
|
|
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'
|
|
EOF
|
|
uci commit ubootenv
|
|
}
|
|
|
|
ubootenv_add_app_config() {
|
|
local dev
|
|
local offset
|
|
local envsize
|
|
local secsize
|
|
local numsec
|
|
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
|
|
}
|
|
|