How to Upgrade the Kernel in Debian 12 Bookworm

Debian 12 Bookworm comes with Linux Kernel 6.1 by default. However, user can always get most recent Kernel for new hardware support and compatibility issue fixes.

Linux Kernel keeps updating with new stable release series every few months. Most Linux Distributions have their own Kernel builds, and keep updating in their own schedule.

Debian includes newer Kernel packages in the backports repository. At the moment of writing it’s Kernel 6.5, but for the time being, it will be updated to Kernel 6.6, 6.7, and future releases.

For choices, there’s also third-party repositories to always get the latest Kernel without waiting too long.

Tell which Kernel is running now

Before getting started, you may want to know which version if Linux Kernel is currently running on your machine.

To do so, simply search for and launch terminal from start menu or Gnome overview screen.

Open terminal

When terminal opens, run command:

uname -a

It outputs your current Kernel version as well as architecture type. In my case, they are Kernel 6.1.38 and amd64.

Option 1: Upgrade Kernel from Backports Repository (Official)

The safest way to get newer kernel is installing the package from Debian Backports repository.

1. Enable Backports repository

The repository is usually enabled by default. Just in case, you may launch “Software & Updates” then navigate to Other Software tab to verify:

Make sure Debian Backports repos enabled

If the tool does not exist, try installing it via command sudo apt install software-properties-gtk, or sudo apt install software-properties-qt for KDE & LXQt desktop.

2.1 Install Newer Kernel via Synaptic

Now, search for and launch “Synaptic” package manager. When it opens, click on “Search”, then search either linux-image or linux-header.

Browse to find out the latest version of the packages, then right-click and select “Mark for Installation” for both linux-header-x.x.x… and linux-image-x.x.x… packages (they must have same version number).

For the time being, the kernel package version keeps updated.

Finally, click “Apply“, then confirm on the pop-up ‘Summary’ dialog to start installing the kernel.

2.2 Install Newer kernel via apt command

For choice, you may launch terminal, and run the command below instead to install the newer kernel packages:

sudo apt install linux-image-6.5.0-0.deb12.4-amd64 linux-headers-6.5.0-0.deb12.4-amd64

NOTE: you NEED to replace 6.5.0-0.deb12.4-amd64 in command accordingly! After typing ‘linux-image-‘, hit TAB key twice, then it will show you all available choices.

When done installing new kernel, restart, and verify via uname -a command.

Option 2: Install Most Recent Kernel via Zabbly Repository (Unofficial)

If you want to try out the latest stable Kernel, then there’s an unofficial zabbly repository contains the package so far for Debian 11, Debian 12, Ubuntu 20.04 LTS, and Ubuntu 22.04 LTS.

The repository is maintained by Stéphane Graber, a former employee of Canonical, who worked for 12 years in the company behind Ubuntu.

NOTE: This is an unofficial repository! Kernel packages are un-signed, you may need to disable secure boot for use the kernel.

1. First, launch terminal and run command to download the key to /etc/apt/keyrings directory.

  • Run command to create the /etc/apt/keyrings directory in case it does not exist:
    sudo mkdir -p /etc/apt/keyrings/
  • Then, download & install the key to that folder:
    sudo curl -fsSL -o /etc/apt/keyrings/zabbly.asc

When done, you may run cat /etc/apt/keyrings/zabbly.asc to verify the key file.

2. Second, run command to add the Zabbly repository:

sudo sh -c 'cat < /etc/apt/sources.list.d/zabbly-kernel-stable.sources
Enabled: yes
Types: deb
Suites: $(. /etc/os-release && echo ${VERSION_CODENAME})
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/zabbly.asc


This is a single command in multiple lines, which create a .sources file and write some lines. When done the command, use cat /etc/apt/sources.list.d/zabbly-kernel-stable.sources to verify.

The command above only work for Debian 11/12, Ubuntu 20.04, Ubuntu 22.04. But for their based systems, you have to change the Suites value according which Debian/Ubuntu version is based on.

In case you messed up the last command, run this command instead to edit the file:

sudo nano /etc/apt/sources.list.d/zabbly-kernel-stable.sources

Then, write following lines manually (replace bookworm according to your system).

Enabled: yes
Types: deb
Suites: bookworm
Components: main
Architectures: amd64
Signed-By: /etc/apt/keyrings/zabbly.asc

Finally, press Ctrl+S to save, and Ctrl+X to exit.

3. Finally, refresh package cache, and install the most recent Kernel:

sudo apt update
sudo apt install linux-zabbly

When done, restart your computer and verify by running uname -a command.

Option 3: Third-party Liquorix Kernel

For choice, there’s also third-party custom kernel, Liquorix Kernel, to enable low latency compute in A/V production, and reduced frame time deviations in games.

NOTE: This is an unofficial third-party maintained Kernel package.

Simply launch terminal and run command:

curl -s '' | sudo bash

It will download and run the script to automate the process building the custom Kernel, which however does NOT work for me (due to poor internet connection, maybe).

How to Restore

To restore the previous Linux Kernel 6.1, first reboot your machine. While starting up, press Esc (or Shift in some machines) to view the boot menu. Then, select booting the old kernel from ‘Advanced options for Debian GNU/Linux’ sub-menu.

Finally, either use “Synaptic” package manager, to search & uninstall the Kernel package (you installed via options above).

  • Click on Search icon, and search either linux-image or linux-headers.
  • Then click on S to show installed packages in top.
  • Press and hold Ctrl, then select the kernel packages to uninstall.
  • Right-click on select items, and choose “Mark for Complete Removal”
  • Finally, click on Apply button.

Alternatively, open terminal, and run command to uninstall the newer kernel packages:

sudo apt remove --autoremove linux-image-6.5.0-0.deb12.4-amd64 linux-headers-6.5.0-0.deb12.4-amd64

You have to replace the package name, depends on which version you installed.

Hi, I'm Merilyn Ne, a computer geek working on Ubuntu Linux for many years and would like to write useful tips for beginners. Forgive me for language mistakes. I'm not a native speaker of English.