Vanilla OS

Vanilla OS seems a new kid on the block for Linux based Operating systems.

Uses appImage/flatpak/snap - has left rpm, dpkg etc behind

At the first start you can choose which package format to use in Vanilla OS (Flatpak, Snap, Appimage …), you choose and Vanilla OS will take care of the rest, putting you in the situation to start without problems.

immutable

Vanilla OS is an immutable operating system, core parts of the system are locked down to prevent unwanted changes and corruption from third-party applications or a faulty update. Some paths are still writable, such as the home and configurations directories, this allows the user to keep their files and ensure the normal functioning of applications.

User A/B update scheme

Vanilla OS uses an A/B structure (ABRoot), which transacts updates atomically between two root micro partitions. The benefits of this system are the guarantee that the system is altered only when the entire transaction is successful (concept of atomicity), furthermore, the double root partition structure allows you to roll back to the previous state, directly from your boot, you will always have a home to come back to.

This structure, unlike others, is compatible with already existing distributions and does not require a complex setup and allows easy re-initialization of the system without data loss.

1 Like

Thanks for the analysis!

It appears some of the tooling is written in Go:

Some more info on their AB system:

https://documentation.vanillaos.org/docs/ABRoot/porting

The following is the structure of a root partition with ABRoot:

.
β”œβ”€β”€ bin -> .system/usr/bin
β”œβ”€β”€ boot
β”œβ”€β”€ dev
β”œβ”€β”€ etc -> .system/etc
β”œβ”€β”€ home
β”œβ”€β”€ lib -> .system/usr/lib
β”œβ”€β”€ lib32 -> .system/usr/lib32
β”œβ”€β”€ lib64 -> .system/usr/lib64
β”œβ”€β”€ libx32 -> .system/usr/libx32
β”œβ”€β”€ media
β”œβ”€β”€ mnt
β”œβ”€β”€ opt
β”œβ”€β”€ proc
β”œβ”€β”€ root
β”œβ”€β”€ run
β”œβ”€β”€ sbin -> .system/usr/sbin
β”œβ”€β”€ srv
β”œβ”€β”€ sys
β”œβ”€β”€ tmp
β”œβ”€β”€ usr -> .system/usr
└── var

As you can see, some directories are now symlinks to the .system directory, which is the true root of the system. This is done to allow ABRoot to switch the content of the root partition in a atomic way.

Appears to track Ubuntu:

  • Rolling Release?
    No. Vanilla OS is a point release and follows the Ubuntu release cycle.

yes more go !! and recent blog post states that they are switching to debian