Skip to content

Babilinx/atomic-alpine-linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atomic Alpine Linux

Atomic Alpine Linux (AAL for short) is a project that want to make an immutable Alpine Linux system. The goal is to make it work on the most minimal installation using simple sh files (no need for bash/fish/zsh) and capabilities already existing in Alpine Linux.

To make everything work, we are relying on BTRFS snapshots that provide an easy way to have multiple roots at the same time while keeping used space low, and Unified Kernel Images, so no need for any bootloader except the one from your UEFI, and you can use secureboot to reduce attack surface on your computer.

The end goal of the project is not to make Alpine Linux easier, instead it brings more complexity into it, but more to provide a tool that can ensure your system to boot at any time, even if an update breaks one snapshot.

Filesystem layout

sda1 - vfat
\- /efi

sda2 - btrfs
|- @data/
||- snapshots/
|||- $hash/
||||- infos
||||- var/
||\\- home/$user
||- var/ -> /var
||- home/ -> /home
|\\- home/$user/
|- @system/
||- 0  # Available at boot
||- 1  # Files that contains hashes to vol
||- 2
||- 3
||- vols/
|||- $hash/
||||- infos
||||- root/ -> /
\\\\- etc/ -> /etc

About

Let's make an atomic version of Alpine using BTRFS snapshots

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages