Florin Andrei wrote:
Let's say I want to use a much newer kernel - even one from the future, such as the upcoming 2.6.24. :-) What would y'all smart folks do in this case, in order to avoid any possible nasty consequences? Would you import the config file from the original CentOS5 kernel into the new kernel, and let the kernel deal with the differences? I.e. have the old configuration as some sort of baseline that can be further tweaked. Or some other strategy?
I recently had to build kernel 2.6.22 for one 4.5 box to use a specific IDE/SATA DMA controller. The 'make menuconfig' utility in the kernel.org packages will allow you to import a .config file from the CentOS kernel sources and use that as a starting point. I found that some modules did not get automatically included from the .config file, like some of the connection tracking stuff in netfilter. This might be from changed module names, etc. You should always review each menu in 'make menuconfig' and verify the right modules are activated for your needs.
I used the instructions on this page to build a kernel the 'traditional' way: http://www.howtoforge.com/kernel_compilation_centos_p2
The reality is that this process is a build, install, boot, check, repeat until comfortable situation. Check the dmesg and review files in /var/log to be sure your various services are happy with the new kernel. Most importantly, use the stock CentOS kernels unless there is something specific you need from a custom kernel.
That being said, the 2.6.22 kernel I built has been running fine for a while without issue.
Good luck!