The Pros and Cons of Rolling Your Own Kernel

Some purists of the geek variety may have told you that their servers run faster than yours because they took the time to compile their own kernels from source.  They may even run a Linux distribution that encourages custom kernels.  In all likelihood, you have a dedicated server that runs an OS that uses a precompiled binary of the kernel, but even those offer you the capability of rolling your own.

There are pros and cons to building your own Linux kernel.  Here are a few:


1. When programs are compiled for a specific architecture, they generally run faster and are more stable.  Generic binaries have to work on a wide variety of processors, making it less specific to your machine.

2. You can exclude components and modules you do not need.  This reduces the size of the kernel, making it boot faster and run more optimized.

3. With your own custom kernel, you can add whatever features or optimizations you want, even modifying the source code.


1. By compiling your own, you become the kernel maintainer.  That means all updates, security patches, and any future versions will depend on you.

2. The proponents of compiling your own kernel assume you know how to do it correctly.  If you do not, things could go terribly wrong, and your server could even stop working completely.

3. Perhaps most importantly, it takes a long time to compile a kernel, uses up a lot of CPU power during the process, and requires a great deal of technological understanding.

Which should you choose?  That is completely up to you.  Some people make a living compiling their own kernels and are perfectly content.  Others will use the default distribution kernels until they die, and they are also content.  Choose the one that is best for you, your server, and your business.