No aic7xxx module found for kernel
I have been trying to compile a new kernel. But whenever I use the mkinitrd command to generate the initrd image. This error appears "No aic7xxx module found for kernel" . Does anybody has any idea ?
Have you tried to boot without initrd? This usually works pretty well, but aic7xxx must be enabled in the kernel.
I have no tried booting with the initrd. Will it have any problem for other modules ?
Initrd does not (i think) affect your modules very much. You just have to test it an see what happens.
See step 13 below for "No module aic7xxx found for kernel"
How to Compile 2.6 kernel for RedHat 9/8
Last Updated: Sun Mar 14 15:22:13 EST 2004
The latest version of this document can be found at:
For configs ref:
Download the latest version of the kernel and any patches.
This documentation is done with linux-2.6.3, but look for
Also take a look at
http://www.codemonkey.org.uk/post-halloween-2.5.txt This has
some useful hints on some of the changes needed.
Download the latest version of module-init-tools
Install module-init-tools. This will replace depmod
[/sbin/depmod] and other tools.
tar -zxvf module-init-tools-3.0-pre10.tar.gz
Install modutils-2.4.21-23.src.rpm. You'll may get warnings
about user rusty and group rusty not existing. Also, yes,
you'll have to force the install. If you don't do these steps
for both Redhat 9 and Redhat 8, you'll have problems with the
rpm -i modutils-2.4.21-23.src.rpm
rpmbuild -bb /usr/src/redhat/SPECS/modutils.spec
rpm -Fi /usr/src/redhat/RPMS/i386/modutils-2.4.21-23.i386.rpm
Install and configure the kernel. Do NOT use the /usr/src/linux
area! Reference the README. I put my files in /home/src/kernel/
gunzip linux-2.6.3.tar.gz tar -xvf linux-2.6.3.tar cd
If you have patches install these now:
bzip2 -dc ../patch-2.6.xx.bz2 | patch -p1
Copy the appropiate /usr/src/linux-2.4/configs
to .config in whatever directory you are installing. In my
case it's /home/src/kernel/linux-2.6.3
cp /usr/src/linux-2.4/configs/kernel-2.4.20-i686.config \
If you don't have the source configs, you can download them
I've also included a file config2.6-chirico which was a 2.6
version for some of my systems. This isn't a bad reference if
you run into trouble.
Assuming you copied the appropriate kernel-2.4 config to
.config, run the following which will run through necessary
questions for the 2.6 kernel. Or, you might want to use the
config2.6-chirico...this has already been run through make
oldconfig on my system, and I've answered the necessary questions
for a general system.
This is very important. Make sure you're .config has the
following in it CONFIG_EXT3_FS=y You'll run into the following
error if you leave this =m instead of =y:
pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed
This is because Redhat 9.0 and 8.0 use the ext3 filesystem
for /boot ...
Edit the Makefile and add changes to the Extraversion is needed.
Patches will update these values as well.
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 3
EXTRAVERSION = -skim-ch6
If you come across errors here, what version of "depmod" is
being picked up in your path?
Also, if you get a module not found, say the following:
No module aic7xxx found for kernel 2.6.x
Then, in /lib/modules/2.6.x/kernel/drivers/scsi/aic7xxx/
cp aic7xxx.ko aic7xxx.o
insmod should look for aic7xxx.ko ;but , it looks for aic7xxx.o
If you still have touble, make the following change in the
and go back to STEP 10.
You also may want to ref
/etc/rc.sysinit needs to be modified. Look for the following
action $"Mounting proc filesystem: " mount -n -t proc /proc /proc
and after this line enter the following:
action $"Mounting sysfs filesystem: " mount -t sysfs none /sys
Here's my /etc/rc.sysinit for reference:
Be very careful at this step. Backup the /etc/rc.sysinit file.
Thomer [http://thomer.com/linux/migrate-to-2.6.html ] also added
changes to /etc/fstab. I did NOT have to do this. No harm in
addding; you'll just get a warning when booting that it can't be
Check the following:
a. The new image file should be installed on boot and there
should be sym link to it. My latest kernel is 2.6.3-skim-ch6,
and I got the "-skim-ch6" from the values I put in the Makefile,
so I see the following:
vmlinuz -> vmlinuz-2.6.3-skim-ch6
System.map -> System.map-2.6.3-skim-ch6
/boot/grub/grub.conf Should have been automatically
updated from make.
Install and look something like the the following:
# grub.conf generated by anaconda
# Note that you do not have to rerun grub after making
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to
# root (hd0,2)
# kernel /vmlinuz-version ro root=/dev/hda6
# initrd /initrd-version.img
title Red Hat Linux (2.6.3-skim-ch6)
kernel /vmlinuz-2.6.3-skim-ch6 ro root=LABEL=/
b. The directory /sys exists
c. You added the mount command for sys in /etc/rc.sysinit
d. CONFIG_EXT3_FS=y was used in the .config
e. Run /sbin/lsmod or cat /proc/modules to make
sure you didn't forget to enable a module.
Build your own kernel modules.
also take a look at
KERNEL DRIVER DEVELOPMENT IN 2.6:
Excellent (series of articles):
Here's my sample program:
Good but dated for 2.4 kernel:
|All times are GMT -5. The time now is 08:27 AM.|