When compiling a new kernel, it doesn't really matter what distribution you do as much as it depends on what bootloader you use. Anyway, here are some general instructions for compiling a kernel.
First of all, get the sources. http://kernel.org
is the official site with all of the Linux kernels. For now, just get the newest 2.6.x kernel.
*NOTE* Just clicking the link on the home page will download the patch. The full version can be downloaded from the homepage by clicking the link that says "F" off to the right of the link that reads "2.6.4" or whatnot.
After downloading it, extract it as root to /usr/src and then cd to /usr/src and delete the link called linux and then type:
ln -s linux-2.6.x linux (remember to change x to the last number in the kernel version you have. Type ls if you don't know for some reason.)
After doing this, cd to the linux-2.6.x directory and type:
make xconfig # This will bring up a menu in which you select the drivers and other options needed for your kernel. You can also type make menuconfig if not running X.
After configuring the kernel for your hardware. (if you know what is in your computer, you should be fine. If not, stop here and find out.) If you have a separate /boot partition that is not mounted like me, then mount it. (good for avoiding problems with the file system that the kernel is on in the case of a power outage and in the rare instance that ext3 has a problem or whatever filesystem you use) Now type the following commands:
make bzImage modules modules_install install
After that it is time to set the kernel up to boot. Here is how to do it in LILO. I'm not sure about GRUB, as I've never used it but they make readme's and stuff. Edit the file /etc/lilo.conf as root and add this stuff to the end.
image=/boot/vmlinuz-2.6.x # Remember to replace x with the last digit in the kernel version. You can check it through ls /boot
label="Linux-2.6.x" # This isn't as important to get correct as the above, because it's only the name that will appear. But it's a good idea to make it relevant.
root=/dev/hd* # Make this the device that your root partition is on. For example, a primary drive would be called hda and if it was the first partition then it would be hda1. You can check this by viewing /etc/fstab and seeing what device is mounted to /.
vga=791 # Use this only if you enabled frame buffer support in the kernel. If you have no idea what I'm talking about then don't do it.
append="splash=verbose hdc=ide-scsi" # This line is totally optional. The splash=verbose is only important if using a framebuffer and the hdc=ide-scsi is for CD burning.
After this, run lilo as root and if everything is added without errors then you should be good to go!