LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Kernel Panic - VFS unable to open root device (https://www.linuxquestions.org/questions/slackware-14/kernel-panic-vfs-unable-to-open-root-device-247602/)

JcB 10-26-2004 03:37 PM

Kernel Panic - VFS unable to open root device
 
Hello!

I have been trying to compile a kernel from the 2.6.9, and while the kernel appears to compile successfully, when I boot with it, I get the following error message:

VFS: Cannot open root device "303" or hda3
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount fs on hda3.

I have done a fairly exhaustive search on google (exhausting me, anyway), and although I have found other cases with similar problems, none of them seem to have provided a solution that has worked for me.

I have done the following:
- used the provided generic 2.6.7 kernel provided with Slackware v10, but that gave me the same error message, which is why I tried the 2.6.9 source in the first place

- made sure that ext2 is compiled into the kernel, and not as a module.

- I have selected "Advanced partition selection", as well as disabled it in another compile (following conflictive advice).

- I have edited lilo.conf, and made sure that it pointing to the correct path, i.e. /dev/hda3, which is an ext2 partition, and the one that I have been successfully running 2.4.26 on.

- I have further edited lilo.conf, using "append="root=303", because originally the error message gave me just "303" and not "hda3" as well.

- I have made sure that all the IDE controllers and whatnot that I need are included in the kernel (I think.)

- I have made an attempt at using mkinitrd, but I couldn't get it to work. (I didn't really know what to do with it, and I from what I read it seemed unnecessary anyway.)

- I have made about five, maybe more by now, compiles, fiddling with different settings, importing the generic ones, like barei's, and the generic 2.6.7 kernel's .config and then using make oldconfig.

I have tried to read everything I can that could give me some enlightenment, but I have found nothing that has worked so far.

Can anyone help me?

(By the way, I'm really glad that I chose Slackware as my starting distribution. "Everyone" says that it is really tough for newbies, but I think that the support for newbies from the Slackware community is really great, especially on LQ!)

Thanks

JcB

egag 10-26-2004 04:28 PM

hi there,

after you edited the 'lilo.conf" , did you run " lilo " ?
if so , didn't you get any errors ?

egag

JcB 10-26-2004 04:45 PM

Hi egag

Thanks for the reply! I meant to put that on my long list of things that I have done, but forgot. After editing lilo.conf, I did run lilo, and there were no errors.

Thanks

JcB

egag 10-26-2004 05:07 PM

can you post your " lilo.conf " file, or the relevant part of it.
i still think there's the error .?

egag

JcB 10-26-2004 05:16 PM

Here it is:

==============================

boot = /dev/hda
prompt
timeout = 50
vga = normal

# Linux bootable partition config begins
image = /boot/vmlinuz
# append = "root=303"
root = /dev/hda3
label = Linux
read-only

# Windows bootable partition config begins
other = /dev/hda1
label = Windows
table = /dev/hda

# Old Linux kernel config begins
image = /boot/vmlinuz.old
root = /dev/hda3
label = slack.old
read-only

======================================

(Note: I commented out the append="root=303", since it didn't seem to be making a difference anyway.)

Thanks,
JcB

egag 10-26-2004 05:36 PM

looks oke . well , then there must be smth. wrong in the kernel.
did you try compiling the new kernel with the "config " -file of the 2.4.26 kernel as a starting-piont, ( it will give some errors when starting "xconfig" ,
because some things have changed, but the essentials will be ok. )
i did that when i first compiled a 2.6.x kernel.

egag

rotvogel 10-26-2004 05:45 PM

Check if the filesystem used on the / partition is compiled in as well. Slackware defaults to ReiserFS IIRC .

JcB 10-26-2004 05:46 PM

Hi!

I did that the very first time, and then in one of my other attempts, but it didn't seem to work. :-(

Thanks for your help

JcB

JcB 10-26-2004 05:58 PM

Hi rotvogel!

My / partition is ext2, and it has been compiled into the kernel. I think usually the case with an error like mine seems to be people compiling the filesystem types as modules instead of into the kernel. In one of the compiles I did, in desperation I compiled support for basically *all* the available filesystems, but it didn't work :-(

Thank-you anyway!

JcB

rotvogel 10-26-2004 06:03 PM

If your root fs is ext2 and it is compiled in the kernel that should be okay I assume. You said in your opening post that you compiled in ext2 but didn't mention that you're actually using it on your root fs.

Next probable cause:
What hardware (IDE controller) are you using ?

egag 10-26-2004 06:56 PM

well..,the only thread i found with the same problem ended with:

quote KMcD /
actully got bored, followed cedrick's advice, used slackware config, made no changes (except to directly include ext3 in the kernel) and now it works. So thanks for all the help. Will back up this kernel and it's modules and try to figure what out caused the problem./ end quote.

so, that's no solution, but there's hope...

egag

(btw : the actual thread is :http://www.linuxquestions.org/questi...ect+root3Dboot
)

JcB 10-28-2004 04:35 PM

Hello!

Sorry I've taken so long to respond.

I checked, and my controller is an "Intel PIIX4 Ultra 33 chipset". Or at least I think that's my controller. It's what I get when I cat /proc/ide/piix.

Anyway, I compiled it in, and I got the same message as before:-(

I'm going to play around some more tonight, and see what I can come up with.

Cheers

JcB

rotvogel 10-28-2004 05:04 PM

I selected the options below in menuconfig (Device drivers-->ATA/ATAPI/MFM/RLL support) (I have a PIIX as well) :
Code:

<*> ATA/ATAPI/MFM/RLL support 
<*>  Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support 
<*>    Include IDE/ATA-2 DISK support[*]      Use multi-mode by default
<*>    Include IDE/ATAPI CDROM support[*]    IDE Taskfile Access  [*]    IDE Taskfile IO (EXPERIMENTAL)
<*>    generic/default IDE chipset support[*]    PCI IDE chipset suppor[*]      Sharing PCI IDE interrupts support
<*>      Generic PCI IDE Chipset Support[*]      Generic PCI bus-master DMA support  [*]        Use PCI DMA by default when available   
<*>        Intel PIIXn chipsets support

Never had any problems with this controller with the settings above using a number of 2.6 kernels.

Nichole_knc 10-28-2004 08:54 PM

check out the /boot/README.initd

Wintceas 10-28-2004 10:18 PM

Reversed IDE
 
Did you already try adding the append parameter in both images with the value = "ide-reverse"?

Quote:

# Linux bootable partition config begins
image = /boot/vmlinuz
append="ide=reverse"
root = /dev/hda3
label = Linux
read-only

# Windows bootable partition config begins
other = /dev/hda1
label = Windows
table = /dev/hda

# Old Linux kernel config begins
image = /boot/vmlinuz.old
append="ide=reverse"
root = /dev/hda3
label = slack.old
read-only
As the SATA ROM was disabled in BIOS while I was installing Mandrake, the system assigned weird letters to my partitions: hde1, instead of hda1; hdg1, instead of hdc1. And so on. When I tried to run Slackware (which is in hdc1), its kernel gave me the same message you're seeing. So in the lilo.conf of Mandrake I appended the "ide=reverse" parameter and re-enabled SATA support in BIOS. Everything is ok now. Lilo is passing the "right" values to Slack's kernel.


All times are GMT -5. The time now is 04:37 PM.