sysvinit-inittab: fix hang issue of series consoles check

The kernel boot process hangs when /proc/consoles doesn't exists, therefore
check the existence of /proc/consoles before executing pkg_postinst script.

Following is the log when /proc/consoles doesn't exist:
        Running postinst /etc/rpm-postinsts/102...
        cat: /proc/consoles: No such file or directory
        cat: /proc/consoles: No such file or directory
        cat: /proc/consoles: No such file or directory
        INIT: Entering runlevel: 5
        Starting OpenBSD Secure Shell server: sshd
          generating ssh RSA key...
          generating ssh ECDSA key...
          generating ssh DSA key...
        done.
        Starting network benchmark server: netserver.
        Starting system log daemon...0
        Starting kernel log daemon...0
        Stopping Bootlog daemon: bootlogd.
        INIT: no more processes left in this runlevel

(From OE-Core rev: 390e7f1f0b1b21d3c0787a6272583d5829561f95)

Signed-off-by: Zhenhua Luo <b19537@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Zhenhua Luo
2012-09-26 15:18:37 +08:00
committed by Richard Purdie
parent fd464e0886
commit 074d49d2cc

View File

@@ -2,7 +2,7 @@ DESCRIPTION = "Inittab for sysvinit"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
PR = "r8"
PR = "r9"
SRC_URI = "file://inittab"
@@ -54,7 +54,7 @@ EOF
pkg_postinst_${PN} () {
# run this on the target
if [ "x$D" = "x" ]; then
if [ "x$D" = "x" ] && [ -e /proc/consoles ]; then
tmp="${SERIAL_CONSOLES_CHECK}"
for i in $tmp
do