Skip to content
Gentoo Prefix · the kernel seam

Prefix doesn't build a kernel.

A Gentoo Prefix is a full Gentoo userland that lives under a non-root EPREFIX and runs on top of a foreign host OS. It ships no kernel image, no bootloader, no init, and no kernel modules. It borrows whatever kernel the host is already running — so most of the time the kernel simply isn't Prefix's concern.

Host kernel Prefix is running on: 6.17.0-1017-aws x86_64 glibc 2.39

Why the kernel matters to Prefix

Prefix is userland-only by design. That is exactly why it can install without root and coexist with the host distro:

  • No kernel, no init, no bootloader. Prefix never touches /boot or the host's PID 1.
  • uname is the host's. Inside the Prefix, uname -r reports the host kernel — there is nothing of Prefix's own to report.
  • Syscalls come from the host. Every binary in the Prefix makes syscalls into the host kernel; Prefix provides the libraries, the host provides the ABI.

So for running software, the kernel is the host's problem. Prefix stays deliberately kernel-agnostic.

When compiling, the kernel matters again

The moment you build inside the Prefix, two kernel-shaped artifacts leak into the toolchain:

  • sys-kernel/linux-headers — the UAPI headers glibc and many packages #include . They set the build-time ceiling of known syscalls and ioctls (io_uring, statx, clone3, …).
  • glibc --enable-kernel= — the minimum kernel a compiled binary will agree to run on. Build against a floor newer than the host and you get “FATAL: kernel too old” .

The invariant: the running host kernel must be ≥ whatever the binaries were compiled to require. Headers may run ahead of the host, but the glibc floor and any syscall you actually use must stay within what the host kernel provides.

What prefix.ndexr.io is building now

Discovered live from the committed Prefix tree. The Builds column is “no kernel image” for every triple — by design. The kernel input that Prefix does track is the linux-headers UAPI package shown under Tracks .

Triple Tracks (build-time UAPI) Builds
x86_64-linux-gnu sys-kernel/linux-headers-6.18 no kernel image

Host kernel for comparison: 6.17.0-1017-aws . Keep linux-headers ≤ the oldest host you intend to run on, or pin the glibc floor accordingly.