Skip to content

Minimal Linux-from-scratch distrobution built inside Docker, generating a bootable ISO.

License

Notifications You must be signed in to change notification settings

parishwolfe/WolfeOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WolfeOS

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.

Project Goals

  • 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.

How the Build Works

  1. The Dockerfile installs the full toolchain and pulls the Linux 6.10 source tree.
  2. A project-provided kernel.config is copied in and used to compile the kernel plus its modules (/build/kernel, /build/rootfs/lib/modules).
  3. BusyBox 1.36.1 is compiled and installed into /build/initramfs, giving a minimal set of shell utilities.
  4. Required glibc libraries and kernel modules are copied into the initramfs, along with a custom /init that mounts proc, sys, and dev and then launches a BusyBox shell that shows the WolfeOS banner.
  5. The initramfs is compressed, GRUB assets are staged, and grub-mkrescue emits wolfeos.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.

Prerequisites

  • 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.

Quick Start

# Clone the repo then from its root run:
./start.sh

What the script does:

  1. docker build -t wolfeos-builder . creates the build image.
  2. A short-lived container (wolfeos-tmp) is run so we can copy artifacts.
  3. wolfeos.iso is copied out to the repository root.
  4. 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.

Using Docker Compose (optional)

docker compose run --rm builder

This 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.

Customization Points

  • Kernel configuration – edit kernel.config before running the build, or drop into the container and run make menuconfig for 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/init section, or supply your own init script entirely.

Because the build runs inside Docker, all toolchain activity stays isolated from the host system.

Repository Layout

  • 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 extract wolfeos.iso.
  • docker-compose.yml – helper for interactive builds/debug sessions.
  • LICENSE – project license terms.

Next Steps

  • Boot wolfeos.iso in 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.

About

Minimal Linux-from-scratch distrobution built inside Docker, generating a bootable ISO.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published