Go to www.kernel.org and download latest kernel 2.4.18.tar.gz.
Configure your kernel:
cd /usr/src/ tar xvzf linux-2.4.18.tar.gz cd linux # cd to kernel source directory just created by tar cp config.txt .config #(See NOTE below to find out where to get config.txt) make menuconfig |
NOTE | |
---|---|
You can download a working config.txt file HERE. You can, of course, modify this to suit your needs either directly in a text editor or by typing make menuconfig as explained above. It is easy to make mistakes if you are editing .config directly in vi or emacs. Therefore, it is recommended to use Menu Interface by typing make menuconfig. |
Enable all the following in the kernel statically (NOT as modules):
ATA/IDE/MFM/RLL Support --> <*> ATA/IDE/MFM/RLL Support IDE/ATA/ATAPI Block Devices --> <*> Enhanced ATA/IDE/MFM/RLL disk/cdrom/tape/floppy support <*> Include IDE/ATA-2 Disk Support [*] Use multi-mode by default Include IDE/ATAPI CDROM support [*] Generic PCI IDE chipset support [*] Sharing PCI IDE interrupt support [*] Generic PCI Bus master DMA support [*] Use PCI DMA by default when available [*] Intel PIIXn chipset support [*] PIIXn tuning support [*] Promise PDC202{46|62|65|67|68} support [*] Special UDMA Feature [*] Special FastTrack Feature [*] VIA 82CXXX chipset support <*> Support for IDE RAID controllers <*> Support Promise Software RAID (fasttrack) |
After you have enabled static features as shown above, make any more changes that you would like to make to suit your environment.
Save the kernel configuration. It is saved to .config in the current directory. Please back up this file. If you dont do so, you will regret it later. Copy .config file in a blank floppy or in /root
Build and install the kernel like you normally do, by typing:
make dep ; make clean ; make && make install make modules && make modules_install |
Look at /etc/lilo.conf to make sure new lines are added to boot your new kernel 2.4.18. Note that there should not be an initrd= line for this new kernel in /etc/lilo.conf. That is, our new kernel will boot itself without depending on a initrd.img unlike your current 2.4.7-10 kernel.
Now adjust /etc/lilo.conf as follows:
Locate the root=/dev/sdaX line for the new kernel in /etc/lilo.conf. Change this to root=/dev/ataraid/d0pX where X is a number 1 through 16. Save your changes.
Type:
/sbin/lilo |
If you chose any ext2 partitions during installation, you should comment them out in /etc/fstab for now.(Best thing is: Forget ext2 in this whole process)
Remove all floppies and CDs, and reboot by typing:
sync;sync;reboot |
At the LILO prompt, type your new kernel lable corresponding to 2.4.18 Your computer should then boot into your new kernel.
Login and type df -k to make sure you see /dev/ataraid/d0X entries instead of earlier /dev/sdaX entries.
NOTE | |
---|---|
You may see some errors related to mounting swap device at the time of booting into new kernel. These are harmless. You should edit /etc/fstab to change any sdaX entries to ataraid/d0pX entries. |
Now, connect your computer to Internet and download lilo-22.tar.gz (the latest version of lilo program) from the Internet.
Remove the existing lilo on your computer by typing: rpm -e --nodeps lilo
Install new version of lilo as follows:
tar xvzf lilo-22.tar.gz cd lilo-22 # cd to lilo source directory just created by tar ./QuickInst.sh |
Say "Yes" to questions the system will ask you.
Ignore any errors except if /sbin/lilo is not created.
Adjust /etc/lilo.conf as follows:
Replace linear by lba32
Delete line "compact"
Change vga= line to vga=normal
Change boot=/dev/sda line to boot=/dev/ataraid/dN (where N is the partition number on which your root file system exists. Type df -k / to find out your root partition number).
Make sure that default=linux-2.4.18 (where linux-2.4.18 is the label given to boot your new kernel: 2.4.18)
Save changes to the file and type: /sbin/lilo
Reboot the system and cross your fingers.
Here is how the final /etc/lilo.conf should look like.
If everything comes up without any errors, time to celebrate!!