Frostyard documentation
Frostyard makes bootc images and /usr system extensions, built with
snosi. These guides cover each Frostyard
image, every extension in the catalog, the apps, and the tools. Each page lists
its sources at the bottom.
Start here
Section titled “Start here”Choose an image
Section titled “Choose an image”Each image has its own guide:
| Product | Role | Page |
|---|---|---|
| Snow | General-purpose GNOME desktop | Snow |
| Snowfield | GNOME desktop for Microsoft Surface devices | Snowfield |
| Sundog | KDE Plasma desktop, bootc only | Sundog |
| Floe | Headless server image | Floe |
| Base | Shared image foundation, not an installer choice | Base |
Snowfield is untested on representative Surface hardware. The installer offers the four bootc products; Base is not one of them. The snosi installation guide has the full table.
Install and first boot
Section titled “Install and first boot”Install with Firn. It needs UEFI, erases the disk you pick, and asks you about each security choice. Start with Install a Frostyard image: it covers checking the ISO, the disk warning, first boot, and MOK enrollment.
Every image checks for updates hourly, stages a new version, and starts it at your next normal reboot. It never forces a reboot. Install, update, and roll back takes you from the download to a rollback.
Old nbc and native A/B installs got no new images or updates after 2026-09-30. They cannot convert in place: back up, install fresh, and restore. See Move from an nbc or A/B install.
How a Frostyard system is built
Section titled “How a Frostyard system is built”A Frostyard system has three layers:
- The image. It holds the read-only
/usr, the kernel, the desktop or server software, and the updater. - Your state.
/varholds homes, containers, and service data./etcholds your configuration and carries it into each new version. - System extensions. EROFS images that add to
/usronly. They cannot write/etcor/var. An extension keeps its default configuration in/usr/share/factory/etc, andtmpfiles.dcopies it into/etcat boot.
Every image carries a definition for each extension in the catalog, switched off. The extension itself is not in the image: you turn it on, and download it, with Updex. Each extension page has the steps. An enabled extension updates on its own: a new version is staged and starts at the next boot. See Automatic updates.
Each extension page shows the newest version the catalog listed at its last
sync. Run updex features check to see what you can update to.
Not covered yet
Section titled “Not covered yet”Snow’s first-setup app (snow-first-setup) and the hotedge and Logo Menu
GNOME extensions have no guide of their own. The Snow
page lists them.
Repogen, the generator for sysext and other package repositories, has no guide here. Read its README.
Sources
Section titled “Sources”- Website catalog snapshot:
src/data/extensions.json, reviewed 2026-10-27. - snosi product and support status:
README.md. - Installation and update flow:
docs/installing.md. - Secure-path limits:
docs/bootc-secure-operations.md. - Legacy host migration:
docs/nbc-to-bootc-migration.md. - Extension definitions in the image, each with
Enabled=false: snosimkosi.images/base/mkosi.extra/usr/lib/. - Sysext updates on by default: snosi
05-updex.preset. - System extension model:
docs/design/sysexts.md. - Updex v2.1.3: tag
v2.1.3, commit2661e987faac986f2594d1d9bbbadf1bf3053f5b. - Updex lifecycle commands: v2.1.3
README.md. - Newest version in each
SHA256SUMS: frostyard-orgscripts/extension-versions.mjs. - Snow first-setup app: snosi
shared/packages/snow/mkosi.conf. - Snow GNOME extensions: snosi
shared/composition/snow/mkosi.conf. - Repogen:
README.md.