Atomic by snapshot
Every update builds a brand-new root in a Btrfs copy-on-write snapshot. The running system is never touched mid-update, and a failed upgrade leaves no partial state behind — the half-built snapshot is simply discarded.
silverblue-update # snapshot the root, upgrade it, validate, boot it next # → reboot → auto-marked good, or auto-rolled-back on failuresilverblue-update --rollback # boot the previous snapshot on next rebootsilverblue-update --dry-run # show the plan without changing anythingAtomic by snapshot
Every update builds a brand-new root in a Btrfs copy-on-write snapshot. The running system is never touched mid-update, and a failed upgrade leaves no partial state behind — the half-built snapshot is simply discarded.
Rolls back by itself
Three independent safety nets: a failed post-boot health check triggers an
OnFailure rollback, a hung userspace is reset by a hardware watchdog, and
an unbootable kernel is demoted by systemd-boot boot counting.
Fully mutable
Unlike Fedora Silverblue, there is no read-only /usr, no overlayfs, no
immutable root. It stays plain, writable Arch — atomicity comes purely from
snapshots, not from locking you out of your own system.
Pure pacman, stock Arch
No custom package format, no pacman wrapper, no patched bootloader, no
signing scheme. The update is a normal pacman -Syu — it just runs inside
the snapshot instead of your live root.
systemd-boot and GRUB
Both bootloaders are supported and detected at runtime. systemd-boot is the primary, CI-validated path; GRUB is fully implemented and covered by unit tests.
Derivable and tested
Fork it into your own branded distro by editing one file
(config/distro.conf) and rebuilding. Everything is shellcheck-clean, unit
tested with bats, and integration tested end-to-end in QEMU.
Snapshot. btrfs subvolume snapshot clones the running root — instant,
copy-on-write, and the live system is never modified.
Upgrade in the clone. arch-chroot into the snapshot and run
pacman -Syu. Any failure discards the snapshot; no partial state is left.
Validate. Require a kernel and initramfs in the new /boot, and a clean
systemd-analyze verify inside the new root.
Register a boot entry. A new bootloader entry for the snapshot — with a boot-counting suffix on systemd-boot, or a regenerated menu on GRUB.
Boot it once. The new root becomes the next boot only; the permanent default is unchanged until it proves itself.
Keep the fallback. The previous root stays registered; at most three snapshots are kept, pruned in lockstep with their kernels and entries.
Bless or roll back. After reboot, a health check either promotes the new root to permanent default — or the system falls back to the previous root, automatically.
Read the full flow, the on-disk layout, and the rollback-trigger table in Update & Rollback Flow.
Arch Silverblue is designed to be forked into your own atomic distro by editing a single file and rebuilding — see Derive Your Own Distro.