sysvinit: fix problem in switching runlevels

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]

(From OE-Core rev: f12e1291b51ba6692b6809570d6a9b73c70a7fe9)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chen Qi
2013-11-11 17:26:09 +08:00
committed by Richard Purdie
parent 20efe19ed0
commit dc80eea725
3 changed files with 4 additions and 4 deletions

View 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 \

View 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 1 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 .

View 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"