WolfeOS is a compact, branded Linux distribution assembled entirely from source inside a Docker container. The build process compiles a vanilla Linux 6.10 kernel, BusyBox for the foundational command-line environment, wraps everything in a custom initramfs, and outputs a bootable ISO ready for further UI-focused development.
- Provide a reproducible reference for building a distro “from scratch.”
- Keep the resulting ISO small and fast to boot while remaining easy to extend.
- Offer simple entry points for customizing the kernel config, initramfs contents, and boot branding.
- The
Dockerfileinstalls the full toolchain and pulls the Linux 6.10 source tree. - A project-provided
kernel.configis copied in and used to compile the kernel plus its modules (/build/kernel,/build/rootfs/lib/modules). - BusyBox 1.36.1 is compiled and installed into
/build/initramfs, giving a minimal set of shell utilities. - Required glibc libraries and kernel modules are copied into the initramfs,
along with a custom
/initthat mountsproc,sys, anddevand then launches a BusyBox shell that shows the WolfeOS banner. - The initramfs is compressed, GRUB assets are staged, and
grub-mkrescueemitswolfeos.iso, a BIOS/UEFI bootable image.
Run the ISO on any x86-64 machine (bare metal, QEMU, VMware, VirtualBox, etc.) and you'll arrive in the WolfeOS terminal environment, the starting point for future graphical and branded experiences.
- Docker (Desktop or Engine) with enough RAM/CPU to compile a kernel.
- ~10 GB free disk space for the build artifacts and intermediate sources.
No toolchain is needed on the host—the Docker image handles everything.
# Clone the repo then from its root run:
./start.shWhat the script does:
docker build -t wolfeos-builder .creates the build image.- A short-lived container (
wolfeos-tmp) is run so we can copy artifacts. wolfeos.isois copied out to the repository root.- The temporary container is removed.
After start.sh completes, flash wolfeos.iso to a USB drive or attach it
to a VM to boot WolfeOS.
docker compose run --rm builderThis drops you into an interactive shell inside the build container with the
repo mounted at /build. From there you can run individual make commands,
inspect artifacts, or iterate on changes without rebuilding the image each
time.
- Kernel configuration – edit
kernel.configbefore running the build, or drop into the container and runmake menuconfigfor interactive tuning. - Initramfs contents – place additional binaries, scripts, or configs into
/build/initramfs(e.g., via extra Dockerfile steps) before it gets packaged. This is how you add branding, services, or more commands. - Branding – change the banner text inside the Dockerfile’s
cat > /build/initramfs/initsection, or supply your own init script entirely.
Because the build runs inside Docker, all toolchain activity stays isolated from the host system.
Dockerfile– orchestrates the full kernel → initramfs → ISO build.kernel.config– baseline kernel configuration copied into the build.start.sh– convenience script to build the image and extractwolfeos.iso.docker-compose.yml– helper for interactive builds/debug sessions.LICENSE– project license terms.
- Boot
wolfeos.isoin your hypervisor of choice and explore the environment. - Extend the initramfs with additional tooling or services to evolve WolfeOS.
- Automate testing or CI builds if you want reproducible nightly images.