Step 1
Obtain the latest kernel from www.kernel.org. To see what kernel version you are currently using type "uname -r" at a console prompt.
Step 2
Download the kernel source into the /usr/src directory. Extract the kernel source by using the "tar -xzf <source file name>"
Step 3
If you are upgrading, go into the old linux source tree and copy the ".config" from the old source tree to the new one. If you type "ls -l" you should see a symbolic link call "linux" or "linux (short version number)" pointing to the old linux source tree, usually called "linux (full version number)". Go into the old source tree by typing "cd (old source tree)". Type "cp .config ../(new source tree)". Now type "make oldconfig".
Step 4
Now type cd "../(new source tree)" and "make menuconfig". Select your options and save the configuration. The configuration is saved in a .config file in the root of the linux source tree /usr/src/(new source tree).
Step 5
Now type "make dep clean bzImage modules modules_install" Go get yourself a good book this will take a while. This command sequence will compile the kernel and modules.
Step 6
Now type "make bzdisk". Make sure that you have a blank floppy in the floppy drive.
Step 7
Copy the System.map and the kernel to /boot. Type cp "System.map /boot". Now type "cp arch/i386/boot/bzImage /boot"
Step 8
Ok we're almost done. We need to rename the new kernel and update the symbolic links. Type "mv bzImage vmlinuz-(new version number)" and "mv System.map System.map-(new version number)". Now update the symbolic links by typing "ln -s vmlinuz-(new version number) vmlinuz" and "ln -s System.map-(new version number) System.map".
Step 9
Ok the last thing we have to do is update your boot loader config file. Type "cd /etc" and type "vi grub.conf or lilo.conf" This depends on what boot loader you are using i.e. Grub or Lilo. Open the file with the vi editor and add a boot path to the new kernel. Make sure that you leave the old kernel boot path so that you can boot using the old kernel if you run into problems. Your modified grub.conf might look something like the one below.

|