You are not logged in.

#1 2009-06-01 08:29:08

binarymonster
Member
Registered: 2009-06-01
Posts: 7

[SOLVED] Root fs cannot be found on boot (initramfs works)

Hi all! Long time lurker, first time poster.

I'd been using catalyst drivers since I started out on Arch. I knew there were conflicts during updates involving catalyst, so I've never updated my kernel or Xorg during "pacman -Syu" updates. I'd specifically blocked them in pacman.conf. However, I recently decided to switch to open source ati drivers and in doing so, decided to update my entire system including the kernel. Everything went smoothly, but upon reboot I'm getting the dreaded "root filesystem cannot be found" error.

Root device '/dev/sdb6' doesn't exist, attempting to create it
ERROR: Failed to parse block device name for '/dev/sdb6' unknown
ERROR: Unable to create/detect root device, '/dev/sdb6'

Dropping to recovery shell.. type 'exit' to reboot

Note that the initramfs worked, it's just it couldn't get into my root partition even though I can mount it without any problems from the live CD.

I set about trying to fix my problem. Here is a list of things I've tried.

1) Using the liveCD, I chrooted into my install (mounting proc, dev, etc. in the process) and did

depmod -a

followed by

pacman -Sf kernel26

which completed with no errors problems. This didn't solve my issue.

2) Using the liveCD, performing

mkinitcpio -M

and ensuring my mkinitcpio.conf file contained all the listed modules. I then rebuilt the initramfs with another

pacman -Sf kernel26

This didn't solve my issue.

3) Playing with grub, replacing my UUID lookups with /dev/sdb6. I also tried different combinations (see this thread) to check the bios and grub were matching up. I did the suggested rootdelay=8 and rootfstype=ext3 stuff, too. This didn't solve my issue.

4) Using the liveCD, I did another depmod -a then downgraded my kernel to the older package found on the 2008.6 CD. Mkinitcpio completed successfully, everything seemed fine, but... This didn't solve my issue.

I've done these steps over and over again in various orders, trying different combinations, but I've not had any luck.

Here is my current mkinitcpio.conf file:

MODULES="pata_acpi pata_jmicron ata_generic scsi_mod ahci ata_piix ext3 ahci libata cdrom ide-core ide-pci-generic jmicron ieee1394 ohci1394 atl1 mii sr_mod usbcore ehci-hcd uhci-hcd jbd"
BINARIES=""
FILES=""
HOOKS="base udev autodetect pata scsi sata usb net usbinput keymap encrypt filesystems"

Here is the important bit of my grub file:
Without UUIDs:

title           Arch Linux 
root            (hd1,5)
kernel          /vmlinuz26 root=/dev/sdb6 quiet vga=869 rootdelay=8 rootfstype=ext3
initrd          /boot/kernel26.img

title           Arch Linux (fallback)
root            (hd1,5)
kernel          /vmlinuz26 root=/dev/sdb6 ro quiet vga=869 rootdelay=8
initrd          /boot/kernel26-fallback.img

With UUIDs:

title           Arch Linux 
uuid            ec450c30-5197-4330-9831-914eafad66ce
kernel          /vmlinuz26 root=/dev/disk/by-uuid/ec450c30-5197-4330-9831-914eafad66ce ro quiet vga=869 
initrd          /boot/kernel26.img

title           Arch Linux (fallback)
uuid            ec450c30-5197-4330-9831-914eafad66ce
kernel          /vmlinuz26 root=/dev/disk/by-uuid/ec450c30-5197-4330-9831-914eafad66ce ro quiet vga=869 
initrd          /boot/kernel26-fallback.img

Any ideas, help, suggestions, fixes, etc would be greatly appreciated. I just felt like my arch install was damn near perfect - I'd hate to have to install everything again!

(Edit: Just fixing something I'd messed up in my attempts to fix it, as kindly pointed out by Karol. It didn't fix the problem, though.)

Last edited by binarymonster (2009-06-04 10:03:19)

Offline

#2 2009-06-01 10:14:13

binarymonster
Member
Registered: 2009-06-01
Posts: 7

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

Anybody? I've tried everything I can think of, and everything I've come across by searching the forums. I've included as much information for you all as I can. I'm stuck in ubuntu at the moment, and I miss my Arch install! All help really will be welcome, even if they're longshot suggestions.

Offline

#3 2009-06-01 11:29:31

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

Relax (as much as you can), forums are not a hotline, when folks get back from work / school sb may help you. In the meantime you're stuck w/ me :-D

One thing I've noticed is that you seem to have identical uuids but you use root=/dev/sdb6 and root=/dev/sda6, so it looks like you have two different partitions.

Offline

#4 2009-06-01 11:45:56

binarymonster
Member
Registered: 2009-06-01
Posts: 7

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

karol wrote:

Relax (as much as you can), forums are not a hotline, when folks get back from work / school sb may help you. In the meantime you're stuck w/ me :-D

One thing I've noticed is that you seem to have identical uuids but you use root=/dev/sdb6 and root=/dev/sda6, so it looks like you have two different partitions.

Sorry if I seemed impatient. I think I just got frustrated trying to get a fix - I don't mean to be impatient! smile

Thanks for the observation. I think I must have changed that whilst trying to fix things. They should both be the same, and I've tried it again with them both being /dev/sdb2 (the correct partition) but to no avail. You were right to notice it - they are actually both the same partition.

Offline

#5 2009-06-01 12:33:10

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

If you've read http://bbs.archlinux.org/viewtopic.php?id=63033 I assume you've tried to use 'root=/dev/sdb6' w/
root            (hd0,5)
instead of
root            (hd1,5)
but didn't work, right?

This one's old (and odd) but you may want to have a look at it anyway http://bbs.archlinux.org/viewtopic.php?pid=376939
And the very bottom of http://bbs.archlinux.org/viewtopic.php?id=44921

Offline

#6 2009-06-01 12:46:06

binarymonster
Member
Registered: 2009-06-01
Posts: 7

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

karol wrote:

If you've read http://bbs.archlinux.org/viewtopic.php?id=63033 I assume you've tried to use 'root=/dev/sdb6' w/
root            (hd0,5)
instead of
root            (hd1,5)
but didn't work, right?

This one's old (and odd) but you may want to have a look at it anyway http://bbs.archlinux.org/viewtopic.php?pid=376939
And the very bottom of http://bbs.archlinux.org/viewtopic.php?id=44921

I read that first link - though I might have misinterpreted it. I tried keeping (hd1,5) the same and changing /dev/sdb6 to /dev/sda6, etc. I always through that the grub root (hd0,5) wasn't correct, the initramfs would not be able to show up and I'd just get a grub error. What I have tried so far hasn't worked, but I might try changing to (hd0,5) instead of (hd1,5) in a little while.

With regards to the other links, they seem to suggested lots of things I've already tried. The list is getting quite long now! smile
I have tried reinstalling kernel26, downgrading kernel26, using the fallback image, made sure mkinitcpio.conf contains my filesystem type, made sure mkinitcpio.conf contains my hdd controller module, tried rootdelay=8 a few times... and my mkinitcpio seems to work, so I don't think the problem is with my mkinitcpio.conf file.

Phew! Thanks for your continued help... I'm sure this problem will get solved eventually (and I bet it'll be something simple!). At least I'm learning about chrooting, initramfs, etc.

Do you think it's worth trying to change root (hd1,5) to (hd0,5)? I imagine that would only cause grub to give me and error and not even be able to find the initramfs!

Offline

#7 2009-06-01 12:58:56

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

Do you think it's worth trying to change root (hd1,5) to (hd0,5)? I imagine that would only cause grub to give me and error and not even be able to find the initramfs!

If you can use liveCD to fix your grub afterwards if it doesn't help - why not?


Edit: http://wiki.archlinux.org/index.php/Con … tcpio#GRUB maybe you should drop "/boot" from
initrd          /boot/kernel26.img
or add it, if you're not using a separate partition for boot?
kernel          /boot/vmlinuz26

Last edited by karol (2009-06-01 17:09:53)

Offline

#8 2009-06-02 02:26:33

theapodan
Member
From: Virginia, USA
Registered: 2008-10-21
Posts: 116

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

I recently had similar trouble.

You can unpack the kernel26.img image, and see whether the modules you need to mount root are actually being built into the image.  Instructions are here:
http://wiki.archlinux.org/index.php/Con … r_the_hood

The solution for me was to regenerate the initramfs, which you've already done, so my experience may not prove useful for you.

Offline

#9 2009-06-02 07:32:23

ao
Member
From: 青
Registered: 2008-02-02
Posts: 16

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

Maybe in the recovery shell, try checking what drives are even detected:

echo /dev/sd* /dev/hd*

Offline

#10 2009-06-02 07:37:33

binarymonster
Member
Registered: 2009-06-01
Posts: 7

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

theapodan wrote:

I recently had similar trouble.

You can unpack the kernel26.img image, and see whether the modules you need to mount root are actually being built into the image.  Instructions are here:
http://wiki.archlinux.org/index.php/Con … r_the_hood

The solution for me was to regenerate the initramfs, which you've already done, so my experience may not prove useful for you.

I will try checking for module conflicts (aiid vs pata_aiid) at some point. Thank you for the link and advice. The more I think about it, the more a conflicting module seems likely to be the cause.

ao wrote:

Maybe in the recovery shell, try checking what drives are even detected:

echo /dev/sd* /dev/hd*

Unfortunately my keyboard is unresponsive in the recovery shell. It's a USB keyboard, but it doesn't do anything. (Note it works in the BIOS, in GRUB, and I have the USB module in my mkinitcpio.conf file.) Thanks for your suggestion, though. If I can figure out how to get the keyboard to work in the recovery shell I'll try it out.

Offline

#11 2009-06-02 11:15:37

nowahn
Member
From: elsewhere
Registered: 2008-12-05
Posts: 75

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

binarymonster wrote:

Unfortunately my keyboard is unresponsive in the recovery shell.

Arf, I think it is important to check what's happening in the recovery shell, since you have already tried many things. Can you find a PS2 keyboard ?
In the recovery shell, you can check your devices in /dev (as ao says), check the loaded modules with lsmod, try to mount your root partition with mount, ...


take time to daydream, inspiration comes ...

Offline

#12 2009-06-02 11:35:16

Gen2ly
Member
From: Sevierville, TN
Registered: 2009-03-06
Posts: 1,529
Website

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

I think karol's on it.  Do you really have your kernel at /?

Last edited by Gen2ly (2009-06-02 11:35:31)


Setting Up a Scripting Environment | Proud donor to wikipedia - link

Offline

#13 2009-06-02 11:38:28

binarymonster
Member
Registered: 2009-06-01
Posts: 7

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

Gen2ly wrote:

I think karol's on it.  Do you really have your kernel at /?

I entirely missed that edit! Thanks for bringing my attention to it.

karol wrote:

http://wiki.archlinux.org/index.php/Con … tcpio#GRUB maybe you should drop "/boot" from
initrd          /boot/kernel26.img
or add it, if you're not using a separate partition for boot?
kernel          /boot/vmlinuz26

Thank you very much - that sounds very promising! I can't wait to get home and try these last few suggestions out... but I'll definitely be starting with this one. If this has changed though, I can't think what would have changed it. Something fishy happened during the upgrade, clearly, but I can't see why it would have moved my images.

Offline

#14 2009-06-04 10:03:02

binarymonster
Member
Registered: 2009-06-01
Posts: 7

Re: [SOLVED] Root fs cannot be found on boot (initramfs works)

karol wrote:

http://wiki.archlinux.org/index.php/Con … tcpio#GRUB maybe you should drop "/boot" from
initrd          /boot/kernel26.img
or add it, if you're not using a separate partition for boot?
kernel          /boot/vmlinuz26

This was the problem. I don't know how that got messed up, but it's not fixed. Thank you all for your help!

Offline

Board footer

Powered by FluxBB