LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Kernel
User Name
Password
Linux - Kernel This forum is for all discussion relating to the Linux kernel.

Notices


Reply
  Search this Thread
Old 06-27-2006, 08:37 AM   #1
OR13
Member
 
Registered: Jun 2006
Distribution: Fedora 14
Posts: 51

Rep: Reputation: 15
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)


Hello!
I executed the following steps:
1) Download kernel 2.6.16 (FC5's 2.6.16-1.2122) from the distribution's SRPM folder.
2) Unzip source-RPM, etc...
3) Configure with 'make gconfig' (Here is my .config file).
4) make, make modules, make install, make modules_install.

Everything seemed to work fine, and I was happy with my configuration. But then, when I booted the new kernel, I got the infamous message saying "Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)".
I've googled this message maybe a 100 times, and looked through this very forum. Many solutions were suggested, but none helped me. I think I compiled this kernel about 15 times...

First, most of the solutions are distribution-specific, and do not help me with Fedora Core 5.
Second, almost all of the people who had this problem use lilo, and had some mistake with the lilo configuration. I use grub, and beside the fact that I let 'make install' configure it for me (which usually works perfectly on FC), I checked, double checked and triple checked the grub configuration file. If this is not enough , here it is. The second kernel (Fedora Core (2.6.16-1.2133_FC5)) is my default kernel, I didn't compile it but rather installed it from RPM, and it works perfectly.

More information I can think of:
1) My Linux drive is regular IDE hard-drive, it's dev is /dev/hdb (I think /boot is /dev/hdb1 and / is /dev/hdb2). Linux (FC3, to be exact) partitioned it.
2) Both /boot and / are ext3 (see kernel .config file above for detail about my configuration - ext3 is compiled into the kernel).
3) mkinitrd works fine. I even tried to create a new initrd file instead of the one that 'make install' creates - just in case... It had the same problem.
4) I have gcc 4.1.1. I've had problems in the past with programs that require gcc 3.x and are compiled with gcc 4.x. Can this possibly be a cause of trouble with the kernel? Though this seems almost impossible, I have to point this out...
5) When booting, I received no further error messages beside the kernel panic. I saw in several places references to other error messages (such as "Replace root= line" or similar), but I received none.
6) This is the first time I'm compiling a kernel, so it is possible that I made some kind of mistake with the configuration... This is why I gave a link to it above.

If there is any more information you need in order to understand this problem, I'd be happy to submit.


Thank you very very much!
O.R.
 
Old 06-27-2006, 09:16 AM   #2
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,672
Blog Entries: 4

Rep: Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945Reputation: 3945
Here's an explanation of the problem, step by step:

"Kernel panic - " The computer has reached a point where it is unable to continue; it has no choice but to halt.

"- not syncing" "The good news is, I wasn't in the middle of trying to write un-saved changes to disk when I died." Linux tries to do this ("to sync the filesystem") just before it halts, and it's telling you .. albeit in a backwards sort of way .. that it succeeded in doing that.

"Unable to mount root filesystem" One of the first things that the kernel must do is to "mount" (make available) the "root" (that is, "/") file system. It could not do that.

"On unknown block(0,0)" This is the device-number (0) and the partition-number (0) of the device where the kernel expects the root filesystem to be.

Probable causes: (in order)
  1. The most likely cause is that the root= parameter, which must be specified in the boot-loader's kernel command line, is incorrect or specifies the wrong device. You're supposed to be able to identify the device by label; I've never gotten that to work. I use something like root=/dev/hda1.
  2. Boot-loaders like Grub may count partitions starting from #0; Linux counts them from #1.
  3. Some distros use a complicated "initrd" mechanism to load disk drivers. If this process isn't working for your particular device, there can be grief.
 
Old 06-27-2006, 01:02 PM   #3
OR13
Member
 
Registered: Jun 2006
Distribution: Fedora 14
Posts: 51

Original Poster
Rep: Reputation: 15
sundialsvcs:
First of all, thank you. But (there's always a but, huh?)...

Here is the configuration (from the previously linked menu.lst - grub configuration) for:

A) My default, working, kernel:
Quote:
title Fedora Core (2.6.16-1.2133_FC5)
root (hd1,0)
kernel /vmlinuz-2.6.16-1.2133_FC5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.16-1.2133_FC5.img
B) My new, compiled, non-working , kernel:
Quote:
title Fedora Core (2.6.16-060604)
root (hd1,0)
kernel /vmlinuz-2.6.16-060604 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.16-060604.img
They are the same... How come one works and the other doesn't???
 
Old 06-29-2006, 09:51 AM   #4
OR13
Member
 
Registered: Jun 2006
Distribution: Fedora 14
Posts: 51

Original Poster
Rep: Reputation: 15
Any other ideas? Please???
I've tried using the other kernel's initrd file, I changed the "/dev/VolGroup00/LogVol00" to "/dev/hdb2" (which is my root filesystem), I don't know what else I can do..!

Any ideas?

Thank you,
O.R.
 
Old 06-29-2006, 10:25 AM   #5
android_online
LQ Newbie
 
Registered: May 2006
Location: Lexington, KY
Distribution: slackware
Posts: 7

Rep: Reputation: 0
What kind of hard drive you have. You sure you have the required drivers compiled in? If still it doesn't work - boot up the working kernel, run dmesg, compare the section where it's mounting '/' with the corresponding section just before the panic msg with the new kernel.
Hope that helps.
 
Old 06-29-2006, 03:16 PM   #6
silmaril8n
Member
 
Registered: May 2004
Posts: 123

Rep: Reputation: 15
I'm having the same types of issues that I'm reading about in various posts here.

When I boot up with 2.4.31 (default Slackware 10.2) and run "dmesg | grep vfs" I see: "VFS: Mounted root (ext3 filesystem) readonly." Is there a better phrase to look for there?

I've made sure the compile ext3 into the kernel (3 times) but it has changed nothing. Any more ideas on this matter?
 
Old 06-29-2006, 04:02 PM   #7
android_online
LQ Newbie
 
Registered: May 2006
Location: Lexington, KY
Distribution: slackware
Posts: 7

Rep: Reputation: 0
grep for hda if you have IDE drive or sda for SCSI in dmesg. You should be getting at least 3 matches; type of your drive, nr of sectors, and nr of partitions. Before the FS the kernel need to find the drivers for your hard drive. Include the drivers from the Block Device section of the config menu.

If you can't figure that out compare the .config from the running kernel with the 1 in new kernel. Look out for differences in 'Block Device' section.
 
Old 06-29-2006, 04:34 PM   #8
silmaril8n
Member
 
Registered: May 2004
Posts: 123

Rep: Reputation: 15
"dmesg | grep hda" brought up nothing at all.

I compared the two .config and there were too many differences (even in the Block Device section) to try to discern anything. Maybe this was a bad idea, but what I did was load the 2.4.31 .config file through "make menuconfig" (2.6.17), and then I went through there and turned off what I was absolutely sure wasn't needed. It's a pretty bloated kernel from what I was making before, but maybe it will do the trick? I can recompile it again later if there is an issue. More to come...
 
Old 06-29-2006, 05:33 PM   #9
silmaril8n
Member
 
Registered: May 2004
Posts: 123

Rep: Reputation: 15
Wow. The kernel took an extra 10 minutes to compile from all the extra stuff in it and it still crashed at the same exact spot. I'm not sure where else to go with it...
 
Old 06-29-2006, 07:08 PM   #10
android_online
LQ Newbie
 
Registered: May 2006
Location: Lexington, KY
Distribution: slackware
Posts: 7

Rep: Reputation: 0
I can have a look at it if you want. Send the dmesg o/p from the working kernel and .config from the new one.
 
Old 06-29-2006, 07:12 PM   #11
w3bd3vil
Senior Member
 
Registered: Jun 2006
Location: Hyderabad, India
Distribution: Fedora
Posts: 1,191

Rep: Reputation: 49
why dont you download the rpm file and update your kernel through that.
 
Old 06-29-2006, 08:06 PM   #12
silmaril8n
Member
 
Registered: May 2004
Posts: 123

Rep: Reputation: 15
Quote:
Originally Posted by android_online
I can have a look at it if you want. Send the dmesg o/p from the working kernel and .config from the new one.
Thanks for the offer! I'm trying one more shot out right now of using the stock 2.6.13 kernel on the Slackware CD as a base config. If that doesn't work (compiling modules right now) then I'll get those outputs into here.
 
Old 06-29-2006, 08:09 PM   #13
silmaril8n
Member
 
Registered: May 2004
Posts: 123

Rep: Reputation: 15
Quote:
Originally Posted by w3bd3vil
why dont you download the rpm file and update your kernel through that.
I appreciate the tip but for one Slackware isn't an RPM based distro (although I hear rpm2tgz works ok). Beyond that, I'm trying to get Slackware to run on my IBM Thinkpad R40 which needs several special items compiled into the kernel for wireless to work and other features. Stock kernels seem to work fine but I can't use the laptop to it's fullest.
 
Old 06-30-2006, 12:41 PM   #14
silmaril8n
Member
 
Registered: May 2004
Posts: 123

Rep: Reputation: 15
Here are the files:
config-2.6.13 (stock Slackware testing kernel)
dmesg-2.6.13

config-2.6.17 (recent one based off of 2.6.13 config)
 
Old 06-30-2006, 01:55 PM   #15
OR13
Member
 
Registered: Jun 2006
Distribution: Fedora 14
Posts: 51

Original Poster
Rep: Reputation: 15
I solved my problem (with a little help from a friend)!
Three things I had to compile into the kernel for it to work w/o the above error:
Code:
Device Drivers->Multi-device support (RAID and LVM)
Device Drivers->Multi-device support (RAID and LVM)->Device mapper support
Device Drivers->Block devices->RAM disk support->Initial RAM disk (initrd) support
@ silmaril8n: I can see that all of the above are Y in the 2.6.13 kernel, but the two LVM options that you need in order to get rid of the above error, are not set in the config file for 2.6.17. Try Setting them to Y.
Good luck!

O.R.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
kernel panic - not syncing : VFS: unable to mount root FS on unknown-block Dankles Slackware 23 01-28-2011 03:01 AM
kernel panic - not syncing: VFS: unable to mount root fs on unknown-block(3,2) o2bfishn Slackware 5 04-28-2006 03:51 PM
Kernel Panic!!! -Not Syncing VFS:Unable to mount root FS on unknown - block (0,0) scarabs Linux - Software 4 04-16-2006 04:16 PM
Kernel panic - not syncing: VFS: Unable to mount root fs on unkown-block(3,2) Rhatlinux Linux - General 12 02-14-2006 11:04 AM
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,2) Volgin Linux - Software 1 12-11-2005 07:46 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Kernel

All times are GMT -5. The time now is 02:29 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration