Skip to content

Kernel

Garden Linux aims towards a complete open, reproducible and easy-to-understand solution. That also includes all activities around the Kernel. Kernel.org is the source of the official Linux kernels and therefore all kernels in Garden Linux are mainly based on this. Not to forget our Debian roots: we integrate with the build environment Debian kernels to support the Debian featureset to be compatible. Garden Linux tries to keep the amount of patches in the kernel diverging from Debian and kernel.org low, so everybody can easily support the Garden Linux kernel and no deep knowledge of Garden Linux internals is needed.

Kernel versioning strategy

In contrast to Debian, Garden Linux integrates always with the latest Long Term Support kernel (LTS) and maintains this kernel at least for one overlapping period till the next kernel will be available. You can find the release categories and the time schedule for LTS releases also on kernel.org. Garden Linux aims to integrate the latest long term release.

Why does Garden Linux not integrate the mainline stable?

Mainline stable introduces features to the new Linux kernel, which happens every ~2 months. Some of those features affect the way e.g. container or network environment interact with the kernel and need some time to be adopted in surrounding tooling. Also some other feature introduce bugs, recognized after release and need to be reverted or other changes. In short: to avoid this we wait until a kernel version becomes a longterm stable and try to integrate always the latest long term stable and the one before to have a decent deprecation phase. Garden Linux takes advantage of these patches.

A new long term kernel is released, when will it be integrated?

We are probably on it, but feel free to open a Github issue.

Relationship to Debian

Garden Linux 💚 Debian.

Debian is free and open source software. There are good reasons to use Debian. In the following we explain our reasons in the kernel context.

First, Debian provides an enterprise grade server operating system, while protecting the claim to stay 100% free and open source. Debian is rigorous when it comes to non-free software licenses, also when it comes to the Linux Kernel. A prominent example of what this means, is the extraction of non-free firmware from the Linux Kernel.

Debian scans licenses and patches out everything that violates the claim to stay 100% free. Since Garden Linux shares this approach, we benefit from Debian patches.

Additionally, Debian provides a good kernel configuration, which is used by Garden Linux as a base for configuration. We extend this kernel configuration to our specific requirements during the kernel integration process.

Furthermore, Debian kernel patches are applied in most cases.

Kernel flavours

FlavourArchitectureDescription
amd64x86_6464-bit PCs; includes Intel SGX, TDX, Mellanox SmartNIC support
cloud-amd64x86_64Cloud VMs (AWS, Azure, GCP) - stripped-down with cloud drivers
arm64aarch6464-bit ARMv8 machines
cloud-arm64aarch64Cloud VMs (AWS, Azure, GCP) - stripped-down with cloud drivers

Cloud flavours disable graphics, USB, wireless, Bluetooth, and audio drivers and enable Hyper-V, virtio, Xen, ENA (AWS), GVE (GCE), and MANA (Azure).

Supported kernel versions

BranchKernelDescription
main6.18Latest LTS maintained
maint-6.126.12Previous LTS
maint-6.66.6Older LTS

Kernel build system

The kernel build lives in a separate repository: gardenlinux/package-linux.

Key components:

  • config/ — Garden Linux-specific kernel configuration
  • fixes_debian/ — Patches to Debian build when needed
  • upstream_patches/ — Kernel patches not in Debian but part of Garden Linux
  • prepare_source — Merges Debian kernel packaging with upstream sources

For details on building kernels, performing backports, and automated patch updates, see the Kernel Builds how-to.

Automated kernel updates

Patch-level updates are automated via GitHub Actions. A scheduled workflow scans configured branches and creates pull requests when new patch versions are available.

Further reading