image

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.

Homepage

Beta announcement

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/

  • vas@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    26 minutes ago

    Sounds interesting! And welcome to Lemmy if you’re a new user indeed! (Otherwise, cheers.) Few personal thoughts below.

    Atomically upgradable images and the added security sound interesting to me. I’m not specialized enough to say whether that’s really going to help for my threat model, personally. I mean, in /boot I currently only have the Linux images. Verifying those seems sufficient, because the actual system is only decrypted afterwards when I enter my password.

    I must also say, accepting a concept is harder for me if the proposed line of thought is “GNOME OS is to be loved, and %project_name% is a bit like that”. Because personally, I remember Gnome since version 2 and I dislike what they’ve done with the system since. I only use gnome-disks from the entirety of them. From KDE I use more (kate), and from XFCE I use way way more. And I also dislike how GNOME pushed systemd onto all of us as a hard requirement. Not that systemd is necessarily bad, but the push for it didn’t feel right.

  • hirihit640@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 hours ago

    booted by signed UKI images. Root is LUKS protected and unlocked by TPM2. This combination protects your system from outside modification.

    This is cool. I remember hearing even all the Fedora-based atomic distros don’t use UKI, so they are vulnerable to initramfs modifications

    • throwaway403@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      4 hours ago

      I remember hearing even all the Fedora-based atomic distros don’t use UKI, so they are vulnerable to initramfs modifications

      This has been a thing for the longest time. But the situation has been changing since about a year ago. That work has eventually led to the release of so-called sealed bootc images. Which, in turn, has led (some) projects to start active development on that. From what I know, projects like secureblue are even dogfooding their respective UKIs as we speak.

      So, we’ve come a long way and it wouldn’t surprise me if many projects will ship their respective sealed images (alongside their regular images) before the end of the year.

      However, there are some glaring issues that need to be addressed, most prominently of which is the loss of layering. Sealed images don’t support layering and probably won’t either. Of course, many different alternatives exist, including system extensions, creating your own custom image with those packages baked in, going the RakuOS-route and probably many others I’m unaware of or forgot about. But, AFAIK, none of the alternatives are as mature as layering has become.

  • rnercle@sh.itjust.works
    link
    fedilink
    arrow-up
    18
    arrow-down
    3
    ·
    edit-2
    16 hours ago

    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.

  • pixeldaemon@sh.itjust.works
    link
    fedilink
    arrow-up
    6
    arrow-down
    2
    ·
    17 hours ago

    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.

    • echo_society_dev_null@piefed.worldOP
      link
      fedilink
      English
      arrow-up
      7
      ·
      17 hours ago

      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

      • pixeldaemon@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        16 hours ago

        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.

        • echo_society_dev_null@piefed.worldOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          16 hours ago

          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

          • pixeldaemon@sh.itjust.works
            link
            fedilink
            arrow-up
            1
            arrow-down
            2
            ·
            15 hours ago

            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

  • mpramann@discuss.tchncs.de
    link
    fedilink
    arrow-up
    6
    ·
    19 hours ago

    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?

    • echo_society_dev_null@piefed.worldOP
      link
      fedilink
      English
      arrow-up
      9
      ·
      19 hours ago

      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.