How to Install Linux Kernel 6.8 on Debian 12 or 11

Based on the latest stable release of Linux Kernel mainline, this guide will demonstrate how to install Linux Kernel 6.8 on Debian 12 or 11 using the command-line terminal and Zabbly Kernel. Upgrading to the newest kernel version ensures enhanced performance, improved security, and access to the latest features and hardware support. Whether you are a system administrator or a Linux enthusiast, following these straightforward steps will enable you to update your Debian system efficiently.

Import Zabbly APT Repository For Linux Kernel 6.8

Update Debian Before Linux Kernel 6.8 Installation

Before installing Linux Kernel 6.8, update your system with all available packages.

First, run the update command:

sudo apt update

Proceed to upgrade any outdated packages using the following command.

sudo apt upgrade

Import Linux Zabbly APT Repository

Zabbly offers specialized Linux kernel builds for Debian and Ubuntu. These builds support a broad range of hardware and are ideal for running Incus containers and virtual machines. They’re based on the recent stable mainline Linux kernel and receive weekly updates.

Start by installing the necessary packages:

sudo apt install lsb-release software-properties-common apt-transport-https ca-certificates curl -y

Next, import the Linux Zabbly Kernel GPG key with the following command:

curl -fSsL https://pkgs.zabbly.com/key.asc | gpg --dearmor | sudo tee /usr/share/keyrings/linux-zabbly.gpg > /dev/null

Lastly, import the APT Linux Zabbly Kernel APT repository with the following command:

codename=$(lsb_release -sc) && echo deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/linux-zabbly.gpg] https://pkgs.zabbly.com/kernel/stable $codename main | sudo tee /etc/apt/sources.list.d/linux-zabbly.list

Note: If you’re experiencing background noise on Debian 11 with Zabbly, such as no package found, it may be due to Zabbly only supporting both amd64 on Debian 11, whereas Debian 12 supports amd64 and arm64. Debian 11 users may need to remove “arm64” from the [arch=amd64,arm64] configuration to resolve the issue.

Install Linux Kernel 6.8 on Debian

Refresh APT Index

Now, with the Linux Zabbly Kernel repository imported, first run a quick update with the following command:

sudo apt update

Install Linux Kernel 6.8 via APT Command

Now run the following command to install the Linux Kernel 6.8 on your system:

sudo apt install linux-zabbly

Once the installation process is complete, reboot your system:

sudo reboot

Verify Linux Kernel 6.8 Installation on Debian

Before proceeding, the first step is to refresh your repository to reflect the changes made to your sources list and preferences.

uname -r

If you have Neofetch installed, you can print your system specs in pretty text with the following command:

neofetch

And that is it; keep the Kernel updated like you would with all your APT packages.

Additional: How to Restore Debian Default Kernel

It’s important to note that some users may encounter issues with their hardware, such as loss of sound when using the new Linux Kernel.

Remove Linux Kernel 6.8 via APT Command

To remove the Kernel, the first step is to execute the following command.

sudo apt remove linux-zabbly linux-headers-*-zabbly* linux-image-*-zabbly*

Remove Zabbly APT Repository

For those that are removing Linux Kernel 6.8 and reverting to the default Debian kernel permanently, remove the APT repository you imported with the following command:

sudo rm /etc/apt/sources.list.d/linux-zabbly.list

After sorting the preferences file or if you went a step further and removed the unstable repositories, it’s time to execute an APT update.

sudo apt update

Reboot System

Reboot your system to finalize the removal of Linux Kernel 6.8:

sudo reboot

Verify Linux Kernel 6.8 Removal

Now verify the Kernel installed, which should be the default generic kernel.

uname -r

Conclusion

After you install the Linux 6.8 kernel from the Zabbly kernel repository on Debian 12 (Bookworm) or Debian 11 (Bullseye), you should see a significant improvement if you have new hardware. The gains are minimal for most, but remember to keep the kernel up-to-date as many updates will be pushed in the future, more than what your original kernel would see.

8 thoughts on “How to Install Linux Kernel 6.8 on Debian 12 or 11”

    • Hi Dan,

      I apologize for the inconvenience caused by the page title issue; it has been corrected to prevent any future confusion. Regarding your concern about Zabbly’s support for Debian 10, it appears there is no direct support for Buster.

      To address this, you might consider using XanMod or Liquorix, or building your own kernel from the source. Be aware that building a kernel can be time-consuming and requires some confidence in handling Linux environments.

      Best regards,

      Josh

      Reply
  1. Didn’t work for me (Debian Bookworm):

    DKMS make.log for xtrx-0.0.1+git20190320.5ae3a3e-3.2 for kernel 6.6.7-zabbly+ (x86_64)
    Mo 18. Dez 09:48:55 CET 2023
    make: Verzeichnis „/usr/src/linux-headers-6.6.7-zabbly+“ wird betreten
    CC [M] /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build/xtrx.o
    /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build/xtrx.c: In function ‘xtrxfd_mmap’:
    /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build/xtrx.c:1075:31: error: assignment of read-only member ‘vm_flags’
    1075 | vma->vm_flags |= VM_LOCKED;
    | ^~
    /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build/xtrx.c:1090:31: error: assignment of read-only member ‘vm_flags’
    1090 | vma->vm_flags |= VM_IO;
    | ^~
    /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build/xtrx.c:1115:31: error: assignment of read-only member ‘vm_flags’
    1115 | vma->vm_flags |= VM_LOCKED;
    | ^~
    In file included from ./include/linux/linkage.h:7,
    from ./arch/x86/include/asm/cache.h:5,
    from ./include/linux/cache.h:6,
    from ./include/linux/time.h:5,
    from ./include/linux/stat.h:19,
    from ./include/linux/module.h:13,
    from /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build/xtrx.c:22:
    /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build/xtrx.c: In function ‘xtrx_init’:
    ./include/linux/export.h:29:22: error: passing argument 1 of ‘class_create’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    29 | #define THIS_MODULE (&__this_module)
    | ~^~~~~~~~~~~~~~~
    | |
    | struct module *
    /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build/xtrx.c:1523:35: note: in expansion of macro ‘THIS_MODULE’
    1523 | xtrx_class = class_create(THIS_MODULE, CLASS_NAME);
    | ^~~~~~~~~~~
    In file included from ./include/linux/device.h:31,
    from ./include/linux/pci.h:37,
    from /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build/xtrx.c:25:
    ./include/linux/device/class.h:230:54: note: expected ‘const char *’ but argument is of type ‘struct module *’
    230 | struct class * __must_check class_create(const char *name);
    | ~~~~~~~~~~~~^~~~
    /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build/xtrx.c:1523:22: error: too many arguments to function ‘class_create’
    1523 | xtrx_class = class_create(THIS_MODULE, CLASS_NAME);
    | ^~~~~~~~~~~~
    ./include/linux/device/class.h:230:29: note: declared here
    230 | struct class * __must_check class_create(const char *name);
    | ^~~~~~~~~~~~
    cc1: some warnings being treated as errors
    make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build/xtrx.o] Fehler 1
    make[1]: *** [/usr/src/linux-headers-6.6.7-zabbly+/Makefile:1913: /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2/build] Fehler 2
    make: *** [Makefile:234: __sub-make] Fehler 2
    make: Verzeichnis „/usr/src/linux-headers-6.6.7-zabbly+“ wird verlassen

    Reply

Leave a Comment