Skip to content

Build From Source

Tim edited this page Aug 15, 2026 · 3 revisions

Building NebulaOS from source

Full detail lives in docs/BUILD_FROM_SOURCE.md — this page is the short version.

git clone https://github.com/coreflake1/NebulaOS-firmware.git
cd NebulaOS-firmware
./build.sh

That's it. This exact command, from a genuinely fresh clone, is what we ran and hardware-qualified during Final Closure.

You need: Docker or Podman, nothing else. build.sh pulls one digest-pinned image (ghcr.io/coreflake1/nebulaos-build) and does everything inside it — no nested containers, no host apt-get, no messing with /var/run/docker.sock. Budget ~15GB of disk, network access the whole time, and a few hours.

A normal build today doesn't need pellcorp/k1-bash-build, ghcr.io/coreflake1/guppydev, nested Docker, or a host-side apt-get — that was the old setup, retired as of 2026-08-15. See Build Environment for what replaced it.

Stages (run in order inside the container, by build.sh): 00-fetch-vendor-sources.sh01-apply-kernel-patches.sh02-configure-buildroot.sh03-build-kernel-and-rootfs.sh04-cross-compile-app-stack.sh05-final-build.sh06-verify.sh

You end up with: artifacts/buildroot-halley5-v30-image/ (the kernel image, rootfs.ext2/rootfs.squashfs, build-manifest.txt, kernel.config) and artifacts/guppyscreen-mips/.

Everything gets fetched fresh — it won't pick up a local checkout of the kernel, Klipper, or GuppyScreen repo sitting next to it. And building any of those three repos on their own won't get you a working printer image; you need this repo to put them together.

See also: Build Provenance, A/B Slot Model.

Clone this wiki locally