base-files: load modules early, run wifi detect afterwards and only then process...
[openwrt.git] / package / base-files / files / etc / init.d / rcS
index 8c9114d..3b80432 100755 (executable)
@@ -1,11 +1,26 @@
 #!/bin/sh
 # Copyright (C) 2006 OpenWrt.org
 
+run_scripts() {
+       for i in /etc/rc.d/$1*; do
+               [ -x $i ] && $i $2 2>&1
+       done | $LOGGER
+}
+
+system_config() {
+       config_get_bool foreground $1 foreground 0
+}
+
 LOGGER="cat"
 [ -x /usr/bin/logger ] && LOGGER="logger -s -p 6 -t sysinit"
 
-{
-       for i in /etc/rc.d/$1*; do
-               [ -x $i ] && $i $2 2>&1
-       done 
-} | $LOGGER &
+. /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