S ShieldSigner / build & use0.0.2-dev

TASK 03

Compile the software

Build the pinned Mini microSD image with the reader variant for your board.

You need
  • x86_64 Linux builder with Docker
  • Git, mise and uv
  • Internet for first-build downloads
You’ll have

A flashable .img, build.log and recorded reader configuration.

Compile on x86_64 Linux. The UR2 wrapper prepares the right reader setting; the historical benchmark proves the upstream baseline, not this new patched image.

Choose your target

  • This carrier uses Luckfox Pico Mini + microSD + SEC1210/PV-UR2.
  • Apple Silicon is rejected by the pinned upstream Docker runner. Use an x86_64 Linux machine/VM; clone the public repo there.
  • Mini NAND, Pro/Max and Pico Pi are different build/flash routes. Do not pick them by a similar filename.

Clone the project and prepare the reader

  • Run from the repo root on your builder. Preparation checks the OS commit and applies only the reviewed Luckfox UR2 reader setting.
  • The manifest records the exact reader file hash; unrelated source changes are rejected.
Prepare carrier sources
git clone https://github.com/lightningspore/shieldsigner-dev.git
cd shieldsigner-dev
mise install uv
mise run os:prepare
Inspect the recorded reader variant
cat dist/os/UR2/reader-config.json
cat tools/os/seedsigner-os/opt/luckfox/files/sec1210

Start the build

  • Six general jobs were used on our x86 builder. Rust/LLVM can dominate the first build; keep the named Docker caches.
  • The carrier wrapper now defaults to UR2. The previously benchmarked images were unchanged upstream URT builds.
Build the UR2 Mini SD image
SHIELDSIGNER_BUILD_JOBS=6 mise run os:build
Follow current work from another terminal
tail -f dist/os/UR2/build.log
docker stats

Collect and verify the output

  • Successful exit is necessary: a log file alone is not a finished image.
  • Locate the .img and sha256sums.txt under dist/os/UR2. Keep reader-config.json with them.
  • The new UR2 preparation was tested, but a complete UR2 image build and hardware boot have not been qualified here.
Locate images and calculate hashes
find dist/os/UR2 -type f \( -name '*.img' -o -name 'sha256sums.txt' \)
find dist/os/UR2 -type f -name '*.img' -exec sha256sum {} \;

Iterate without discarding caches

  • Run the same build again to reuse Docker/Rust/source caches. Our baseline rerun took 27m 5s instead of 2h 28m 26s.
  • Avoid the upstream clean task during ordinary iteration. Keep full rebuilds for toolchain/architecture changes.
Continue the buildFlash & boot the software →
Sources & deeper reference

Checked 12 October 2026. Menu names can vary with firmware.

Detailed Buildroot notes ↗Edit this workflow on GitHub ↗