"Kernel panic: VFS: Unable to mount root fs" - Kernel fails to boot linux
My kernel panics when I boot my linux. Error message:
Code:
VFS: Cannot open root device "802" or 08:02 I have tried to boot using LILO (installed to sda's MBR), the slackware CDs and floppy boot disk. I partitioned /dev/sda1 as swap, and /dev/sda2 as RFS (my root folder). Is there a file I need to modify or kernel I need to patch so I can boot linux from my hardrive? Any help is very much appreciated. Extra boot lines of interest: (what does 802 mean?) Code:
Kernel command line: BOOT_IMAGE=Slackware ro root=802 |
I'm not familiar with the specifics of LILO, since I generally stick with GRUB, and didn't get very far with my Slackware installation, but you should have a file called /etc/lilo.conf.
You might want to take a look here for some details on that file. I know it's from the Gentoo manual, but that part is specifically about setting up LILO, and it might prove to be useful. |
LILO not the problem, Still Unsolved
Dfego: LILO is not the problem, because I receive the same error when I boot using a Slackware boot prompt, which does not use LILO. I have successfully installed LILO and Slackware 10.2 before, but on an internal IDE drive. I suspect the problem I have is occurs in my kernel or it's related files. Thankyou for your suggestion.
|
Sorry for that, I've had all sorts of boot problems, and now I remember what caused one similar to this. I didn't have the proper things enabled in my kernel, in terms of support for the proper disk drives. All of that has to be compiled in, not as modules. I won't pretend like I know exactly how to do this with Slackware, so I'll hope that is of use to you.
|
Have you tried doing a search on boot usb harddrive on google, it brought up lots of hits with howtos
|
How do I Install Kernel to /mnt/sda2/ ?
Because, my kernel could not mount the filesystem on my USB Harddrive (not flash-drive), I used Knoppix to download the latest kernel: linux-2.6.17, and customize it. I made sure to include support for SCSI disks, SCSI emulation, mass USB storage, and RFS filesystem support. I suspect that by default Slackware implemented the needed SCSI support as a module, therefore the Kernel couldn't mount the filesystem. After I customized the kernel, I made a copy of .custom, and compiled the linux-2.6.17 kernel into an RPM, which I assume includes all the necessary initrd, config and modules.
My difficulty is this: Because I cannot boot my Slackware system, I must replace the kernel from a bootable OS (Knoppix or MEPIS), but I saw no option to tell the kernel to install under /mnt/sda2/ instead of the root folder on the ramdisk. Currently I have the kernel source (linux-2.6.17.tar.bz2), the compiled custom kernel as an RPM (kernel-2.6.17test1-1.i386.rpm), and the .config file. I tried to run the RPM installer using Knoppix, but I saw no method to redirect the installation path to /mnt/sda2, nor could I type the correct root password for Knoppix, despite resetting the password via the Knoppix menu. (I did not experience any password difficulties using MEPIS.) How should I go about installing my Kernel to my USB root partition, addressed as /mnt/sda2 from a bootable OS? I don't see an easy way to change the install directory. Many thanks to all who have and will help me. |
Try chrooting into /mnt/sda2 with chroot /mnt/sda2. This will make /mnt/sda2 your root directory and allow you to use the tools within the Slackware environment ot build and install the new kernel. Type exit to exit the chroot.
|
Chroot is mixed blessing. - unable to "make menuconfig"
Btmiller, thankyou for your suggestion. It worked purely for the purpose of swapping the BASH on my slackware installation. Unfortunately, when I tried the make menuconfig prompt in the slackware bash - it replied "bash: make: command not found." So do I need to reinstall slackware to include the programming collection of files, is there a way to install the RPM file of the precompiled kernel from the terminal prompt (that would save some hastle) or do I need to do something else? Please forgive my limited knowledge of linux commands, and thankyou very much for your help.
|
Get the make tgz off of the Slackware CD and install it with installpkg. You'll also need the compilers (gcc and binutils I think will do). Remember, Slackware uses tgz packages, not RPMs. If you can find a kernel tgz that will work for you then you can try installing it.
|
Software differences
Thankyou btmiller. Because I need the compilers, I will reinstall Slackware with the necessary packages. Then I will reattempt to install the kernel using make menuconfig after using chroot
Quote:
Thankyou all for your help. |
After many attempts to use chroot and su -l (the only way I could finalize the transfer to the Slackware shell), I still recieved many new system errors:
1) what does /bin/sh: /dev/null: Permission Denied mean? I tried chown -R root:root /bin/sh and chown -R root:root /dev/null, but I could not stop the message from appearing. 2) when I ran make modules_install, the message "intstall module-init-tools - see http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt" appeared. Is this needed. 3) I could not compile bzimage to the arch/i386 folder. Any suggestions? Much thanks to all who have helped me and will help. |
Perhaps try compiling SCSI support into your kernel (I've had success when NOT as a module).
ex: run make menuconfig and: Look in Device drivers area under "SCSI". Set "Generic SCSI support" on, and then go to the IDE/ATAPI area and set "Enable SCSI support". GOod luck. |
All times are GMT -5. The time now is 10:47 AM. |