AstrOS is an immutable, secure-by-default Linux distribution built on Arch Linux and the COSMIC desktop.
Caution
AstrOS is alpha software.
Expect breaking changes, missing features, and rough edges. Don't run it on a machine you depend on.
- Immutable
/usr- the system partition is a signed read-only dm-verity image, leading to an immutable base that can't be altered. - A/B updates -
systemd-sysupdatefetches and applies signed image updates atomically, with the previous version kept for rollback. - Verified boot - Unified Kernel Images are signed and measured, sealed against your TPM chip (PCR11); Secure Boot is supported.
- Full-disk encryption - the root partition (btrfs, holding
/homeand/var) is encrypted and unlocked automatically via TPM2. - COSMIC desktop - the modern Rust-based desktop from System76, tightly integrated.
- Container ready - Install GUI-Apps using
flatpakand usedistroboxfor running terminal or non flatpak supported software.
- x86-64 machine with UEFI firmware
- A TPM 2.0 module
- 30GB disk space (both
/usrpartitions need at least 5GB) - 8GB USB stick for installation
Grab the latest image:
AstrOS-installer_latest_x86-64.raw.zst
Write it to a USB stick. We recommend caligula:
caligula burn AstrOS-installer_latest_x86-64.raw.zstAny tool that writes a raw image (e.g. dd) works too.
AstrOS uses systemd-sysupdate. Use updatectl to update your system:
updatectl updateUse updatectl vacuum in case of the update failing because of previously unfinished updates.
If a software is available as a Flatpak, it should be your first option. You can install Flatpaks using the cosmic-store.
For software not available as a Flatpak or terminal tools, use Distrobox.
Run distrobox enter for creating and entering your first Distrobox. It defaults to Arch Linux.
List available extensions with updatectl features
Enable with updatectl enable --now --reboot <feature>
You can't. It may or may not be added in the future
Currently, there aren't any drivers implemented. The fact that I don't have an Nvidia card to test things makes things more difficult. The best-case scenario would be to have a systemd-sysext for Nvidia in the future. All contributions are welcome!
AstrOS is a strongly opinionated project. Due to its image-based nature, it isn't really for tinkerers. It is for those who want a secure, encrypted, and signed operating system that just works with minimal effort.
See CONTRIBUTING.md for contribution guidelines.
AstrOS is built with mkosi.
system:
git clone --recurse-submodules https://github.com/astros-linux/AstrOS
cd AstrOS/system
mkosi genkey # You'll need your own keys, or AstrOS will fail to build.
mkosi -f -B # This builds to `mkosi.output/`installer:
git clone https://github.com/astros-linux/AstrOS
# zstd -o ./installer/mkosi.extra/images/AstrOS.raw.zst ./system/mkosi.output/AstrOS*_x86-64.raw
cd AstrOS/installer
mkosi -f -B # This builds to `mkosi.output/`AstrOS is licensed under the GNU General Public License v3 - see LICENSE.
The repart / sysupdate configuration are highly inspired from ParticleOS by systemd, Thanks!
Thanks to the OGC Collective for the gamescope session: https://github.com/OpenGamingCollective/gamescope-session-steam