This adds an init-script for generating /etc/fw_env.config from UCI in case it doesn't exist yet.
I also made the creation of the fw_set-symlink option, so it can be disabled in user-builds so only people who know what they are doing will mess with uboot-env Ah, and zlib is a build-dependency, but in runtime zlib is not required, see root@OpenWrt:/# ldd /usr/sbin/fw_printenv libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2abb2000) libc.so.0 => /lib/libc.so.0 (0x2abd4000) ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2ab9a000) I therefore made it PKG_BUILD_DEPENDS instead of PKG_DEPENDS. Signed-off-by: Daniel Golle <dgo...@allnet.de> Index: package/uboot-envtools/files/uboot-envtools.init =================================================================== --- package/uboot-envtools/files/uboot-envtools.init (revision 0) +++ package/uboot-envtools/files/uboot-envtools.init (revision 0) @@ -0,0 +1,31 @@ +#!/bin/sh /etc/rc.common +# (C) 2011 OpenWrt.org +# Creates /etc/fw_env.conf for fw_printenv (and fw_setenv) + +START=80 + +create_fwenv_config() { + local dev + local offset + local envsize + local secsize + local numsec + + config_get dev "$1" dev + config_get offset "$1" offset "0x0000" + config_get envsize "$1" envsize + config_get secsize "$1" secsize + config_get numsec "$1" numsec + + cat >/etc/fw_env.config <<EOF +# MTD device name Device offset Env. size Flash sector size Number of sectors +$dev $offset $envsize $secsize $numsec +EOF +} + +start() { + [ ! -e /etc/fw_env.config ] && { + config_load ubootenv + config_foreach create_fwenv_config ubootenv + } +} Property changes on: package/uboot-envtools/files/uboot-envtools.init ___________________________________________________________________ Added: svn:executable + * Index: package/uboot-envtools/Makefile =================================================================== --- package/uboot-envtools/Makefile (revision 28625) +++ package/uboot-envtools/Makefile (working copy) @@ -10,7 +10,7 @@ PKG_NAME:=uboot-envtools PKG_DISTNAME:=u-boot PKG_VERSION:=2011.06 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot @@ -24,18 +24,27 @@ SECTION:=utils CATEGORY:=Utilities TITLE:=read/modify U-Boot bootloader environment - DEPENDS:= +zlib URL:=http://www.denx.de/wiki/U-Boot + PKG_BUILD_DEPENDS:=zlib endef define Package/uboot-envtools/description This package includes tools to read and modify U-Boot bootloader environment. endef +define Package/uboot-envtools/config + config PACKAGE_uboot-envtools_setenv_symlink + bool "create fw_setenv symlink (write support)" +endef + define Package/uboot-envtools/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/fw_printenv $(1)/usr/sbin/ - ln -sf fw_printenv $(1)/usr/sbin/fw_setenv + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/uboot-envtools.init $(1)/etc/init.d/uboot-envtools +ifneq ($(CONFIG_PACKAGE_uboot-envtools_setenv_symlink),) + ln -s fw_printenv $(1)/usr/sbin/fw_setenv +endif endef define Build/Prepare _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel