summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-13 19:57:25 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-13 19:57:25 +0000
commit04c940093439b3df9e97c890153896841618c6b4 (patch)
treed29724a28805383dea71be8d6e71ac08bf71cf4d
parent6b17f453aaa8a583e9a78daa90b556624fa0a69d (diff)
[package] option to allow boot to run to completion before starting shell
Setting the system variable "foreground" to yes causes the system to run the init scripts in series and wait for completion. This is useful if (a) you don't want the user getting into the console until the system is initialized, or (b) you have things going on in your scripts that require strict ordering (and no possible race conditions). Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20841 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-xpackage/base-files/files/etc/init.d/rcS7
1 files changed, 6 insertions, 1 deletions
diff --git a/package/base-files/files/etc/init.d/rcS b/package/base-files/files/etc/init.d/rcS
index c135024be..ea40d68be 100755
--- a/package/base-files/files/etc/init.d/rcS
+++ b/package/base-files/files/etc/init.d/rcS
@@ -10,7 +10,12 @@ run_scripts() {
LOGGER="cat"
[ -x /usr/bin/logger ] && LOGGER="logger -s -p 6 -t sysinit"
-if [ "$1" = "S" ]; then
+. /etc/functions.sh
+
+config_load system
+config_get_bool foreground system foreground no
+
+if [ "$1" = "S" -a "$foreground" != "yes" ]; then
run_scripts "$1" "$2" &
else
run_scripts "$1" "$2"