home / swappables / libcs

C libraries

The foundation under everything that runs.

Every C program on your system links against a C library. It's the floor under userspace: malloc, printf, thread primitives, the syscall wrappers, all of it. Keru lets you choose which floor the rest of your system stands on.

glibc

The default, and the most compatible. Maximal feature set, broadest software support, the ecosystem baseline.

musl

Small, fast, clean implementation. MIT-licensed, statically-friendly, famous for strict correctness and small binaries.

uclibc-ng

The maintained fork of uClibc — designed for embedded and minimal systems, tiny footprint, configurable.

Why this is a choice

Binary distributions can't really offer this — a prebuilt package set is glued to one libc. A source-only distribution can, because it compiles everything against whatever you picked. Keru carries that through: your chosen libc is bootstrapped first (in the toolchain stage), and every package is built against it.

Stability notes

musl and uclibc-ng are early-0.1 territory. The installer's stability check currently flags uclibc-ng combinations as not-yet-proven, and musl + systemd as a known-hard pairing. Warnings — never blocks. The stance.

glibc is the default for a reason: it's the widest path. But "the path everyone takes" is an argument, not a law — and in Keru, you make the call.

← All swappables