X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/05adaa9794e41d02870a74a1ed7ba58cc59b9286..b7d3d9d3cef2286b7266dc447265a0a21565b9b9:/package/base-files/files/etc/init.d/rcS?ds=sidebyside diff --git a/package/base-files/files/etc/init.d/rcS b/package/base-files/files/etc/init.d/rcS index fe21d0398..3b8043209 100755 --- a/package/base-files/files/etc/init.d/rcS +++ b/package/base-files/files/etc/init.d/rcS @@ -1,19 +1,26 @@ #!/bin/sh # Copyright (C) 2006 OpenWrt.org -${FAILSAFE:+exit} +run_scripts() { + for i in /etc/rc.d/$1*; do + [ -x $i ] && $i $2 2>&1 + done | $LOGGER +} -# FIXME: add logging configuration -#[ -f /etc/config/network ] && . /etc/config/network -#eval $(ipcalc "$log_ipaddr") -#[ "$log_ipaddr" = "$IP" ] || log_ipaddr="" -syslogd -C 16 #${log_ipaddr:+-L -R $log_ipaddr} -klogd +system_config() { + config_get_bool foreground $1 foreground 0 +} -( - for i in /etc/rc.d/S*; do - $i boot 2>&1 - done - - sysctl -p >&- -) | logger -s -p 6 -t '' & +LOGGER="cat" +[ -x /usr/bin/logger ] && LOGGER="logger -s -p 6 -t sysinit" + +. /etc/functions.sh + +config_load system +config_foreach system_config system + +if [ "$1" = "S" -a "$foreground" != "1" ]; then + run_scripts "$1" "$2" & +else + run_scripts "$1" "$2" +fi