Update uboot-envtools

This commit is contained in:
remittor 2022-01-12 10:23:22 +03:00 committed by Lienol
parent 2cccac926c
commit f012ef4e33
4 changed files with 38 additions and 17 deletions

View File

@ -61,18 +61,25 @@ MAKE_FLAGS += \
define Package/uboot-envtools/conffiles define Package/uboot-envtools/conffiles
/etc/config/ubootenv /etc/config/ubootenv
/etc/fw_env.config /etc/fw_env.config
/etc/fw_sys.config
endef endef
define Package/uboot-envtools/install define Package/uboot-envtools/install
$(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/env/fw_printenv $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/env/fw_printenv $(1)/usr/sbin
$(LN) fw_printenv $(1)/usr/sbin/fw_setenv $(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_DIR) $(1)/lib $(INSTALL_DIR) $(1)/lib
$(INSTALL_DATA) ./files/uboot-envtools.sh $(1)/lib $(INSTALL_DATA) ./files/uboot-envtools.sh $(1)/lib
$(INSTALL_DIR) $(1)/etc/uci-defaults $(INSTALL_DIR) $(1)/etc/uci-defaults
$(if $(wildcard ./files/$(BOARD)), \ $(if $(wildcard ./files/$(BOARD)_$(SUBTARGET)), \
$(INSTALL_DATA) ./files/$(BOARD) \ $(INSTALL_DATA) ./files/$(BOARD)_$(SUBTARGET) \
$(1)/etc/uci-defaults/30_uboot-envtools \ $(1)/etc/uci-defaults/30_uboot-envtools, \
$(if $(wildcard ./files/$(BOARD)), \
$(INSTALL_DATA) ./files/$(BOARD) \
$(1)/etc/uci-defaults/30_uboot-envtools \
) \
) )
endef endef

View File

@ -0,0 +1,2 @@
#!/bin/sh
[ -e /etc/fw_sys.config ] && exec /usr/sbin/fw_printenv -c /etc/fw_sys.config "$@"

View File

@ -0,0 +1,2 @@
#!/bin/sh
[ -e /etc/fw_sys.config ] && exec /usr/sbin/fw_setenv -c /etc/fw_sys.config "$@"

View File

@ -3,34 +3,44 @@
# Copyright (C) 2011-2012 OpenWrt.org # Copyright (C) 2011-2012 OpenWrt.org
# #
ubootenv_add_uci_config() { _ubootenv_add_uci_config() {
local dev=$1 local cfgtype=$1
local offset=$2 local dev=$2
local envsize=$3 local offset=$3
local secsize=$4 local envsize=$4
local numsec=$5 local secsize=$5
local numsec=$6
uci batch <<EOF uci batch <<EOF
add ubootenv ubootenv add ubootenv $cfgtype
set ubootenv.@ubootenv[-1].dev='$dev' set ubootenv.@$cfgtype[-1].dev='$dev'
set ubootenv.@ubootenv[-1].offset='$offset' set ubootenv.@$cfgtype[-1].offset='$offset'
set ubootenv.@ubootenv[-1].envsize='$envsize' set ubootenv.@$cfgtype[-1].envsize='$envsize'
set ubootenv.@ubootenv[-1].secsize='$secsize' set ubootenv.@$cfgtype[-1].secsize='$secsize'
set ubootenv.@ubootenv[-1].numsec='$numsec' set ubootenv.@$cfgtype[-1].numsec='$numsec'
EOF EOF
uci commit ubootenv 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() { ubootenv_add_app_config() {
local cfgtype
local dev local dev
local offset local offset
local envsize local envsize
local secsize local secsize
local numsec local numsec
config_get cfgtype "$1" TYPE
config_get dev "$1" dev config_get dev "$1" dev
config_get offset "$1" offset config_get offset "$1" offset
config_get envsize "$1" envsize config_get envsize "$1" envsize
config_get secsize "$1" secsize config_get secsize "$1" secsize
config_get numsec "$1" numsec 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"
} }