-
Notifications
You must be signed in to change notification settings - Fork 1
Build 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.shThat'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.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
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.
Building
Install / update / recover
Reference