[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

"Waiting for root file system..." hang solved



I googled for the answer and didn't find it, and lots of people
asking, so this is for the next person with the same problem.

I installed a Debian Etch workstation, tasksel: desktop, guided
partitioning, the six partitions (/ /usr /var /home /tmp swap) way.
Works great.  I upgraded to Lenny, the October 29 2007 weekly CD.

This leaves a GRUB menu with an Etch kernel and a Lenny kernel.
The Etch kernel boots just fine.  The Lenny kernel hangs at

  "Waiting for root file system..."

and eventually you get that (initramfs) prompt from the Busybox
shell, which means it never found the root FS.

Turns out this is because Etch thinks this PATA drive is
/dev/hda, but Lenny thinks the exact same drive is /dev/sda.
So the /etc/fstab and /boot/grub/menu.lst files have the
root file system as /dev/hda1, which no longer exists.

I hear ubuntu Fiesty has the same problem.

The fix is to edit /etc/fstab and /boot/grub/menu.lst and
change all the hard drive partition device names to unique file
system volume labels.  /dev/hda1 becomes LABEL=a-root or whatever
you like.  Then use e2label(8) to add volume labels to
all the file systems.  I also labeled the swap image.

While you're at it, /etc/uswsusp.conf is wrong, too.
(Can that file use a swap volume label instead of a device name?
The manpage doesn't say.)
This causes a pause during boot, where resume: is looking for
the wrong swap device.

Once all the partitions are labeled, you can make new
initrd images.  update-initramfs -u -k all

You could have a debate about whether this is an installer
bug, a kernel package bug, a udev bug, or operator error.


Cameron



Reply to: