Several of my coworkers have been building custom kernels for their workstations and servers.What advantages/disadvantages are there to building a custom kernel?Why should I build a custom kernel?
Why should I build a custom kernel?
kernel;linux kernel
There are multiple reasons why one may choose to manually compile a kernel. I'll try and list the ones that I can think of, off the top of my head here:An oft-cited, but often wrong reason is that it will work faster. By customizing the compiler flags for the specific system, you could theoretically create better byte-code. But with modern compilers, this is not often the case.Change certain compile time flags. E.g.: To compile the kernel with debugging information included. Although this may not apply in your case.To remove unnecessary parts from the kernel. But as stated by @jordanm, these parts are almost always modules and may not matter. But in some cases, the difference may be significant.For academic purposes. Compiling your own kernel helps you learn a lot about the build process. Also, one gets to learn about the various configuration options.To replace certain modules. For example, to use the con kolivas patchset, real time patchset, etc.In certain situations, especially in embedded scenarios, one may add custom system calls to the kernel. These would require a custom compilation too.Some people like me, just love to tinker with the system. And will randomly change some configuration options to see how the final system responds to them. However such people are few and rare.