Compiling a kernel is not too difficult, with all the correct files in place, and even easier on Debian based systemshttp://www.howtoforge.com/howto_linux_k ... ile_debianhttp://www.cyberciti.biz/tips/compiling ... el-26.html
One way of looking at the kernel is to check the options it has enabled, viacat /boot/config-2.6.28-13-generic
, or gedit
to check what has been configured for the running kernel, you could then check what those options mean in a regular way by searching for compiling a kernel + Linux or Debian on the Internet
--that will give you a good idea of what is or is not being supported
Despite that and the fact that a customized kernel exactly matches your hardware and does not include any extras that you might not need, eg IDE if you only have SATA hard drives or vice-versa or only one language if you don't use others, or prefer only your own /native language..
--almost all Linuxes these days use a generic kernel and simply add to it between versions with module loading, or kernel extensionshttp://linux.dell.com/projects.shtml
A customized kernel should have a speed advantage and be smaller than any generic kernel, but the convenience of just running on more hardware may tip the balance to using only generic kernels for most distributions and users
--Gentoo uses a customized kernel:CPU specific (it doesn't take very long to recompile the kernel with additions/deletions), and compiles everything from source, if you want it that way; as well as others like Linux from Scratch..