Originally Posted by sundialsvcs
I cordially submit that, if you're using a binary distribution, you should consider "compiling your own kernel" only as a self-educational exercise.
I was going to say BS, but to be nice I'll say, it has other uses too. Like to fix major bugs in some distros such as FC and sometimes Ubuntu, although people using these distro will likely never even think about compiling a kernel or even know what one is.
Onebuck gave some good links. It's really not that hard.
You should definitely optimize the kernel for your processor if you're gonna compile it anyway, why not. Note that if you compiled any out-of-kernel modules you'll have to re-compile and reinstall those too. Make sure to read through some the documentation that comes with the kernel, although some of it will be too technical to understand without wiki.
I would recommend starting with a pre-made config, say one provided by your distro, or look in '/proc' you should see a 'config.gz', that's the config file for the kernel you are currently running. Note that 'make mrproper' erases the file '.config' in the kernel source directory, run that first, then copy in the config file and rename it to '.config' then run 'make menuconfig' or xconfig or whatever, configure it, then run 'make', then for sure run 'make modules_install' and either install the kernel manually or using 'make install'. It says all this in the README that comes with the kernel source.
EDIT: And if you use lilo as bootloader, make sure to run '/sbin/lilo' to reload the config file. You may also need to modify the config file for both lilo '/etc/lilo.conf' and grub '/boot/grub/menu.lst'.