Docs / How it works
The filesystem
Zainium OS implements the Dualayer Hierarchy Standard — where every file lives, and where FHS paths went.
Zainium OS is the reference implementation of the Dualayer Hierarchy Standard (DHS). The root directory holds only /overlayer, user data and the virtual filesystems:
/
├── overlayer/
│ ├── syshub/ the base system (composed view at run time)
│ ├── zexlib/ software you install, package records, flatpak data, shadowed files
│ ├── zaisys/ kernel, initramfs, boot loader (read-only)
│ ├── agents/ instructions and skills for AI coding agents
│ ├── README.zainium architecture.md zex.md
│ └── .syshub-pending/ a staged base upgrade (only while one waits)
└── home/ root/ tmp/ run/ dev/ proc/ sys/
There is no /usr, /etc, /var, /bin, /sbin, /lib, /lib64 or /boot at the root.
At run time /overlayer/syshub is read-only, even for root. Its etc and var are writable layers whose changes are kept in /overlayer/zexlib/union/etc and /overlayer/zexlib/union/var, and /overlayer/zaisys is a separate read-only mount.
Zainium names and DHS names
| Layer | DHS name | Zainium OS |
|---|---|---|
| System (base) | /overlayer/syshub | syshub |
| Userland | /overlayer/userland | zexlib (Zainium Executable Library) |
| Ignition (boot) | /overlayer/ignition | zaisys |
Inside the base
/overlayer/syshub/
├── bin/ sbin/ libexec/ programs
├── lib/ libraries (and lib/systemd, lib/udev, …)
├── include/ headers
├── share/ data files
├── etc/ system configuration
├── var/ state of base services
├── x86_64-zainium-linux-musl/ musl: loader, libc, headers, toolchain
├── drivers/
│ ├── modules/<kernel>/ kernel modules
│ └── hardware/firmwares/ firmware
└── engine/services/ syshub.toml (base packages), zex_services.toml (mirrors)
Where FHS paths went
| FHS | Zainium OS |
|---|---|
/bin, /usr/bin | /overlayer/syshub/bin |
/sbin, /usr/sbin | /overlayer/syshub/sbin |
/lib, /lib64, /usr/lib | /overlayer/syshub/lib |
/usr/include | /overlayer/syshub/include |
/usr/share | /overlayer/syshub/share |
/etc | /overlayer/syshub/etc |
/var | /overlayer/syshub/var |
/boot | /overlayer/zaisys/kernel |
/lib/modules | /overlayer/syshub/drivers/modules |
/lib/firmware | /overlayer/syshub/drivers/hardware/firmwares |
/usr/local, /opt | installed software in /overlayer/zexlib/union |
Programs written for FHS systems still find their files: see running FHS software.