Everything you do on your Linux computer happens through the kernel layer.
Whether you’re gaming, compiling software, or running sensitive applications in a secure environment, the kernel is involved.
It allocates memory and CPU resources, providing compatibility with your hardware and keeping your system secure..
While Linux kernel development is headed up by Linus Torvalds and released to the world to use free of charge, other organizations and individuals can modify it.
They optimize the kernel for certain features to enhance what they consider to be priorities.
You can install and use these kernels on your PC right now, but should you?
Here’s a breakdown of the most popular Linux kernels in use today, and why you’d want to use them.
As the name suggests, the mainline kernel is the main kernel on which development takes place, and its personally overseen by Torvalds himself.
It’s also the fastest moving kernel, with releases coming every three months or so.
If you have bleeding edge hardware which lacks drivers, the mainline kernel is where they’ll appear first.
Bugfixes, security patches, driver updates, and other new features appear in the mainline kernel months before they filter down into distro kernels or the Longterm kernel.
But there are a few downsides to using the Mainline kernel. It isn’t as thoroughly tested as the LTS kernel, and drivers may break when you upgrade.
It’s not unstable, but using the Mainline kernel isn’t exactly a smooth ride either.
If you’re absolutely determined to stay on top of the latest Linux kernel developments, choose the mainline kernel, but be prepared to keep up with the gruelling release schedule, and be aware that support stops after a comparatively short time.
To install the mainline kernel on Ubuntu-based distributions, you can use the
ukuu tool or download and install the packages manually from the Ubuntu Mainline Kernel PPA.
The Long Term Support (LTS) kernel is updated yearly – usually in December, and is an official Linux project.
The release schedule means that you get the benefits of using an official kernel, but you don’t have to go through the pain of upgrading every few months.
You can install the LTS kernel and forget about it for the next several years.
If you don’t have the latest hardware, and you don’t need the latest features, the LTS kernel is a good option, as it’s rock-solid, and is almost guaranteed to work with your hardware.
LTS kernels can usually expect to benefit from bugfixes and updates for around six years, and in practice, this is occasionally extended.
But stability comes at a cost, and if the Mainline kernel adds exciting new features for memory management or a new filesystem, you may have to wait up to a year for it to make its way to you.
Most distros will come with a LTS kernel version.
Your Distro Kernel
If you haven’t built your own OS from scratch, there’s a good chance you downloaded and installed a popular distro based on Debian, Arch, Fedora, or Ubuntu.
Each of these distros has its own purpose, and each develops its own kernel, using the mainline kernel as a base.
In general, you’ll find that each distro kernel is developed in line with the philosophical outlook of the complete distro.
The Ubuntu kernel, for instance, provides compatibility with a huge variety of hardware and aims to be immediately usable.
The Debian kernel, in common with Debian itself, eschews the use of non-free components.
A distro kernel should be matched with the capabilities and outlook of the distro itself. If you feel that the default kernel which came with your distro is doing a good job, you should leave it as it is.
If you feel it could be improved, try one of the others. For maximum stability, you should choose the Long Term Support (LTS) version.
The hardened kernel was designed for especially sensitive systems and for users concerned about potential exploits, for whom security is the top priority.
The kernel reduces the risk of privilege escalation by enforcing Mandatory Access Control, while Address space layout randomization (ASLR), makes it almost impossible for attackers to find vulnerabilities in running code.
Other features of the hardened kernel include Kernel module signing, control-flow integrity, and stack protection.
While the hardened kernel definitely improves your security, you’ll take a hit in terms of speed and stability. If the kernel detects suspicious behavior, there’s a non-zero chance it’ll just crash your system.
The Zen kernel is unofficial in every possible way, and isn’t attached to either the mainline kernel or the kernels of any of the big projects.
Instead the Zen kernel is the product of a group of kernel hackers, dedicated to creating the best possible kernel for everyday use.
To achieve this, developers have opted for low latency wherever possible – this means a shorter time between a command being issued and carried out.
It uses the priority-based MuQSS scheduler to improve CPU efficiency.
While the Zen kernel is designed to be smoother and more responsive than the mainline or LTS kernels. The Zen kernel isn’t usually up-to-date with the latest hardware as it lags a few versions behind.
It’s also built with desktop use in mind, so won’t perform as well on home servers.
The Real-time Linux kernel, better known as RT, has a reputation for being reliable, dependable, sensible, and other words which end in “ible”.
This is important because the RT kernel is designed for use in real-time applications which depend on immediate and predictable response to input.
Typically response times on a real-time kernel are measured in tens of microseconds, which is astonishingly fast, but also consumes more power, and limits how much work your system can do in a given time-frame.
If you’re running a typical desktop rig for gaming or coding, a real-time kernel would be more of a hindrance than a help.
If, on the other hand, you’re operating a missile defense grid or executing large financial trades, the real-time kernel is exactly what you need.
Some distros, such as Ubuntu, offer a version featuring a real-time kernel.
Choose the Kernel That’s Right for You!
When it comes to kernels, there’s a lot of choice out there. Most people will stick with the kernel that came with their distro.
But there are valid reasons to change to a kernel that better suits your use case.
Think about what you want your Linux kernel to do, and whether your main priority is stability, hardware compatibility, security, or running real time application.
Changing or upgrading your Linux kernel isn’t difficult, so feel free to experiment.