Skip to content

About Kiln Linux

Kiln builds a Linux system from source, with no parent distribution. The goal: every file on the system comes from a recipe, and Kiln can rebuild itself.

Goals

Kiln starts from source tarballs. It bootstraps a cross toolchain and temporary system the way Linux From Scratch does, then rebuilds every package from a recipe with kiln build, so kiln tracks every file on the system. Next come a live ISO for the installer, BIOS boot and a desktop.

Design

Recipes are plain shell. A recipe sets a name, version, release, source URL and sha256, and can override build and package. kiln downloads the source, checks the checksum, builds it and packs the result.

Every package carries a manifest. A .kpkg starts with .KILN/meta.toml and .KILN/manifest, which lists every path with a sha256 for each file. kiln records installed packages under /var/lib/kiln/installed/.

kiln won’t overwrite what it doesn’t own. It refuses files another package owns, and files no package owns unless you pass --force. It renames each file into place, so a running program never sees half a file. Upgrades delete the files a new version dropped.

Development

Kiln builds in a fixed Debian stable container as an unprivileged user, so nothing from your host leaks in. Toolchain versions follow LFS 12.2. Every kiln command takes --root, and the bootstrap uses it to install packages into the new root before Kiln can run on its own.

Kiln boots in QEMU from a UEFI disk image. The status page lists what works.

Contributing

You can help with new recipes, a check of the bootstrap scripts and checksums against the LFS book, or the part of kiln still to write: package signatures. Start with the contributing guide.