1

In Slackware 10.1, what happens between rc.S and rc.M during boot? Trying to boot kernel 3.x (tried 3.4 and 3.10) on this box and it hangs right after rc.S finishes execution. 2.6 kernels boot up just fine.

rc.M doesn't get to run, as "Going multiuser" is never displayed on the console.

#!/bin/sh
#
# rc.M          This file is executed by init(8) when the system is being
#               initialized for one of the "multi user" run levels (i.e.
#               levels 1 through 6).  It usually does mounting of file
#               systems et al.
#
# Version:      @(#)/etc/rc.d/rc.M      2.23    Wed Feb 26 19:20:58 PST 2003
#
# Author:       Fred N. van Kempen, <[email protected]>
#               Heavily modified by Patrick Volkerding <[email protected]>
#

# Tell the viewers what's going to happen.
echo "Going multiuser..."

Using Slackware default inittab (comments removed):

id:3:initdefault:
si:S:sysinit:/etc/rc.d/rc.S
su:1S:wait:/etc/rc.d/rc.K
rc:2345:wait:/etc/rc.d/rc.M
ca::ctrlaltdel:/sbin/shutdown -t5 -r now
l0:0:wait:/etc/rc.d/rc.0
l6:6:wait:/etc/rc.d/rc.6
pf::powerfail:/sbin/genpowerfail start
pg::powerokwait:/sbin/genpowerfail stop
c1:1235:respawn:/sbin/agetty 38400 tty1 linux
c2:1235:respawn:/sbin/agetty 38400 tty2 linux
c3:1235:respawn:/sbin/agetty 38400 tty3 linux
c4:1235:respawn:/sbin/agetty 38400 tty4 linux
c5:1235:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux
x1:4:wait:/etc/rc.d/rc.4

It hangs right after this:

Using /etc/random-seed to initialize /dev/urandom.

I've commented out that bit of code in rc.S and it still hangs, so i'm guessing the problem is somewhere else, but i have no clue what happens right after rc.S.

1 Answer 1

1

After the rc.S, the init will run the rc.M if run level 2,3,4 or 5 and rc.K if run level 1... you can try to run in single (ie: runlevel 1) to see if it boots

slackware 10.1 is old and might not be ready enough to run a 3.0 kernel... but you can try to debug it better, it might some missing feature on the kernel or some util that you needs update

edit the /etc/rc.d/rc.S and add on the second line

       set -x

This will make the script verbose and will tell you what its running. If it goes until the end, try add this to the other scripts. after that you will need to read the output and probably add some test code before the failing part and/or comment it out (depending of what is failling)

2
  • on kernel 2.6 rc.S ends then this shows up INIT: Entering runlevel: 3. on 3.4 the INIT line never comes up. I'll try it with the latest 2.6, i am aware 10.1 is grandma old but there's a lot of stuff in there that it's messy to port over to a newer system. I only need to fix a kernel panic bug with radvd and 2.6.33.
    – evilSnobu
    Aug 13, 2013 at 10:23
  • So if in 3.4 the rc.S ends and the init never switch, might be a problem in the init... try to put a exit 0 in the end of rc.S (if not there already) and if it fails, try to update the init from a newer slackware. use the newer slackware init SlackBuild to build it on the older one... dont forget to backup the old init, just in case everything fails! ;)
    – higuita
    Aug 13, 2013 at 10:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .