Download the source for the new kernel and put it in /usr/src/linux-2.4.20
Create a link from /usr/src/linux-2.4.20 to /usr/src/linux-2.4
cd /usr/src/linux-2.4
make someconfig ... menuconfig, xconfig, oldconfig (if you have an old .config) This is where you actually configure what options you want.
make dep
make clean
make bzImage
make modules
make modules_install
copy the bzImage and System.map to /boot , renaming them to vmlinuz-2.4.20 and System.map-2.4.20 , or some-such to keep them straight from the old ones.
mkinitrd /boot/initrd-2.4.20.img 2.4.20 ... This creates an initrd (INITial RamDisk) to boot.
Then, create a new entry in your lilo.conf or grub.conf . Copy what you have for your current kernel and point to the new 2.4.20 files.
Of course, this isn't detailed, but you can find HOW-TOs at the Linux Document Project...
www.tldp.org