diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh index a788c4cc4e..61c04953d3 100755 --- a/package/base-files/files/etc/functions.sh +++ b/package/base-files/files/etc/functions.sh @@ -263,7 +263,7 @@ jffs2_mark_erase() { echo -e "\xde\xad\xc0\xde" | mtd -qq write - "$1" } -uci_apply_defaults() {( +uci_apply_defaults() { cd /etc/uci-defaults || return 0 files="$(ls)" [ -z "$files" ] && return 0 @@ -272,6 +272,6 @@ uci_apply_defaults() {( ( . "./$(basename $file)" ) && rm -f "$file" done uci commit -)} +} [ -z "$IPKG_INSTROOT" -a -f /lib/config/uci.sh ] && . /lib/config/uci.sh diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot index aa9e967787..2ed4c50613 100755 --- a/package/base-files/files/etc/init.d/boot +++ b/package/base-files/files/etc/init.d/boot @@ -35,10 +35,9 @@ system_config() { [ -x /sbin/klogd ] && klogd ${klogconloglevel:+-c $klogconloglevel} } -apply_uci_config() {( - include /lib/config - uci_apply_defaults -)} +apply_uci_config() { + sh -c '. /etc/functions.sh; include /lib/config; uci_apply_defaults' +} start() { [ -f /proc/mounts ] || /sbin/mount_root