]> code.ossystems Code Review - openembedded-core.git/commitdiff
sysvinit: fix problem in switching runlevels
authorChen Qi <qi.chen@windriver.com>
Mon, 11 Nov 2013 09:26:09 +0000 (17:26 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 20 Nov 2013 14:02:52 +0000 (14:02 +0000)
Previously, if we switch to runlevel 1 and then switch back to runlevel
5, the network interface will be brought down and the NFS service will
not be restarted correctly.

The problem is that the networking and rpcbind services are brought down
in runlevel 1 but not brought up in runlevel 5.

This patch fixes the above problem. It's based on the assumption that
in sysvinit-based system, runlevel 1 does not have networking support.

This patch adjusts some init script parameters used by update-rc.d. It
makes sure that networking starts before rpcbind which in turn starts
before mountnfs.sh. When switching to runlevel 0, 1 and 6, the umountnfs.sh
is run first before stopping rpcbind service, and the network is brought
down afterwards.

[YOCTO #5513]

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
meta/recipes-core/initscripts/initscripts_1.0.bb
meta/recipes-extended/rpcbind/rpcbind_0.2.0.bb

index 9d3af34717cf0c43ff4c3fc9c2c15400de7a1208..0f4290c7c38ddff8726fe4b81ad89d0f1ea327f8 100644 (file)
@@ -9,7 +9,7 @@ PR = "r3"
 inherit update-rc.d
 
 INITSCRIPT_NAME = "networking"
-INITSCRIPT_PARAMS = "start 40 S . stop 40 0 6 1 ."
+INITSCRIPT_PARAMS = "start 10 2 3 4 5 . stop 80 0 6 1 ."
 
 SRC_URI = "file://copyright \
            file://init \
index 2d582660fadbe5afb98a287d0ba9adb99f861795..d46ba67b2a75589b90508a53ae15326335125992 100644 (file)
@@ -108,7 +108,7 @@ do_install () {
        update-rc.d -r ${D} rmnologin.sh start 99 2 3 4 5 .
        update-rc.d -r ${D} sendsigs start 20 0 6 .
        update-rc.d -r ${D} urandom start 30 S 0 6 .
-       update-rc.d -r ${D} umountnfs.sh start 31 0 6 .
+       update-rc.d -r ${D} umountnfs.sh start 31 0 6 .
        update-rc.d -r ${D} umountfs start 40 0 6 .
        update-rc.d -r ${D} reboot start 90 6 .
        update-rc.d -r ${D} halt start 90 0 .
@@ -117,7 +117,7 @@ do_install () {
        update-rc.d -r ${D} checkroot.sh start 06 S .
        update-rc.d -r ${D} mountall.sh start 03 S .
        update-rc.d -r ${D} hostname.sh start 39 S .
-       update-rc.d -r ${D} mountnfs.sh start 45 S .
+       update-rc.d -r ${D} mountnfs.sh start 15 2 3 4 5 .
        update-rc.d -r ${D} bootmisc.sh start 55 S .
        update-rc.d -r ${D} sysfs.sh start 02 S .
        update-rc.d -r ${D} populate-volatile.sh start 37 S .
index a75e4e1bf616cd58c2f39acd274896548c19eddb..16fb7b7392608681e59be93737da247d5c562408 100644 (file)
@@ -35,7 +35,7 @@ PACKAGECONFIG ??= "tcp-wrappers"
 PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
 
 INITSCRIPT_NAME = "rpcbind"
-INITSCRIPT_PARAMS = "start 43 S . start 32 0 6 . stop 81 1 ."
+INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ."
 
 SYSTEMD_SERVICE_${PN} = "rpcbind.service"
 SYSTEMD_AUTO_ENABLE = "disable"