How to compile your own kernel

Conclusion

As you can see, the process isn't difficult to perform, but it is rather time-consuming. Compiling a kernel isn't necessary. But if you have specific requirements for drivers or other support, it can save you time by preventing multiple rounds of troubleshooting and adding packages and support with endless dependencies. Configuring and compiling your own kernel can also make your kernel more efficient by leaving out support for features that you don't use. For instance, you might want to remove virtualization.

Space requirements for compiling a new kernel are significant. My /usr/src/linux-5.12 directory, after compilation, consumes 16GB of space. Lucky for me, I had ample disk space to extend my virtual machine's disk twice during the compile process. I hesitate to remove the source tree and compiled bits, because I'm generally paranoid about such things. So, I just deal with the burned space. For this reason, it's probably prudent to use a secondary drive to hold your source trees and downloaded software. In fact, you could mount the secondary drive on /usr/src/kernels.

I suggest that you practice compiling new kernels with a test system or on a virtual machine. Get the process down before tackling it on a production system that users depend on. Always make backups of your system prior to engaging in a process like enabling a new kernel that significantly changes your system's behavior. I think it also helps if you wear a lucky shirt during the process, but that's just me.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Kernel Tips

    Worried about a recent security exploit? Want to take advantage of a new hardware feature? You don’t need to be a Linux expert to patch and compile the Linux kernel. We'll show you how to get started.

  • Working with the Kernel

    If you work with third-party hardware drivers, or even if you just need to fix a broken system, someday you might need to upgrade the Linux kernel.

  • Tutorials – Build the Linux Kernel

    Get a super-customized Linux installation by configuring and compiling the kernel with just the features you need.

  • Optimizing the Kernel

    We explore some optimizations designed to deliver a smoother experience for desktop users.

  • detLFS

    The detLFS project provides an ideal foundation for compiling Linux from source code, either to experience the fundamentals of how Linux works or to prepare an operating system for a project with very specific requirements.

comments powered by Disqus