-
Notifications
You must be signed in to change notification settings - Fork 1
Build From Source
Developer documentation. Full detail: docs/BUILD_FROM_SOURCE.md — this page is a summary.
git clone https://github.com/coreflake1/NebulaOS-firmware.git
cd NebulaOS-firmware
./build.shEvidence: LIVE_HARDWARE_VERIFIED — this exact command, from a genuinely fresh clone, was run
and hardware-qualified during the Final Closure mission (2026-08-15).
Prerequisites: Docker or Podman only. build.sh pulls one digest-pinned image,
ghcr.io/coreflake1/nebulaos-build (pin lives in manifests/dependencies.conf), and runs the
whole pipeline inside it — no nested containers, no host apt-get, no /var/run/docker.sock
requirement. ~15GB free disk, network access throughout, a few hours build time.
No normal build needs, and no current doc should claim it needs:
pellcorp/k1-bash-build, ghcr.io/coreflake1/guppydev, nested Docker, or runtime host apt-get.
These were the pre-2026-08-15 architecture and are fully retired. See
Build Environment.
Stages (scripts/build/, run in sequence inside the container by build.sh):
00-fetch-vendor-sources.sh → 01-apply-kernel-patches.sh → 02-configure-buildroot.sh →
03-build-kernel-and-rootfs.sh → 04-cross-compile-app-stack.sh → 05-final-build.sh →
06-verify.sh
Output: artifacts/buildroot-halley5-v30-image/ (kernel image, rootfs.ext2/rootfs.squashfs,
build-manifest.txt, kernel.config) and artifacts/guppyscreen-mips/.
The build fetches every component fresh — it does not use neighboring local checkouts of
NebulaOS-kernel, NebulaOS-klipper, or NebulaOS-guppyscreen. Building any of those three repos
standalone does not produce a working printer image.
See also: Build Provenance, A/B Slot Model.
Building
Install / update / recover
Reference