Problem
Modern distros abstract away everything between kernel and userspace. For a community that wanted to understand systems deeply, mainstream distributions were too opaque package managers, init systems, and boot flows come pre-assembled with no visible seams.
Eclipse Linux started as the org's answer to that opacity: a minimal musl-based distribution where the init system is written by the community itself, and every layer of the stack is visible in the repository.
Goals
Custom Init
Boot with dynamod, a from-scratch init system developed by the community rather than borrowed from upstream.
Minimal Base
Build on the Void Linux musl rootfs a tiny, fast base with no systemd and no bloat.
Reproducible Build
Makefile-driven pipeline: make dynamod → make rootfs → make iso, with QEMU test targets.
Usable Installer
A dialog-based TUI installer that runs inside the live ISO for real hardware installs.
Architecture
┌──────────────────────────────────────────────────────────────────────────┐ │ ECLIPSE LINUX │ ├──────────────────────────────────────────────────────────────────────────┤ │ Build pipeline → Output → Target │ │ ┌────────────────────┐→ ┌───────────────────┐→ ┌──────────────────────┐ │ │ │dynamod init │→ │build-rootfs.sh │→ │.iso artifact │ │ │ │(source) │→ │xbps in chroot │→ │BIOS + UEFI │ │ │ │Void musl │→ │build-iso.sh │→ │SquashFS │ │ │ │rootfs tarball │→ │(squashfs/xorriso) │→ │GRUB boot │ │ │ └────────────────────┘→ └───────────────────┘→ └──────────────────────┘ │ │ make dynamod · make rootfs · make iso · make test-qemu │ └──────────────────────────────────────────────────────────────────────────┘
Eclipse Linux is assembled in three stages, each a make target. make dynamod builds the community's own init system unprivileged. make rootfs takes a Void Linux musl rootfs tarball, installs packages with xbps inside a chroot, and strips firmware blobs and extra locales to keep the result minimal. make iso wraps the rootfs in a SquashFS image with a GRUB bootloader supporting both BIOS and UEFI, producing a hybrid live ISO that ships a dialog-based installer.
Init System
dynamod is built from source as a normal user the community owns the very first process the kernel launches.
Root Filesystem
Void musl rootfs + xbps package set assembled in a chroot, with firmware blobs and unused locales stripped for a slim image.
Live ISO
SquashFS rootfs wrapped by GRUB with hybrid BIOS + UEFI support, produced by build-iso.sh with xorriso and mtools.
Installer & Testing
eclipse-install is a dialog-based TUI that runs inside the live environment; QEMU targets (graphical, serial, install) validate every build.
Key Features
Custom dynamod Init
The distro boots with an init system written by the community a rare, deeply educational engineering exercise.
Hybrid BIOS + UEFI ISO
One ISO boots on legacy BIOS and modern UEFI hardware thanks to GRUB's dual-stage configuration.
Makefile-Driven Builds
make dynamod / rootfs / iso / test-qemu turn a messy systems pipeline into four discoverable commands.
QEMU Test Harness
Graphical, serial-console, and install test targets let contributors validate ISO changes without rebooting hardware.
Tech Stack
Void Linux (musl)
Minimal, dependency-light base with musl libc.
dynamod
The community's own from-scratch init system.
Make
Declarative build pipeline entrypoints.
SquashFS + xorriso
Read-only rootfs compression and hybrid ISO assembly.
GRUB
BIOS + UEFI dual-mode bootloader.
dialog
TUI installer interface inside the live environment.
Results
Eclipse Linux is the org's most-starred repository and its boldest systems experiment. The Makefile pipeline and QEMU harness turned a notoriously fiddly process distro ISO building into a repeatable workflow that newcomers can run and extend. dynamod remains the community's flagship from-scratch systems achievement.
Challenges & Trade-offs
Challenge
The dynamod init source lives outside the repo and is gitignored, so a fresh clone won't build without it.
Solution
make dynamod is a first-class target that clones and builds the init bits locally documented explicitly as an unprivileged step.
Challenge
ISO building requires sudo, mount, chroot, and loop devices a fragile host environment.
Solution
Scripts validate every required tool (mksquashfs, xorriso, grub-mkimage, mtools…) and print package hints for Void and Arch hosts.
Challenge
Stripping firmware blobs and locales makes the live environment WiFi-light and breaks some GPUs.
Solution
The trade-off is documented in the README as an intentional size decision, with the exact build variables (ECLIPSE_VERSION, VOID_DATE) exposed for override.
Implementation Highlights
From-Scratch Init
The kernel's first userland process is the community's own code an engineering milestone few projects can claim.
Four-Command Build
make dynamod → rootfs → iso → test-qemu is the entire development loop.
Slim by Design
musl base plus stripped firmware and locales keeps the live image small and honest about its trade-offs.
Lessons Learned
Systems work rewards a good test harness the QEMU targets made ISO iteration faster and safer than any hardware workflow.
Explicit version pins (VOID_DATE, ECLIPSE_VERSION) are what turn a pipeline into something reproducible months later.
Documenting trade-offs (stripped firmware) builds trust and invites the right contributions.