Install Newer Kernels
- Prepatch (RC) kernels: these "release candidate" kernels are pre-releases of the mainline kernel that are intended for developers and Linux enthusiasts.  They contain new features and must be tested before they are put into a stable release.
- Mainline: the mainline tree is where all new features are introduced and where new development occurs. Every 2-3 months, a new mainline kernel is released.
- Stable: After a mainline kernel is released, it is classified as stable. Bug fixes for the stable kernel are backported from the mainline tree. On approximately a weekly basis, stable kernel updates are released. Normally only a few bug fix kernel releases are available before the next mainline kernel is released.
- Long-term (LTS): At any time there are usually several "long-term maintenance" kernel releases available. Bug fixes are backported for older kernels, but these are focused on the most important issues and releases are not very frequent (particularly for older trees).
- Distribution kernels: A number of Linux distributions provide long-term maintenance kernels, which are sometimes not based on those maintained by kernel developers. This is the case for Debian upon which Whonix ™ is based. 
For the vast majority of Whonix ™ users, there is simply no reason to change from the distribution kernel that is in use.
The general expert consensus is that while LTS kernels have less hardening features and not all bug fixes are backported, they have less attack surface and potentially less chance of having new bugs. In comparison, stable kernels have more hardening features and all known bug fixes to date, but a higher attack surface and a greater potential for new bugs.  The grsecurity development team has also noted that the majority of Linux kernel vulnerabilities are those that have most recently been introduced (released) in newer versions.  
The developer who is responsible for stable Linux kernel releases (Greg Kroah-Hartman), has also confirmed this viewpoint. His recommendation of what kernel should be used (ranked from best to worst) is as follows:  
- Supported kernel from your favorite Linux distribution.
- Latest stable release.
- Latest LTS release.
- Older LTS release that is still being maintained.
In Debian's case, it is noted that the distribution kernel is not based on the latest stable upstream kernel release, but they still ensure that any necessary bug fixes are applied on a regular basis.
Whonix ™ developers have also noted there is a risk of instability and breakage when utilizing kernels from Debian backports.  For instance, this had previously resulted in Qubes breakage  and caused mismatches in the kernel image versus kernel headers.
One possible exception to the recommendation in this section concerns Qubes-Whonix users, since the
dom0 kernel applies to all qubes by default. To benefit from a number of recent security developments (such as Linux Kernel Runtime Guard (LKRG)), the use of in-VM kernels [archive] is a prerequisite.
Non-Qubes-Whonix ™: No preparation is required.
Qubes-Whonix ™: A Qubes VM kernel is required.
- Follow the Qubes OS Installing kernel in Debian VM [archive] instructions.
- Ensure the Qubes VM kernel is functional before proceeding -- Qubes VM kernel issues should be raised at Qubes support [archive] and not in Whonix ™ forums.  
- Reboot dom0 with Qubes VM kernel. This is because Qubes VM kernel might break unrelated things such as the USB VM. 
- Once the Qubes VM kernel is functional, proceed with the following instructions.
Repeat these step for Whonix-Gateway ™.
- Linux Kernel Runtime Guard (LKRG)
- tirdad - TCP ISN CPU Information Leak Protection [archive]
- https://www.kernel.org/category/releases.html [archive]
- These must be compiled from source.
- To tell if you are running a distribution kernel, in a terminal run:
uname -r. If anything appears after the dash, then a distribution kernel is in use. At the time of writing, Debian is utilizing the following distribution kernel [archive]:
- https://forums.whonix.org/t/kernel-recompilation-for-better-hardening/7598?page=11 [archive]
- https://www.grsecurity.net/the_truth_about_linux_4_6 [archive]
- See also: Debian wiki Kernel FAQ [archive].
- http://kroah.com/log/blog/2018/08/24/what-stable-kernel-should-i-use/ [archive]
- He also notes that an unmaintained kernel release should never be used.
- http://forums.whonix.org/t/kernel-versions-and-security-debian-backports/5791 [archive]
- See: https://github.com/QubesOS/qubes-issues/issues/4443 [archive]
- https://forums.whonix.org/t/what-to-post-in-this-qubes-whonix-forum-and-what-not/2275 [archive]
- Qubes feature request: Simplify and promote using in-vm kernel [archive]
- As experienced firsthand by Whonix ™ developer Patrick Schleizer.
- past Debian issue: linux-image-amd64 vs linux-headers-amd64 Debian buster-backports version mismatch bpo.2 vs bpo.3 [archive]
- Users should Prefer Packages from Debian Stable Repository, but using backports is better than manual software installation or using third party package managers since this prefers APT. To contain the risk, Non-Qubes-Whonix ™ users might want to consider using Multiple Whonix-Workstation ™ and Qubes-Whonix ™ users might want to consider using Multiple Qubes-Whonix ™ TemplateVMs or Software Installation in a TemplateBasedVM.
- Most often this step applies before attempting major Whonix ™ upgrades; upgrade instructions are also made available at that time (see Stay Tuned).
This is a wiki. Want to improve this page? Help is welcome and volunteer contributions are happily considered! Read, understand and agree to Conditions for Contributions to Whonix ™, then Edit! Edits are held for moderation. Policy of Whonix Website and Whonix Chat and Policy On Nonfreedom Software applies.
Copyright (C) 2012 - 2021 ENCRYPTED SUPPORT LP. Whonix ™ is a trademark. Whonix ™ is a licensee [archive] of the Open Invention Network [archive]. Unless otherwise noted, the content of this page is copyrighted and licensed under the same Freedom Software license as Whonix ™ itself. (Why?)
The personal opinions of moderators or contributors to the Whonix ™ project do not represent the project as a whole.