Comment 2 for bug 540637

Revision history for this message
ViViD (vivnet) wrote :

Prior to the current kernel the system was using linux-image-2.6.31-16-generic-pae, its likely I missed a version between them as this is a server. However, after adding your suggestion to /etc/init/rc-sysinit.conf, the problem is still present, with the same resolution. Below is my original rc-sysinit.conf, followed by the new one with the changes. It is quite possible that I administered this change incorrectly, which is why I am providing the examples.

####ORIGINAL
# rc-sysinit - System V initialisation compatibility
#
# This task runs the old System V-style system initialisation scripts,
# and enters the default runlevel when finished.

description "System V initialisation compatibility"
author "Scott James Remnant <email address hidden>"

start on filesystem and net-device-up IFACE=lo
stop on runlevel

# Default runlevel, this may be overriden on the kernel command-line
# or by faking an old /etc/inittab entry
env DEFAULT_RUNLEVEL=2

# There can be no previous runlevel here, but there might be old
# information in /var/run/utmp that we pick up, and we don't want
# that.
#
# These override that
env RUNLEVEL=
env PREVLEVEL=

task

script
    # Check for default runlevel in /etc/inittab
    if [ -r /etc/inittab ]
    then
 eval "$(sed -nre 's/^[^#][^:]*:([0-6sS]):initdefault:.*/DEFAULT_RUNLEVEL="\1";/p' /etc/inittab || true)"
    fi

    # Check kernel command-line for typical arguments
    for ARG in $(cat /proc/cmdline)
    do
 case "${ARG}" in
 -b|emergency)
     # Emergency shell
     [ -n "${FROM_SINGLE_USER_MODE}" ] || sulogin
     ;;
 [0123456sS])
     # Override runlevel
     DEFAULT_RUNLEVEL="${ARG}"
     ;;
 -s|single)
     # Single user mode
     [ -n "${FROM_SINGLE_USER_MODE}" ] || DEFAULT_RUNLEVEL=S
     ;;
 esac
    done

    # Run the system initialisation scripts
    [ -n "${FROM_SINGLE_USER_MODE}" ] || /etc/init.d/rcS

    # Switch into the default runlevel
    telinit "${DEFAULT_RUNLEVEL}"
end script

###MODIFIED
# rc-sysinit - System V initialisation compatibility
#
# This task runs the old System V-style system initialisation scripts,
# and enters the default runlevel when finished.

description "System V initialisation compatibility"
author "Scott James Remnant <email address hidden>"

start on (filesystem
   and net-device-up IFACE=lo
   and started portmap)
stop on runlevel

# Default runlevel, this may be overriden on the kernel command-line
# or by faking an old /etc/inittab entry
env DEFAULT_RUNLEVEL=2

# There can be no previous runlevel here, but there might be old
# information in /var/run/utmp that we pick up, and we don't want
# that.
#
# These override that
env RUNLEVEL=
env PREVLEVEL=

task

script
    # Check for default runlevel in /etc/inittab
    if [ -r /etc/inittab ]
    then
 eval "$(sed -nre 's/^[^#][^:]*:([0-6sS]):initdefault:.*/DEFAULT_RUNLEVEL="\1";/p' /etc/inittab || true)"
    fi

    # Check kernel command-line for typical arguments
    for ARG in $(cat /proc/cmdline)
    do
 case "${ARG}" in
 -b|emergency)
     # Emergency shell
     [ -n "${FROM_SINGLE_USER_MODE}" ] || sulogin
     ;;
 [0123456sS])
     # Override runlevel
     DEFAULT_RUNLEVEL="${ARG}"
     ;;
 -s|single)
     # Single user mode
     [ -n "${FROM_SINGLE_USER_MODE}" ] || DEFAULT_RUNLEVEL=S
     ;;
 esac
    done

    # Run the system initialisation scripts
    [ -n "${FROM_SINGLE_USER_MODE}" ] || /etc/init.d/rcS

    # Switch into the default runlevel
    telinit "${DEFAULT_RUNLEVEL}"
end script