My NAS, frood, has a bit of a weird setup. It’s just one big initramfs containing a whole Alpine Linux system. It’s delightful and I am not sure why it’s not more common.
As long as the firmware can find the image, the machine comes up cleanly.
Deploying a new version is just copying a single file.
The system is defined declaratively in the git repo that builds the initramfs.
Importantly to me, it’s not defined in some complex DSL: if I want a file to exist at /etc/example.conf I put it in root/etc/example.conf , and the rest is done by a few hundred lines of scripts I can (and have) read.
I put it in , and the rest is done by a few hundred lines of scripts I can (and have) read. Configuring it doesn’t look any different than configuring any regular Alpine system.
I can test the next deploy with a qemu oneliner.
There are very very few moving parts.
If this already sounds appealing, you can skip to the “How it works” section below.
I have updated this post for my 2025-onwards setup, which moved to a 64-core Ampere Altra and removed the bootloader in favor of a single-file UKI.
... continue reading