summaryrefslogtreecommitdiffstats
path: root/package/base-files
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 /package/base-files
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
Diffstat (limited to 'package/base-files')
-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"