
The short version:
As said in the title, it is an immutable, secure-by-default distro based on Arch Linux and the COSMIC desktop environment. It uses similar tooling as GNOME OS and KDE Linux. Unlike most immutable / atomic distros that use rpm-ostree or bootc, we use systemd-sysupdate which is most known from GNOME OS. It is currently at beta and considered stable enough for daily use.
What makes AstrOS special is its immutable base, which is shipped as a hashed and signed /usr image that is booted by signed UKI images. Root is LUKS protected and unlocked by TPM2. This combination protects your system from outside modification.
AstrOS base can be extended with currently five extensions, including a Steam gaming extension with the SteamOS gamescope session.
The long personal version:
Why:
Okay you are probably reading this and asking yourself, “What’s the point in another distro?”. Considering that multiple new distributions get released every week I can’t blame you, but I can try to explain it. :) So let me start at the beginning. I always loved the concept of GNOME OS. Later, KDE Linux came to the list of distributions using the systemd tooling. Systemd sysupdate being that low level tool that was simple and just seemed to work, was a massive plus point imo. Then COSMIC went stable and I was fascinated by that desktop. It has the simplicity I loved about GNOME and the tiling and customizability I always wished GNOME had. After using it for a while on Arch, I got to a point where someone asked me to install Linux on his device, and he wanted COSMIC. In my opinion immutable distros are just better for beginners (which doesn’t mean the distro is only for beginners). I mean take a look at smartphones, it is what most “normal users” prefer using nowadays. So I went ahead and wanted to create the distro combining what I love about the rolling release of Arch, the user friendliness & stability of immutable distros, and the simplicity of systemd sysupdate.
The Distro Model:
AstrOS consists of the usual ESP and LUKS root partition. Root is using btrfs and perfectly writable. What’s making the distribution immutable (or atomic if you want so) are two (A/B) sets of /usr partitions. Each set consists of 3 partitions: the erofs /usr partition itself, a partition containing its hash, and lastly a partition containing the signature of the hash. The system is booted using signed UKI images. This partitioning model promises a boot sequence that is completely verified. If someone tries to tamper with the partitions / uki’s from the outside, then the signature / hash won’t match anymore, and the system refuses to unlock the root partition. This raises the bar considerably against offline tampering.
The TPM and recovery key both get enrolled on first boot using systemd-repart. Yes that means we require a TPM2.0 chip. We think that’s acceptable for a new distribution, as we force no one to upgrade to it. A workaround to install AstrOS without a chip may or may not be added in the future.
I wanted to keep the base minimalistic, while allowing people to do more advanced stuff. That’s why we offer system extensions (systemd-sysext). For example, most people prefer system-packaged installed Steam over the Steam Flatpak. For that, we have the steam-gaming extension. Additional extensions provide virtualization tools, firewalld, waydroid, and most important: Nvidia drivers.
For most GUI apps software can be installed using flatpaks. For non-flatpak apps / terminal applications we have distrobox.
Generally, the whole distro is designed to just work, without the user having to take care of it. Because everyone has a byte-for-byte identical /usr partition, fixing bugs applies to everyone.
Mini FAQ
Here’s the complete one: https://astros-linux.org/astros/faq/
Is this vibe coded?
- Nope, our contribution guidelines even forbid it. I want to write all the code / configs etc. myself. Our contributing guidelines require people to know what they are doing
Is nvidia supported?
- yes
What about secureboot?
- currently only with our own custom keys
Dualboot?
- not officially, there’s an unofficial guide for dualbooting with windows in the docs
The projects future
The biggest goal is to build a bigger community. Getting more contributors.
I additionally plan to write a small GUI utility using libcosmic to graphically update and install system extensions. Once we are stable, auto-update probably gets enabled.
And yeah, just improving the distro.
Please consider joining our discord :)
Wanna try in a vm first? https://astros-linux.org/guides/installing-in-a-vm/
Not to be mean but atomic and arch are two opposite things and if one needs atomic then they hardly need arch and vice versa. You basically created endeavour with cosmic and flatpaks.
I’m also not quite sure that this construction with hashes is a reliable one… I might miss additional technical details though.
Why can’t people differentiate the distribution model from the release model. It is quite common to have rolling atomic distros: nearly rolling built GNOME OS, arch based KDE Linux, tumbleweeds based aeon. Arch gives us close to upstream packages that aren’t heavily modified. Its a solution to have low level packages without having to build them ourselves. Our features require the newest systemd version to work. Having the latest cosmic version doesn’t cause any harm either.
dm_verity (the hash stuff) has been extremely reliable
Yeah but GNOME OS and KDE Neon are built just to test new versions of KDE and GNOME, while COSMIC is basically battletested in Pop!_OS. GNOME OS is built from scratch and hardly is usable for normal people, and the other two are based on Ubuntu LTS, only their specific packages are rolling.
GnomeOS has plans to become a daily driver. What other two distros? KDE Linux is arch based. You confuse it with kde neon, they are not the same. For Aeon I literally said opensuse tumbleweed based. In what world is tumbleweed ubuntu based
No one will use GNOME OS except for GNOME ecosystem devs. Even the DE itself has two long-term active forks and a flashback edition because virtually no one wants to use GNOME as is.
Same applies to KDE except it is accepted as is, but again, what’s the point of using it if you are not one of their devs? And why do we even need two KDE distros?
I wasn’t speaking yet of Aeon, this one seems more promising, but again, people who don’t want to bother themselves much just don’t use rolling release, it has always been for the fearless ones.
UPD: The third Ubuntu based I meant was Pop OS
I mean take a look at smartphones, it is what most “normal users” prefer using nowadays.
prefer? Do you know how difficult (or often impossible) it is to modify your phone’s OS?
That’s not a ‘preference’, that’s an imposition!
beep.
for my OS i want complete mutability. I’ve spent the last 2 days learning NixOS because it’s bringing something completely different to the table. It made me like Arch more :)
Most of the “fork of a fork of a fork” distributions of today will probably disappear in a couple of years. At least you’ll learn from this endeavour.I’m wondering what’s the target audience of this project. Why choose arch + immutable instead of something like Bazzite as a starting point? A pre defined arch distro without the use of pacman/yay seems a bit pointless, no?
Thanks for asking. There are plenty of bootc / rpm-ostree projects based on fedora. Systemd-sysupdate is way more low level tooling. We just want new and close to upstream packages which arch exactly provides. Arch allows us to not have to build the packages ourselves. Pacman and the aur can still be used in distrobox.
So yeah we just found arch to be the most reliable option for the systemd-tooling.
Bluefin (Bazzite sister project) is testing systemd-sysupdate. It will be interesting.
you mean dakota right? It is an interesting project



