option to allow boot to run to completion before starting shell
authorFlorian Fainelli <florian@openwrt.org>
Tue, 13 Apr 2010 19:57:25 +0000 (19:57 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 13 Apr 2010 19:57:25 +0000 (19:57 +0000)
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>
SVN-Revision: 20841

package/base-files/files/etc/init.d/rcS

index c135024bea223ad4febc344486aa9c9aa3daaf55..ea40d68bed9313f9ff97bef79909cc212f89773f 100755 (executable)
@@ -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"