Re: Kernel panic: VFS: unable to mount fs on 09:00

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

 



Ralica Kirilova wrote:
Hi, Kevin
Thanks for the reply :)


What type of filesystem is your "root" partition?

fd --> Linux Raid Autodetect

Personally, I've never used it, but lets see if we can make some headway below....


Is all of the necessary support for this fs compiled into your kernel?

Well, the old kernel boots. I haven't changed the .config I used make oldconfig The command #diff .config .config.old --> returns nothing

That means that whatever was builtin to the old kernel is builtin to the new kernel, and whatever was a module in the old kernel should be a module in the new kernel. Did you run "make modules" and "make modulesinstall"?


As an aside, what are the "names" of your linux kernels? I recently rebuilt a RedHat 2.4.20-28.9 as my own, and called it 2.4.20-28.9kc. When the modules got installed, they were installed to a "new" directory: /lib/modules/2.4.20-28.9kc (the original modules were installed in /lib/modules/2.4.20-28.9 by the RedHat RPM when I installed it).

If not, did you remake the proper initrd.img file for your new kernel so that it contains the proper modules for your root partition?

initrd.img is something I'm not familiar with. Byt the kernels are the same

initrd is a ramdisk image used by RedHat (and others) in order to keep the actual number of drivers builtin to the kernel to a minimum, and to include those which are necessary in order to help the system finish booting and then load all of the necessary filesystems so that the "rest" of the modules can be loaded from the newly mounted filesystems.... It is particularly used if you boot from a SCSI disk and your kernel doesn't have the necessary SCSI modules compiled into your kernel. Instead, the .o files for the modules are copied into your initrd.img file my the "mkinitrd" so that your kernel can load them as modules before it it ready to mount your actual root partition.


Your error messge (the reason you started this email thread, remember? B^) is a problem with the kernel not recognizing the "type" of the root filesystem [ie, it does not have the proper support builtin or available in the initrd.img file that (may or may not) have gotten loaded when you booted. This is what you need to track down:

WHERE IS YOUR SUPPORT FOR THE "FD -> Linux RAID Autodetect: filesystem....."

The chronology is the following:

System BIOS determines the active partition and loads and executes the boot loader.

Yes.

Good!


The system boot loader knows where to find the Linux kernel image, how to load it, and to de-compress it if necessary.

The problem is that the two kernels are exactly the same. And the old boots, the new don't !!!

No, if the two kernels were EXACTLY the same, they would both boot!


(Sorry, couldn't resist!) If its not the kernel, its the way the boot loader is configured to boot the new kernel. Is that the same?

This kernel image needs to contain the necessary file systems builtin to it in order to find and mount the root partition so that it can load any necessary modules needed to complete your system boot up.

This is OK


If (like RedHat) your boot loader boots an initial RamDisk image, this image can contain copies of various modules needed for the kernel image to load so that it has all the necessary modules it needs to find/load the root file system. When it mounts the root partition, it unmounts the initial ramdisk and your system boot then continues "normally".

I'm not sure about this. I use Slackware.

OK, that's progress, I haven't used Slackware since 1995....


Is this clear enough?

Yes :), thanks a lot!

Feel free to bounce a new set of questions off of me if you need to....


Something I found is: 09:00 is NOT the SCSI disk. It's SCSI Tape! The other kernel reads from 08:00 (or something). Why this kernel
tries 09:00? How can I change this?

Check out your Makefile(s). Look for ROOT_DEV. The RedHat default is the value "CURRENT". I'm not sure what Slackware is using these days....


Block device 8 is the SCSI disk subsystem, so 08:00 would be /dev/sda.
Block device 9 is the Metadisk (RAID) devices, so 09:00 would be /dev/md0....
(Character device 9 is the SCSI Tape system. Aren't devices wonderful?)


Sounds to me like either you are trying to mount the wrong device as your root partition, or you don't have support for your RAID root partition built into your kernel....

If you are using SCSI devices in your RAID array, it would then look like you need to fix your ROOT_DEV definition in your Makefiles....

Thanks again for replay

help is appriciated

Good Luck! Happy to help!


--
Kevin J. Cummings
kjchome@xxxxxxx
cummings@xxxxxxxxxxxxxxxxxx
cummings@xxxxxxxxxxxxxxxxxxxxxxx
-
: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Newbie]     [Audio]     [Hams]     [Kernel Newbies]     [Util Linux NG]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Device Drivers]     [Samba]     [Video 4 Linux]     [Git]     [Fedora Users]

  Powered by Linux