Made in England · Saphira Linux · Version 0 Saphira

Saphira Linux

A deterministic musl distribution with a traditional filesystem, a complete native toolchain, and an auditable path from source archive to bootable image.

Saphira, the Saphira Linux Version 0 mascot
Technical preview

Saphira Linux · Made in England

Saphira Linux is booting on OpenRC and systemd.

A deterministic, from-source musl distribution built in England for direct ownership: no binary-cache dependency, no usrmerge, and no BusyBox substitution layer.


Design position

Correct, not convenient

Saphira Linux is not an attempt to make Linux easy. It is an attempt to make it correct. Where common practice and the published standard disagree, the standard wins, and the reason is written down.

  • /usr is split, not merged. /bin, /sbin, /usr/bin and /usr/sbin are separate directories. Early-boot and OpenRC executables stay in /sbin, and init scripts use #!/sbin/openrc-run.
  • The base utilities are the real tools. There is no BusyBox applet layer standing in for coreutils, util-linux, or the networking commands.
  • Every binary is compiled from a pinned source archive. There is no binary cache to trust and no prebuilt package of unknown provenance.
  • Build policy is recorded per unit. An image can be explained, not just described.

This is a technical preview. Where a figure below is a target rather than a measurement, it says so.


Dual-init booting · Made in England

One Saphira machine; choose OpenRC or systemd

The original Saphira Linux and Saphira-D are both real boot paths. Saphira-D has booted systemd on Linux 7.2.2, while the original Saphira path continues to boot OpenRC. The systemd path is actively developed, not a future-only claim.

An installed system can be upgraded in place from OpenRC to systemd without rebuilding the entire operating system. The operator can still select init=/sbin/openrc-init and boot OpenRC on the same system. musl libc and systemd are optional parts of that choice, rather than a reason to discard the existing machine.

Is this a first for an English Linux distro? We are not making that historical claim, but it is a serious question raised by a source-built musl system that can preserve its OpenRC boot path while making systemd selectable.

systemd-nspawn is working. User-mode systemd-nspawn is approaching validation and will be documented as tested only when that work is complete.


Boot evidence

Hardware and virtual platforms

Saphira has booted on hardware and virtual platforms. The kernel module set is approximately 53 MB while the boot kernels remain compact: vmlinuz-7.1.5-akadata is 16 MB and vmlinuz-7.2.2-akadata is 17 MB.

Hatchling boot evidence includes loaded ZFS and KVM modules: the active zfs module is 6,365,184 bytes, with kvm_intel and kvm also loaded. ZFS version 5000 has been tested and remains under continuing test.

libvirtd is being added for headless server-side hypervisor operation. There is no graphical-management, desktop, X11, or Wayland plan. pppd and rp-pppoe are now present; their live validation is planned for a maintenance window, so PPPoE is not yet claimed as tested.


Preview targets

How the preview compares

Saphira Linux preview targets compared with a typical general-purpose distribution
CharacteristicTypical general-purpose distributionSaphira Linux
Runtime baseBroad default package setApproximately 260 MB without sources
Stripped imageVaries by installation mediaApproximately 300 MB distributable image target
Development environmentUsually installed from external binary repositoriesApproximately 4 GB installed; compressed development image target of 1–2 GB
C library and initOften glibc with systemdmusl with OpenRC default or selectable systemd through Saphira-D
Base utilitiesDistribution-dependentPurpose-built package set; no BusyBox
FilesystemFrequently usrmergedDeliberately non-usrmerged; early boot remains in /bin and /sbin

The 260 MB figure describes the runtime base without sources; the approximately 300 MB figure describes the stripped distributable image target. Final downloads will publish measured bytes and SHA-256 values.


Core patches

What is changed in the C library

mimalloc integration

The toolchain and native system integrate an external mimalloc allocator with musl-facing compatibility changes.

Correct errno behaviour

Allocator error paths carry the expected errno semantics instead of silently losing failure context.

Larger pthread baseline

The default pthread stack increases from 128 KiB to 1 MiB, giving concurrent native services more practical headroom.

These are the verified patches in the current source tree. Saphira does not claim an unverified network-buffer expansion or promise that overload can never drop work.


Core specification

Pinned and reproducible

Architecture
x86_64, x86-64-v3 baseline
Compiler
GCC 16.1.0, O3
Kernel
Linux 7.1.5 and booted Linux 7.2.2
Target
x86_64-akadata-linux-musl
Reproducibility epoch
1753401600
Boot and services
OpenRC with #!/sbin/openrc-run, or selectable systemd on Saphira-D
Current codename
Saphira · Version 0
Userland
Selected native tools; no BusyBox
Pinned source archives
145
Stage4 APK packages
254, including 105 -dev and -doc splits
Default build policy
2 jobs, load limit 2, -pipe on
Parallel build profile
settings set profile performance uses the host CPU count with a load limit of 1.25×

Counts are read from stage4/sources.lock and stage4/dependencies.tsv. A further 90 locked Rust crates are vendored build inputs for bindgen and are not listed as packages.


The story

Saphira, Egg, Hatchling, Hatched, then Spawn

Saphira v0.1 came first. Saphira created Egg; Egg built Hatchling; Hatchling hatched Hatched. These are not product editions or promised release names. They are the working generation and validation loop behind Saphira Linux and Saphira-D.

First Dragon

Saphira v0.1

The running Saphira system from which the next turn begins.

Build

Egg

Builds the next packages without sacrificing the trusted running system.

Package validation

Hatchling

Tests package installation, upgrades, ownership and boot behaviour.

Stress and acceptance

Hatched

Stresses the assembled system and package set. Faults return to Egg for correction and another test turn.

That feedback loop supplies both the Saphira OpenRC path and the Saphira-D systemd path. systemd-nspawn works; user-mode systemd-nspawn is close but not claimed complete. The remaining investigation is at the ZFS idmapped-mount boundary, not a systemd or musl limitation.

Spawn of Saphira is the next, in-progress turn: Saphira building Saphira with the package base, tooling and installer machinery required to reproduce the distribution from itself. Its current work includes the near-complete user-mode systemd-nspawn route, discovered after first proving systemd-nspawn as root.


More Saphira

The story continues at Saphira Linux

Dragons are part of the project’s language. mailDragon is a live APK in the Hatchling package repository, and PBXDragon is planned. The canonical Saphira site carries the wider build, release, and resource story.