Compiling kernel problem

Mads V. Pedersen rhl-list at volsted.com
Sat Dec 27 07:41:51 UTC 2003


Juan,

Juan wrote:
> I did as you said, and the same error:
> 
> + exec /sbin/installkernel 2.4.22-1.2135.nptlcustom bzImage
> /usr/src/linux/System.map ''
> No module sata_sil found for kernel 2.4.22-1.2135.nptlcustom, aborting.
> mkinitrd failed
> make[1]: *** [install] Error 1
> make[1]: Saliendo directorio `/usr/src/linux/arch/i386/boot'
> make: *** [install] Error 2
> 
> I think Im going to reinstall Fedora Core and then try.
> 
No need to reinstall, that is most likely not going to change anything.

I think your kernel config doesn't include the module that is missing 
(sata_sil).

You have two options:

either

a) When you do "make xconfig" you can select the needed modules yourself.

or

b) Copy one of the pre-made config files from the config directory - 
this is the option I would suggest and will describe below.

Assuming option b) from above and that you have the kernel-source 
package installed here are the steps to use:

1) cd /usr/src/linux-2.4
Change to the source directory

2) make mrproper
Clean out old junk

3) cp configs/kernel-2.4.22-i686.config ./.config
Copy the config file that matches your system best. You are not 
describing your system so I don't know which one you should choose, but 
they should be fairly self-explanatory

4) make oldconfig
Check the .config file

5) make dep clean bzImage modules
Build the dependencies, the kernel and the modules

6) su -
Become root

7) cd /usr/src/linux-2.4
Change to the source dir

8) make modules_install
Install the modules

9) cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.22-1.2135.nptlcustom
Copy the kernel to the boot directory

10) cp System.map /boot/System.map-2.4.22-1.2135.nptlcustom
Copy the symbols file to the boot dir

11) mkinitrd /boot/initrd-2.4.22-1.2135.nptlcustom.img 
2.4.22-1.2135.nptlcustom
(one line) create the boot image

12) vi /boot/grub/grub.conf
Edit the grub config file, you will need to add a new entry by copying 
the 4 lines that make up an entry and edit them, so if you e.g have

title Fedora Core (2.4.22-1.2135.nptl)
         root (hd0,0)
         kernel /vmlinuz-2.4.22-1.2135.nptl ro root=LABEL=/ rhgb
         initrd /initrd-2.4.22-1.2135.nptl.img

change it to

title Fedora Core (2.4.22-1.2135.nptlcustom)
         root (hd0,0)
         kernel /vmlinuz-2.4.22-1.2135.nptlcustom ro root=LABEL=/ rhgb
         initrd /initrd-2.4.22-1.2135.nptlcustom.img

13) reboot
Now if none of us have made any typos you should be able to reboot your 
system and choose the new entry from the grub menu.

The above is not going to do much except build a kernel that is most 
likely very similar to the one you are already running, so you can 
debate what the value is. But you can use it as a starting point to 
building a kernel that is taylored to your system by changing the 
.config file further.

I suggest that you read some of the documentation that comes with the 
kernel source, start with /usr/src/linux-2.4/README. You can also find 
several documents on building kernels on the web, try google.

Good luck

-- mads





More information about the fedora-list mailing list