Well - basically what you do is:
go to http://www.kernel.org
and get yourself a shiny new kernel
Then you unpack the thing into /usr/src/
Then you do:
make dep && make clean bzImage modules modules_install
mv /boot/bzImage /boot/bzImage.orig
cp /usr/src/linux-x.x.x/arch/i386/boot/bzImage /boot
Couple of things:
you can use make config,make menuconfig or make xconfig
Thats a matter of your personal taste - does the same thing with a different interface.
When you 'mv /boot/bzImage' it might be something like bzImage-2.2.20 or whatever you got in there.
Up to the point where you move the bzImage you can still change your mind after that you better get it to work.
What you need in the kernel depends on your hardware - a look in the boot messages is helpful to figure that out.
After that you need to change lilo.conf to make your new kernel bootable.First of all change the original section where it says 'image = /boot/xxx' to /boot/bzImage.orig
Then make a new section like the one you alredy got in there.Just change:
image=/boot/bzImage - that's your new kernel and -
label = this won't work - or anything you like
Then run 'lilo' or /sbin/lilo and reboot if this didn't give you any error messages.
You should be able to boot into 'this won't work' with your new kernel or into,I think it's 'debian' with your original kernel after that.
But you might want to do some additional research on the subject.