How to Install Linux Kernel Mainline on Ubuntu (24.04, 22.04)

The Zabbly Kernel brings mainline Linux kernels to Ubuntu systems without extensive modifications. Unlike performance-focused kernels such as XanMod that apply custom patches and scheduler tweaks, Zabbly packages upstream stable kernel releases with minimal changes, maintaining Ubuntu-compatible configurations while tracking mainline kernel development closely. This approach delivers bleeding-edge hardware support, the latest kernel features, and upstream performance improvements as they land in mainline releases.

This guide covers adding the Zabbly repository to Ubuntu, installing mainline kernel packages, verifying the installation, and rolling back to Ubuntu’s default kernel when needed. You’ll learn the complete process from repository setup to kernel verification with clear rollback instructions for running the latest upstream kernel on Ubuntu. These steps install the Linux kernel mainline build on Ubuntu using Zabbly-maintained packages.

Zabbly officially supports these kernel builds on Ubuntu 22.04 LTS (Jammy) and Ubuntu 24.04 LTS (Noble) only, as documented on the project’s GitHub page. If you run any other Ubuntu release, stay on the stock kernel or switch to a supported LTS version before following this guide.

Choose Your Ubuntu Kernel Option

Ubuntu offers multiple kernel options beyond the default GA kernel, each targeting different use cases. Understanding the differences helps you select the kernel that matches your hardware requirements, performance goals, and stability needs.

Kernel OptionPrimary FocusBest ForTrade-offs
HWE KernelHardware enablement and LTS supportDesktop systems, recent hardware on LTS releases, balanced stability with newer driversSlightly more frequent updates than GA kernel, still conservative compared to performance kernels
Zabbly KernelMainline upstream tracking with minimal patchesBleeding-edge hardware support, kernel developers, testing upstream features before Ubuntu integrationUbuntu 22.04/24.04 LTS only, rapid update cycle, less testing than Ubuntu kernels, potential instability
XanMod KernelPerformance optimization and gamingGaming rigs, multimedia workstations, AMD Ryzen/Intel latest-gen CPUs, Wine/Proton usersCustom patches may conflict with some hardware, Secure Boot unsupported
Liquorix KernelDesktop responsiveness and low latencyAudio production, real-time applications, desktop users prioritizing responsiveness over server stabilityOptimized for desktop workloads only, Secure Boot unsupported, limited to x86_64

Zabbly tracks mainline kernel development with minimal modifications, delivering upstream features and hardware support as they land in stable releases. Choose Zabbly when you need bleeding-edge hardware support for recently released CPUs, GPUs, or storage controllers that require kernel versions unavailable in Ubuntu’s standard repositories. Production servers should stick with Ubuntu’s default GA kernel or the HWE kernel for tested stability. Users unfamiliar with GRUB bootloader configuration may find kernel rollback procedures challenging, so test Zabbly in virtual machines or non-critical systems first.

Add Zabbly Kernel Repository to Ubuntu

Update Ubuntu System Packages

Before adding the repository, update your Ubuntu system to ensure existing packages are current:

sudo apt update && sudo apt upgrade

Install Repository Dependencies

Install packages required for managing repositories and GPG keys:

sudo apt install lsb-release ca-certificates curl gpg -y

Import Zabbly GPG Key

Import the Zabbly GPG key to authenticate packages from the repository:

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

Configure Zabbly Repository

Add the Zabbly repository using the modern DEB822 format. This command detects your Ubuntu codename and creates the repository configuration:

codename=$(lsb_release -sc) && sudo tee /etc/apt/sources.list.d/linux-zabbly.sources <<EOF
Types: deb
URIs: https://pkgs.zabbly.com/kernel/stable
Suites: $codename
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/linux-zabbly.gpg
EOF

Ubuntu 22.04 LTS and newer releases fully support the modern DEB822 .sources format even though legacy .list files remain the default output for some tools. Canonical is migrating documentation and tooling toward .sources, so using this format today keeps your repository configuration aligned with Ubuntu 24.04 LTS and future LTS releases.

Install Zabbly Mainline Kernel on Ubuntu

Refresh APT Package Index

Refresh your APT package index to recognize the new packages from the Zabbly repository:

sudo apt update

Install Zabbly Mainline Kernel Package

Install the Zabbly mainline kernel metapackage, which automatically tracks the latest upstream stable kernel version:

sudo apt install linux-zabbly

APT installs the metapackage along with the matching kernel image and headers:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  linux-headers-6.18.4-zabbly+ linux-image-6.18.4-zabbly+
The following NEW packages will be installed:
  linux-headers-6.18.4-zabbly+ linux-image-6.18.4-zabbly+ linux-zabbly
0 upgraded, 3 newly installed, 0 to remove and 10 not upgraded.
Need to get 142 MB of archives.
After this operation, 965 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Reboot System

Restart your system to boot into the newly installed kernel:

sudo reboot

Verify Kernel Installation

Check Running Kernel Version

After rebooting, verify your system is running the Zabbly mainline kernel:

uname -r

Zabbly kernels include -zabbly in the version string. Expected output:

6.18.4-zabbly+

The version number reflects the current mainline stable release at installation time. Zabbly updates packages weekly after each upstream bugfix release, so your version may differ from this example.

Common Issues and Solutions

System Won’t Boot After Mainline Kernel Installation

If your system fails to boot with the Zabbly mainline kernel, reboot and access the GRUB menu by holding Shift during startup (or Esc on some systems). Select “Advanced options for Ubuntu” and choose your previous kernel version from the list. Once booted, remove the Zabbly mainline kernel using the removal instructions below.

Zabbly Mainline Kernel Not Appearing in GRUB

If the new mainline kernel doesn’t appear in your boot menu, update GRUB configuration manually:

sudo update-grub

Reboot and verify the Zabbly mainline kernel appears in the advanced options menu.

Module Signing Issues with Secure Boot

Zabbly’s mainline kernels are not signed by a key trusted by Ubuntu firmware, so Secure Boot typically prevents them from loading. The project’s Secure Boot documentation recommends disabling Secure Boot in your BIOS/UEFI before installing. If you require Secure Boot, enroll your own Machine Owner Key. Check dmesg for remaining signature errors:

sudo dmesg | grep -i "signature"

Restore Ubuntu Default Kernel

Remove Zabbly Mainline Kernel Packages

To remove the Zabbly mainline kernel from your Ubuntu system, run:

sudo apt remove linux-zabbly '~nlinux-image-.*-zabbly.*' '~nlinux-headers-.*-zabbly.*'

APT removes all matching Zabbly kernel packages:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-6.18.4-zabbly+ linux-image-6.18.4-zabbly+ linux-zabbly
0 upgraded, 0 newly installed, 3 to remove and 10 not upgraded.
After this operation, 965 MB disk space will be freed.
Do you want to continue? [Y/n]

This removes the Zabbly metapackage, kernel headers, and image files. The ~n prefix tells APT to match package names using regular expressions, purging every installed kernel variant with zabbly in its name. Clean up orphaned dependencies:

sudo apt autoremove

Remove Zabbly Repository

Remove the Zabbly repository configuration and GPG keyring:

sudo rm /etc/apt/sources.list.d/linux-zabbly.sources /usr/share/keyrings/linux-zabbly.gpg

Refresh your APT index:

sudo apt update

Reinstall Ubuntu Default Kernel

If GRUB shows only Zabbly mainline kernel versions, reinstall Ubuntu’s default kernel:

sudo apt install --reinstall linux-image-generic

Reboot System

Restart your system:

sudo reboot

Verify Kernel Removal

Confirm your system is running Ubuntu’s default kernel:

uname -r

The output should show Ubuntu’s generic kernel version without the -zabbly suffix:

6.8.0-50-generic

Conclusion

The Zabbly Kernel brings mainline Linux kernels to Ubuntu systems with minimal modifications, delivering upstream stable releases adapted for Ubuntu configurations. The installation process covers repository setup with DEB822 format, GPG key authentication, mainline kernel package installation, and complete rollback procedures. Your Ubuntu system now runs the latest upstream kernel with improved hardware support and access to bleeding-edge mainline features while maintaining compatibility with Ubuntu’s kernel configuration standards.

Leave a Comment

Let us know you are human: