LFS 6 System Won't Boot
dbn.lists at gmail.com
Sat Jan 26 10:32:06 PST 2008
On Jan 26, 2008 10:06 AM, Mark Olbert <molbert at iterobiopharm.com> wrote:
> I have an oddball problem that is causing me to rip out hair :)
> My LFS 6 system, which has performed like a champ for years, suddenly stopped booting the other day. Initially the problem was that it couldn't "see" /dev/sda1, /dev/sda3 and /dev/sda4 (which is how my SATA drive shows up in the system), so when it came time to mount the filesystems it tossed off some error messages, told me to hit enter, and froze.
> I traced this particular problem to some kind of corruption in the udev rules: apparently the rules that described how to set up /dev/sd* went away (I'm not sure how that happened, it's possible it could have been my doing, but I tend to be pretty careful about making backup copies of files).
It's actually the kernel that decides that the devices are named sd*,
so all the udev rules should be doing for you is setting the ownership
and permissions of the group. If they're not being created, I'd say
that the kernel isn't telling udev about them at all.
On a guess, it sounds like a hardware problem with your SATA drive (or
maybe the controller). Does dmesg say anything interesting? Could you
try booting from a LiveCD and seeing what happens?
> Unfortunately, I didn't have the udev config rules file from when I built the system several years ago. But I was able to scrounge some rules from a working Slackware (2.6.10) distro that I keep on the same drive, in a different partition, for emergencies like this. Copying the Slackware rules into the LFS rules folder solved the initial problem.
That sounds strange. What kernel and udev where you running?
> I'd appreciate any suggestions as to how to resolve this. In particular, can someone explain to me the "normal" sequence of events after /etc/rc.d/rcsysinit.d is processed? I thought that the boot sequence then started working its way through the shell scripts in /etc/rc.d/rc3.d. But I put some echo statements in the first such script (sysklogd), and the file is never entered. So the boot sequence must go someplace else after /etc/rc.d/rcsysinit.d. But I don't know where!
It's all defined in /etc/inittab. The si: entry says that on sysinit
we'll execute /etc/rc.d/init.d/rc with the sysinit argument. After
sysinit is done, it should go to whatever run level you specified on
the kernel command line or the initdefault in /etc/inittab.
More information about the lfs-support