Reference · Decisions
0017: One base system
WolKernel and the base userland are released together, as one version.
Status: accepted; its build parts are replaced by 0029. Builds on 0016.
On this page
Context
on BSD the kernel and base userland come from one tree with one version, so headers, tools and kernel always agree. A plain Arch system assembles them from unrelated packages.
Decision
wolos-base= WolKernel + its UAPI headers (linux-wolos-api-headersreplaceslinux-api-headers) + the base userland, built from this repo at one version and published together in[wolos].wolos-baseversion = WolOS release;uname -vand/etc/os-releaseagree.- Base userland prefers non-GNU, memory-safe tools: uutils-coreutils/findutils/diffutils, sudo-rs, bsdtar (libarchive), zsh, systemd-timesyncd. Kept GNU where the product needs it: glibc (Steam, Proton, NVIDIA), gcc runtime libs, bash only as
/usr/bin/shfallback for Arch scripts (pacman hooks, PKGBUILD). woltools (wol sys,wol hw,wol update,wol security) are the base admin interface, documented as man pages next to the base, like BSD'sfreebsd-update/bsdinstall.- Kernel removals (ADR 0016 WolKernel) land in the same base release as the matching header and userland changes; a base release that boots but fails
wol doctoris not published. - Stays compatible with the common Linux ecosystem: any binary, Flatpak, AppImage, container or DKMS module that runs on stock Arch runs on WolOS. Removals cover only interfaces nothing uses today; if unsure, keep it.
- pacman cannot replace base packages from Arch:
[wolos]provides/conflicts them, and the release snapshot is tested as one unit.
Consequences
wolos-base is one meta-package with a manifest of every base file; wol base verify checks it (like freebsd-update IDS). Arch packages outside the base follow the pinned snapshot.
Related
- 0016: Arch Linux base, in snapshotsWhy WolOS is built on the base distribution's packages pinned to a dated snapshot.
- Optional modulesAI, developer, creative and console stacks, installed after the base and removable.
- GamesNative Steam with Proton, and Windows programs outside Steam on Wine.
- 0032: Optional modulesAI, developer, creative and console stacks as removable modules and Kits.
- 0021: wopkgOne package tool for every source, with a stable library behind it.
From the developer documentation, wonderlandos/wolos docs/adr/0017-wolos-base.md.