Skip to content

Latest commit

 

History

334 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Linux Kernel Distributions

build-kernel

Build Linux Kernel with Docker Compose.

$ docker compose up ubuntu

What a build does

Each service is one distribution's image with that distribution's toolchain. On start the container fetches a single pinned stable kernel tag (LINUX_VERSION in entrypoint.sh; override with docker compose run -e LINUX_VERSION=v7.2.8 ubuntu), builds it with an alldefconfig-based config plus modules, runs bindeb-pkg / binrpm-pkg where the image has the tools, and serves the results from /build-kernel/artifacts on port 8000 (see the port mapping in docker-compose.yml). A tag that cannot be fetched fails the build.

archlinux and manjarolinux build Arch's official linux PKGBUILD instead, cachyos builds CachyOS's linux-cachyos PKGBUILD (clang and ThinLTO, _processor_opt=generic), and azurelinux and cbl-mariner build Microsoft's kernel tree at its newest rolling-lts/mariner-3 tag.

CI

Every push, plus a schedule on Monday and Thursday 00:00 UTC, builds all 43 distributions. Each job uploads artifacts/ (the packages and the kernel config) as a workflow artifact. The longest jobs are the three that build their distro's full kernel config, archlinux, manjarolinux and cachyos, at two to three hours each; they run in parallel with the rest, so a whole run takes about as long as the slowest of them.

Supported distributions

CI builds the kernel on these 43 distributions and variants:

almalinux, almalinux-kitten, alpine, alpine-edge, altlinux, amazonlinux, anolisos, archlinux, artixlinux, azurelinux, cachyos, cbl-mariner, centos, centos8, chimeralinux, debian, debian-sid, fedora, fedora-rawhide, gentoo, gentoo-llvm, gentoo-musl, gentoo-musl-llvm, kalilinux, linux-mint, mageia, manjarolinux, miraclelinux, opencloudos, openeuler, opensuse, opensuse-leap, oraclelinux, parrot, photon, rockylinux, slackware, solus, termux, ubuntu, void-linux, void-linux-musl, wolfi

The -rawhide, -sid, -edge and -kitten jobs build on development branches to catch toolchain changes before they reach a release; gentoo-musl and void-linux-musl build those distributions on musl, and gentoo-llvm and gentoo-musl-llvm on Gentoo's LLVM stage3s, where the kernel is built with clang (LLVM=1).

centos is CentOS Stream 10; centos8 is CentOS Linux 8.5.2111, the last CentOS release before Stream, from vault.centos.org. Likewise azurelinux is Azure Linux 3.0 and cbl-mariner stays on CBL-Mariner 2.0, its end-of-life predecessor.

Defined in Docker Compose but not built in CI:

  • redhat: the public UBI repositories ship no bison/flex/dwarves, so the kernel cannot be built without a RHEL subscription

archlinux

alpine

azurelinux

almalinux

gentoo

linux-mint

ubuntu

parrot

mageia

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages