initrd for 2.6.22-**-server and 2.6.24-**-server don't find root filesystem, drop to busybox

Asked by Marc Luethi

Hi all

After an "aptitude dist-upgrade" to 8.04.1, my server dropped to a busybox after reboot when booting either linux-image-2.6.22-15-server or linux-image-2.6.24-19-server.

Luckily, I still can boot linux-image-2.6.20-17-server, which seems to have no problems with my disk setup, which is (or used to be):

1st disk on 1st onboard IDE: 20GB standalone disk to boot from, holds / and swap (formerly known as /dev/hda)
2nd disk on 1st onboard IDE: 120GB PATA disk part of a RAID1 /dev/md0 (formerly known as /dev/hdb)
1st disk on 2n onboard IDE: 120GB PATA disk part of a RAID1 /dev/md0 (formerly known as /dev/hdc)
2nd disk on 2n onboard IDE: ---

1st Disk on 1st PCI SATA Controller: 500GB SATA disk part of a RAID1 /dev/md2
1st Disk on 2nd PCI SATA Controller: 500GB SATA disk, part of a RAID1 /dev/md2

The latter two have LVM running on top of /dev/md2 - I'll leave that part out, it's not relevant to my problem.

It seems that the newer initrd-images can't find the root filesystem; both when booting normally and in safe mode, the busybox comes up with:

"mounting /dev/disk/by-uuid/<uuid of first disk> on /root failed: device or resource busy"

I checked with blkid, and <uuid of first disk> is correct for the root partition of that 20GB hard drive.

However, when in the busybox, I can see that the SATA disks now seem to appear as /dev/sda and /dev/sdb, while the former boot drive now has /dev/sdc and the other two appear as /dev/sdd and /dev/sdd.

Actually, I don't even care what /dev/sd* assignment my drives do get - I assume that this is exactly what mapping a drive by it's UUID is all about, so that these assignments do not actually matter.

Where can I start to fix this?

thanks for all the help

Marc

I'll attach lsmod, lspci, dmesg, /etc/fstab and /boot/grub/menu.lst right away - all done from when kernel 2.4.20-17-server is running.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Solved by:
Marc Luethi
Solved:
Last query:
Last reply:
Revision history for this message
Marc Luethi (netztier) said :
#1

Solution described in https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/244421/comments/3

It works by referencing the disk by /dev/mapper/sdX instead of /dev/disk/by-uuid/<uuid of disk> in /boot/grub/menu.lst.

It still leaves me somewhat puzzled, since <uuid-of-disk> had always been correct: the error message was not "not found" or "does not exist" as seen in some other descriptions of dropping-into-busybox problems, but "device or ressource busy".

Revision history for this message
Marc Luethi (netztier) said :
#2

problem solved - workaround implemented.