To compile the linux-2.4.23 kernel, do :
[root@localhost root]# cd /usr/src/linux-2.4.23
[root@localhost linux-2.4.23]# make mrproper
...
[root@localhost linux-2.4.23]# make xconfig
...
[root@localhost linux-2.4.23]# make dep
...
[root@localhost linux-2.4.23]# make clean
...
[root@localhost linux-2.4.23]# make bzImage
...
[root@localhost linux-2.4.23]# make modules
...
[root@localhost linux-2.4.23]# make modules_install
...
Then, you should copy the kernel image and the System.map file in the /boot
directory :
[root@localhost linux-2.4.23]# cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.23
[root@localhost linux-2.4.23]# cp System.map /boot/System.map-2.4.23
Why vmlinuz
? I don't know, but it is the only way I fund to load the new kernel correctly. I think that Lilo applies a mask to this name to extract the version number and uses this number to determine the System.map version.
The new System.map-2.4.23 must be linked with the System.map file :
[root@localhost linux-2.4.23]# cd /boot
[root@localhost boot]# ln -s System.map-2.4.23 System.map
Don't worry with your initial link on the System.map file. I don't know why, but Lilo remembers it.
If necessary, create the initrd.img file in the /boot
directory :
[root@localhost linux-2.4.23]# mkinitrd /boot/initrd-2.4.23.img 2.4.23
Edit /etc/lilo.conf
and add to it the following lines:
image=/boot/bzImage-2.4.23
label=Linux-2.4.23
root=/dev/hda5
# uncomment the following line if necessary
#initrd=/boot/initrd-2.4.23.img
read-only
Now, you should reinstall the Linux Loader :
[root@localhost etc]# lilo
Your new kernel is now installed. Reboot your computer and choose Linux-2.4.23
at the prompt.