LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   LILO and Kernel issues (https://www.linuxquestions.org/questions/slackware-14/lilo-and-kernel-issues-577953/)

Drahgkar 08-18-2007 02:52 AM

LILO and Kernel issues
 
Hello everyone,

Plain and simple, I have just (re)compiled a new 2.6.22(.3) kernel. When I run lilo after copying bzImage to /boot/2.6.22 I receive the following error:

/proc/misc: No entry for device-mapper found
Is device-mapper driver missing from kernel?
Failure to communicate with kernel device-mapper driver.

However after this lilo goes on to add my windows and other linux partitions with apparently no problems.

When I try to boot the new kernel, I get a kernel panic with the following error:

VFS: Cannot open root device "803" or unknown-block(8,3)
Please append a correct "root=" boot option; here are the available partitions:
0300 117220824 hda driver: ide-disk
0301 58605088 hda1
0302 2000092 hda2
0303 56613060 hda3
1600 4194302 hdc driver: ide-cdrom
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,3)

I have gone through these forums and googled everything I can think of to fix this problem. The closest I can come to my problem is this thread http://www.linuxquestions.org/questi...d.php?t=575822 However, it doesn't fix my problems. As far as I can tell all of the pertinent options in the kernel config are selected since at one point I used the same .config file as the operational 2.6.21 kernel. I have also tried compiling the new kernel from scratch. If anyone can help I would greatly appreciate it.

My hardware and operational kernel specs are as follows:

Intel Core 2 Duo T7200
Intel ICH7 Chipsets (Audio, PCI Bridge, USB Controllers, ISA Bridge, IDE Interface SATA Controller, and SMBus)
Nvidia GeForce Go 7300 Graphics
120 GB SATA hard drive

Slackware 11 with 2.6.21 Kernel

mdg 08-18-2007 08:18 AM

What procedure are you using to compile the kernel (ie step by step)?


You mentioned copying over bzImage, did you also copy System.map?

saikee 08-18-2007 08:30 AM

I think kernel 2.6.20 and newer have abondoned the Pata disk names and are using the SCSI/Sata/USB convention.

It is possible that some versions may still support hda, hdb, hdc and hdd but in the main they are now known as sda, sdb, sdc and sdd.

If your kernel, which is a 2.6.22, complains not able to find 803 for sda3 because Lilo is still addressing it as 303 for hda3 then the above change could be the cause.

I think you can overcome it by altering /etc/lilo.conf all the hdx reference to sdx. Not so sure if your update amends the /etc/fstab too but similar changes need to be carried out there as well.

granth 08-18-2007 12:27 PM

im having the same problem here. i havent rebooted yet, so i dont know if i'll get a kernel panic. im rebuilding 2.6.22.3 with the device mapper built into the kernel.

currently 2.6.22.1
building 2.6.22.3 with same options + device mapper support

/dev/sda4 swap swap defaults 0 0
/dev/sda3 / reiserfs defaults 1 1
/dev/sda1 /boot ext3 defaults 1 2
/dev/sda2 /home jfs defaults 1 2
#/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
/dev/md0 /raid0 jfs defaults 1 2
/dev/md1 /raid1 ext2 defaults 1 2

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
append="Slackware"
lba32
boot = /dev/sda
message = /boot/boot_message.txt
prompt
timeout = 300
# Override dangerous defaults that rewrite the partition table:
change-rules
reset
# Normal VGA console
vga = normal

LILO version 22.8

image = /boot/vmlinuz
# initrd = /boot/initrd.gz
root = /dev/sda3
label = Rufus
read-only
# Linux bootable partition config ends
# Generic begin
image = /boot/generic
initrd = /boot/initrd.gz
root = /dev/sda3
label = Generic
read-only
# Generic end
# Failsafe entry config begins
image = /boot/huge
root = /dev/sda3
label = Huge
read-only
# Failsafe entry config ends



Error produced:

/proc/misc: No entry for device-mapper found
Is device-mapper driver missing from kernel?
Failure to communicate with kernel device-mapper driver.

saikee 08-18-2007 02:29 PM

To me if a user gets a kernel panic then that has no business to do with the boot loader.

The duty of the boot loader is to load the kernel. If the kernel is faulty there is nothing Lilo can do because by the time kernel takes over Lilo is gone.

I think a self upgrade of a kernel is always risky because some components belonging to the older version may not work satisfactorily with the new kernel.

gilead 08-18-2007 02:48 PM

The only thing I found through google that may be of use is at http://www.archlinux.org/pipermail/a...ch/013740.html where they suggest modprobe dm-mod (prior to running lilo). Have you tried that?

Alien Bob 08-18-2007 03:01 PM

Slackware 12.0 comes with a lilo that requires the device-mapper to be loaded into the kernel (as a built-in or loaded as a module).
The default Slackware kernels have the dm-mod and dm-crypt drivers built into the kernel, that is why you don't see this message with a normal Slackware installation.
Keep CONFIG_BLK_DEV_DM enabled in your kernel config and the error should go away once you run that kernel.

Eric

Drahgkar 08-18-2007 05:16 PM

Quote:

Originally Posted by mdg (Post 2862969)
What procedure are you using to compile the kernel (ie step by step)?


You mentioned copying over bzImage, did you also copy System.map?

mdg - The way I am compiling is, from what I understand, the standard way; download the kernel source, unpack it, "make clean" then "make menuconfig", go through and enable and disable the appropriate options, "make", "make modules", "make modules_install", once that is done I copy bzImage to /boot/2.6.22 and edit lilo.conf so it knows where the new kernel is, then I run lilo to update the configuration. This point is where I get the device mapper error and then it goes on to add the entries. The other ways I have done things is to copy the .conf file from my 2.6.21 kernel into the new kernel and then "make mrproper" or "make clean" and go from there. No I didn't copy System.map since I have never needed to before and my knowledge of just how that works is pitifully small. Also I don't necessarily want to hose my operational kernel by overwriting the System.map it uses and works with. Am I mis-understanding how that works?

Quote:

Originally Posted by saikee (Post 2862976)
I think kernel 2.6.20 and newer have abondoned the Pata disk names and are using the SCSI/Sata/USB convention.

It is possible that some versions may still support hda, hdb, hdc and hdd but in the main they are now known as sda, sdb, sdc and sdd.

If your kernel, which is a 2.6.22, complains not able to find 803 for sda3 because Lilo is still addressing it as 303 for hda3 then the above change could be the cause.

I think you can overcome it by altering /etc/lilo.conf all the hdx reference to sdx. Not so sure if your update amends the /etc/fstab too but similar changes need to be carried out there as well.

saikee - If I understand what you are saying correctly then I shouldn't have such a problem since my hard drive is a SATA drive and I have compiled in the support for scsi/sata/usb. Also my lilo.conf and fstab all reference the /dev/sdx for booting and mounting and work with 2.6.21.

Quote:

Originally Posted by gilead (Post 2863178)
The only thing I found through google that may be of use is at http://www.archlinux.org/pipermail/a...ch/013740.html where they suggest modprobe dm-mod (prior to running lilo). Have you tried that?

gilead - thanks for the link, I checked that out yesterday and tried "modprobe dm-mod" but it tells me that the module was not found. I compiled in support for the device-mapper into the new kernel but it isn't even included in my operational kernel so I don't know how this would be causing a problem.

Quote:

Originally Posted by Alien Bob (Post 2863190)

Keep CONFIG_BLK_DEV_DM enabled in your kernel config and the error should go away once you run that kernel.

Eric

Alien Bob - that option is enabled in the new kernel that I am trying to build but isn't even a configuration option in my slackware 11 2.6.21 kernel config. Would that be part of the problem?

Thanks everyone for the help so far!

Drahgkar 08-18-2007 05:23 PM

To help clear up future questions about my lilo.conf and fstab, their contents are below. image = /boot/2.6.21 is the currently operational linux.


/dev/sda2 swap swap defaults 0 0
/dev/sda3 / reiserfs defaults 1 1
/dev/sda1 /ntfs ntfs ro 1 0
/dev/hdc /mnt/cdrom auto noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
none /proc/bus/usb usbfs devgid=46,devmode=0666 0 0



# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
boot = /dev/sda
message = /boot/boot_message.txt
prompt
timeout = 1200
lba32
compact
# Override dangerous defaults that rewrite the partition table:
change-rules
reset
# VESA framebuffer console @ 1024x768x64k
vga = 791
# Normal VGA console
# vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# End LILO global section
# Windows bootable partition config begins
other = /dev/sda1
label = Windows
table = /dev/sda
# Windows bootable partition config ends
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda3
label = Linux
read-only
image = /boot/2.6.21
root = /dev/sda3
label = Linux-2.6.21
read-only
image = /boot/2.6.22
root = /dev/sda3
label = Linux-2.6.22
read-only
# Linux bootable partition config ends

sparc86 08-18-2007 11:16 PM

I'm exactly under the same problem! :scratch:


Any other idea?

duryodhan 08-19-2007 01:09 AM

Quote:

I think kernel 2.6.20 and newer have abondoned the Pata disk names and are using the SCSI/Sata/USB convention.
I am using kernel 2.6.22.3 right now and my root is /dev/hdb2 ... in the package given with Slack12 too , the kernel recognises it as hdb2 and not sdb2 ... I dont think I quite understand what you are saying.. could you please illuminate!

sparc86 08-19-2007 01:15 AM

I've found the problem! :D
 
Go to the "menuconfig" and into the "Device Drivers" options you have to select "Serial ATA (prod) and Parallel ATA (experimental) drivers". Now inside this you will find one more submenu where you're gonna have to select your sata controller.

They have changed the order of it's drivers into the menuconfig, that's why our old (not so old) config files didn't work.

One more thing, if you do use iptables/netfilter, then pay attention for this too. Because I've rebooted my machine after the recompiling and some netfilter drivers wasn't loading (for the same reason, menu changes), so now I've added them back and I'm recompiling the kernel again. I hope the netfilter will work now and, of course, I hope this will also solve your problems.

sparc86 08-19-2007 01:53 AM

Just to let you all know:

The netfilter drivers problem is actually solved. Therefore, you just do the same and your problem will probably be solved too.

Drahgkar 08-19-2007 01:54 AM

sparc86 thanks for the info, I went back through and verified the selections and those were selected along with the Intel ICH driver for PATA/SATA, but still no joy on the lilo and kernel panic.

sparc86 08-19-2007 02:11 AM

Intel ICH driver for PATA/SATA ? There's no such driver on that list.

The only intel drivers I saw was:
*Intel PATA MPIIX support
and
*Intel PATA old PIIX support



Read this info about the "Serial ATA (prod) and Parallel ATA (experimental) drivers" option.



│ CONFIG_ATA: │
│ │
│ If you want to use a ATA hard disk, ATA tape drive, ATA CD-ROM or │
│ any other ATA device under Linux, say Y and make sure that you know │
│ the name of your ATA host adapter (the card inside your computer │
│ that "speaks" the ATA protocol, also called ATA controller), │
│ because you will be asked for it. │
│ │
│ NOTE: ATA enables basic SCSI support; *however*, │
│ 'SCSI disk support', 'SCSI tape support', or │
│ 'SCSI CDROM support' may also be needed, │
│ depending on your hardware configuration.



As is written, you may need to add also SCSI disk support to your disk to work.


All times are GMT -5. The time now is 05:57 AM.