Slackware and Grub
I've just installed Slackware 9.1 and would like to use Grub 0.94 to boot to it and other OSs. I get a kernel panic with the following maneuvers:
root (hd0,1) #no problem. The file system is correctly identified kernel /vmlinuz-ide-2.4.22 root=/dev/sda5 ro hdc=ide-scsi #no problem. the kernel is identified boot # A problem: see below kmod: failed to exec /wbin/modprobe -s -k block-major-8, errno=2 VFS Cannot open root device "sda5" or 08:05 Please append a correct "root=" boot option Kernel panic: VFS: unable to mount root fs on 08:05 The Slackware boot disk I made during installation works perfectly and takes me to the Slackware CLI. On the same machine (with a swapout drive mounting Gentoo and LFS) I have no problem with this grub.conf: title=Bob's Gentoo 1.4 (genkernel generated kernel 2.4.20-gentoo-r8) root (hd0,0) kernel (hd0,0)/boot/bzImage root=/dev/sda3 hdc=ide-scsi initrd (hd0,0)/boot/initrd-2.4.20-gentoo-r8 title=Linux from Scratch (manual 2.4.22 kernel) root (hd0,3) kernel /boot/lfskernel root=/dev/sda4 ro What can I do to fix Grub and Slackware? Thanks. |
Are you sure that \ is on sda5?
|
Yes, I'm sure. The linux boot disk, when used, specifically states that it will boot /dev/sda5.
I have examined the file system with MC and it clearly shows / as being /dev/sda5. /boot, though is on /dev/sda2. Should that make a difference? |
I had the same problem using LILO! (I was going to try Grub instead) Cannot boot from hard-drive, but boot floppy works perfectly?!? (get same kernel panic)
Even after re-installing LILO it does the same thing happens. |
You can flame me if I'm wrong.
I seem to remember that linux doesn't like drive-swapping. It keeps a record of the hardware between boots so that you don't have to sit through a complete set of detection routines at boot up. The system is mapped when you install. Having linux on a removable drive bay, when it isn't the only drive--and grub or lilo is in the MBR of the first IDE hard drive==crash city. You may have to set up an alternate etc/sysconfig/hw and system.map_kernel_version to compensate for the removable drive. Do some searches and see if it is so. |
umm I don't have a scsi drive but grub and your menu.ist I will translate that may give you some tips?
If root is truly (hd0,1) then root= /dev/sda2 (or hda2 if IDE drive) However, your slackware /boot folder may not be on the same partition and a normal slack does not use an initrd image. try title slack kernel (hd0,1)/boot/vmlinuz root=/dev/sda2 ro hdc=ide-scsi change hd0,1 to where your /boot partition is MINUS one digit so sd9= (hd0,8) |
Thanks for the help! I was able to get things going with a modification of your instructons:
kernel (hd0,1)/vmlinuz root=/dev/sda5 Now, what's the difference between vmlinuz and vmlinuz-ide-2.4.22? Are they two different kernels? Those probably seem like dumb questions, but why would the distro install two different kernels in /boot? |
If you use the ls -Al (L) you will see that vmlinuz is a link to the full name of the kernel. This means that when you update your kernel, you can always have the newest one as the default by changing the link.
My machine has every kernel I have ever played with still on it because I have been too lazy to clean it up. The deal is; in an emergency, you just have to point to vmlinuz from the command-line and the link is to be to the last working kernel. Of course that isn't how redhat does it. (It always does the link to the newest kernel--which may be the one which was hosed up.) I may be mistaken, I go with what I know. Things may have changed when I wasn't looking. I really did have trouble with removable drives. Maybe it was that I had cheap ones. |
Thanks for the explanation.
Bob |
All times are GMT -5. The time now is 02:00 PM. |