aic7xxx/kernel version mismatch
dledford at dialnet.net
Wed Mar 4 09:47:44 PST 1998
> I'm hoping one of you more experienced Linux admins or AIC7XXX programmers
> can help me with a problem I've been struggling with for several hours now.
> I have RedHat Linux 5.0 (kernel version 2.0.32) running on my Pentium 133
> system with an Adaptec 2940 SCSI host adapter (it's using the aic7xxx.o
> loadable module). Everything works fine as of the RedHat install.
> I later built a smaller kernel without all the things I don't need, and
> everything was fine with that, too.
> However, last night I applied the patch-2.0.33 to the source distribution
> (which also upgrades the aic7xxx module from 4.1 to 4.1.1) and did the
> "make mrproper...xconfig...dep...clean...zImage...modules" etc and
> installed it.
> Now when I reboot using that new kernel, I get the following error message
> and kernel panic:
> Loading aic7xxx module
> /lib/aic7xxx.o: kernel-module version mismatch
> /lib/aic7xxx.o was compiled for kernel version 2.0.32
> while this kernel is version 2.0.33.
> VFS: Cannot open root device 08:14
The long and short of the problem is this. The aic7xxx module is loaded
from an initrd ram disk image. In order to have the new module you just
compiled get loaded instead of the old one that came with the distro, then
you need to remake the initrd file. (Think about it, how could the system
read the /lib/modules/2.0.33/scsi/aic7xxx.o module from the disk if the
driver for the SCSI card isn't loaded yet?) The easiest way to do this is
to issue the following commands:
mv /boot/initrd /boot/initrd-2.0.32
mkinitrd --ifneeded -f /boot/initrd-2.0.33 2.0.33
In here are one (or more) sections that start with a line that is
For any of these sections that happen to point to a 2.0.33 kernel, change
line that says initrd=/boot/initrd to initrd=/boot/initrd-2.0.33
Save the file when all of these changes have been made (I recommend you
section to the lilo.conf file like this:
root=/dev/sd?? <whatever your root drive is>
which will then allow you to be able to boot the original 2.0.32 kernel as
rescue kernel in case something goes wrong elsewhere. NOTE: the file
/boot/vmlinuz-2.0.32 should already exist as it should have been installed
during the machine installation)
Doug Ledford <dledford at dialnet.net>
Opinions expressed are my own, but
they should be everybody's.
To Unsubscribe: send mail to majordomo at FreeBSD.org
with "unsubscribe aic7xxx" in the body of the message
More information about the aic7xxx