About
stali is a static linux distribution based on the original pre-2010 plans of the suckless.org project, however since 2018 it became independent from suckless.org and is maintained by Anselm solely.
The repositories of stali are hosted at GitLab now.
stali goals
- Follow the suckless philosophy
- Target x86_64 and arm (RPi) support
- Use custom stali.mk Makefile’s for the base system (except Linux kernel so far)
- Ignore FHS of Linux, it simply sucks. Use a decent filesystem structure instead
- Don’t use systemd (read more about why it sucks)
- Make everything musl libc based
- Achieve binary size reduction (through the avoidance of glibc and other bloated GNU libraries)
- Achieve better performance than any other x86_64 or arm distribution, as only statically linked binaries are used
- Achieve better memory footprint than heavyweight distros using dynamic linking and all its problems
- Achieve better ABI stability and long-term maintenability of the static binaries (compared to their dynamic counterparts)
- Minimize security threat vector - potential flaws only on a per static binary basis (say good bye to the famous LD_PRELOAD and .so dependency resolver problems)
- Include a hand selected collection of the best tools for each task (including sbase, ubase, …)
- Upgrade/install using git, no package manager needed
Contributing
Patches are welcome. Reach out to Anselm if you have questions or consider supporting this project. Note that stali in its current form is totally experimental. Use at your own risk.
Some related links
- oasis - a small statically linked linux system by Michael Forney
- 20160407 InfoWorld article on “Stali distribution smashes assumptions about Linux”
- musl libc
- morpheus - a statically linked musl based distro
- bare - bare linux
- ldd arbitrary code execution - Nice exploit
- static linking - My old blog entry
- blog post about stali
- On the Effectiveness of Address-Space Randomization