How to Install Linux Kernel 5.16 on Debian 11 Bullseye

Linux kernel 5.16 has many new features, support, and security. The Linux 5.16 kernel release has a great new feature, FUTEX2, or futex_watv(), which aims to improve the Linux gaming experience, growing considerably with better native Linux porting for Windows games utilizing Wine.

Other improvements have seen write include an improved write congestion management task scheduler for CPU clusters sharing L2/L3 cache, among many other additions. More information can be found on the Linux 5.16 Kernel release changelog.

In the following tutorial, you will learn how to install the latest 5.16 Linux Kernel on Debian 11 Bullseye using the command line terminal and the Debian upstream repository.

Update Debian

First, update your system and ensure all existing packages are up to date. This is critical when installing kernels and drivers etc.

sudo apt update && sudo apt upgrade -y

Import Sid/Unstable Repository

The following steps will explain how to import the sid/unstable repository. This is the repository.

First, copy and paste the following command.

echo "deb http://deb.debian.org/debian unstable main contrib non-free" | sudo tee -a /etc/apt/sources.list
echo "deb-src http://deb.debian.org/debian unstable main contrib non-free" | sudo tee -a /etc/apt/sources.list

Create APT Pinning File

Next, an easy solution is to use apt-pinning to avoid having different version branches causing your system to prompt for updates from the experimental repository. Open the following file using a text editor.

sudo nano /etc/apt/preferences

Next, add the following.

Package: *
Pin: release a=bullseye
Pin-Priority: 500

Package: linux-image-amd64
Pin: release a=unstable
Pin-Priority: 1000

Package: *
Pin: release a=unstable
Pin-Priority: 100

The order goes, all updates are preferenced to Bullseye with a higher score (500) than unstable (100), so you are not prompted on various packages to be updated from the unstable repository.

However, to make it easy to keep the kernel up to date when you run the apt update command for your standard Bullseye packages, the example above has set linux-image-amd64 as a high priority (1000) using the unstable repository above any other source for that package only.


Now save the file CTRL+O, then exit CTRL+X.

Install or Upgrade to Linux Kernel 5.16

Next, update your repository.

sudo apt update

You will notice you have a package to update.

1 package can be upgraded. Run 'apt list --upgradable' to see it.

Run the apt upgrade command to begin updating to Linux Kernel 5.16.

sudo apt upgrade -y

Once completed, reboot your system for the new kernel to activate.

sudo reboot

Once logged back in, open your terminal and type the following command to verify the installation.

sudo uname -r

Example output:


Alternatively, print your system specs with neofetch.

sudo apt install neofetch -y

Now run neofetch to get your Linux kernel version.


Example Neofetch output:

Any new updates will automatically be seen when you run the apt update command to check for updates for the rest of your Debian 11 Bullseye repository packages.

Comments and Conclusion

In the tutorial, you have learned how to install the latest 5.16 kernel on your elementary OS system. Note, if your system is a production server, it would be advised to use the existing kernel that ships the standard installation for the most stability.

However, for those wanting to try kernel 5.16, take backups as many jump ahead sometimes and regret the decision. Make sure that manually install the .deb package users keep checking for updates.

Follow LinuxCapable.com!

Like to get automatic updates? Follow us on one of our social media accounts!