Compiling a kernel ------------------ 1 . Unpack the sources: Login in as 'root' throughout all these steps. Mount Redhat linux cdrom (Disc 2 of Redhat9) and install the linux kernel source rpm bash$ su - root bash# cd /mnt/cdrom/RedHat/RPMS bash# rpm -i kernel-headers*.rpm bash# rpm -i kernel-source*.rpm bash# rpm -i dev86*.rpm bash# rpm -i bin86*.rpm 2. Clean : Before doing mrproper below, you may want to backup the .config file. bash# cd /usr/src/linux bash# make clean bash# make mrproper # "MUST DO THIS mrproper", otherwise you will face hell lot of problems !! bash# make clean 3. Copy the config file from the old kernel bash# mkdir /usr/src/kernelconfigs Copy the config over here and load it when you start either xconfig or menuconfig. 4. COnfigure the kernel bash# cd /usr/src/linux bash# make xconfig or bash# make menuconfig 5. After configuring and saving the configuration bash# make dep After, this , change the externalversion in vi Makefile (/usr/src/linux) 6. Make bash# nohup make bzImage & bash# tail -f nohup.out This will put the kernel in /usr/src/linux/arch/i386/boot/bzImage 7. Compiling Modules bash# cd /usr/src/linux # Redirect outputs such that you do not overwrite the nohup.out which is still running... bash# nohup make modules 1> modules.out 2> modules.err & bash# less nohup.out bash# less modules.err bash# less modules.out bash# make modules_install 8. bash# cp /usr/src/linux/arch/i386/boot/bzImage /boot/bzImage.vinod cd /boot mkinitrd ./initrd-vinod.img 2.4.18-19.8.0custom Note : 2.4.18-19.8.0custom will be in /lib/modules 9. In /etc/grub.conf (take a backup of this file) add, title Red Hat Linux (Custom Kernel) root (hd0,8) # same as old linux kernel kernel /bzImage.vinod ro root=LABEL=/ hdd=ide-scsi initrd /initrd-vinod.img Note : (hd0,8) varies for each laptop. Find out the correct parameter in your /etc/grub.conf You can save this file and restart. Good Luck!