2026-10-24 –, Room 340
Most Linux distributions ship precompiled software or compile at install time. This talk explains the architecture and design decisions of a distribution that does not do this.
ccix, an experimental Linux distribution, explores deferred compilation, a technique where applications are compiled when they are invoked. It uses a custom 'deferred compiler' based on libtcc that can resolve symbols and cache outputs. It is performant, compiling bzip2 in 0.07 seconds on an i5-6500.
ccix is a Linux distribution that uses deferred compilation. This means that there are almost no binaries on the entire system. As a consequence of doing this, ccix:
- Is easier to port across architectures than conventional distributions
- Is hackable, as there is no need to download or recompile packages to modify them
- Has a small package repository as source code compresses well
- Avoids ABI mismatches between packages, as packages aren't linked against specific versions
- Does not use any build systems like Autotools, CMake, etc.
- Has superior transparency, as there are no binaries to obscure potentially unwanted behavior
ccix's compiler is relatively simple, as it's mostly just a wrapper over libtcc. However, unlike tcc -run, it can automatically resolve symbols, put together multi-file codebases on the fly, and cache outputs. To make C source code executable, ccix uses the binfmt_misc feature in the Linux kernel.
I enjoy open-source development, especially lightweight and minimalist software. A few of my achievements include making my own Linux distribution, dabbling in kernel work, and writing web applications without large frameworks. I also enjoy writing C and being an Alpine Linux evangelist.