Feat(hardware): implement rebuildable image for Raspberry Pi Zero 2W and Orange Pi Zero 2W#570
Draft
Vidarte-Alberto wants to merge 21 commits into
Draft
Conversation
Sibling to doc/installation.md (which covers software-only installs).
Two paths organised by how the device got into the user's hands:
- DIY (per-board): rpi/ and opi/ — references for building a unit
yourself. Today's flow is manual; goal is a one-command reproducible
image build, continuing the bootstrap-ambrosia.sh trajectory.
- preinstalled/ — for users who received a configured device.
- portal/: Wi-Fi captive portal that lets a buyer join their home
network from a phone on first boot, then hands off to Caddy.
- operator/: golden-image bake, per-unit wipe, fleet cloning, and
printable buyer-card generators (random passwords, Wi-Fi/support
QRs, English + Spanish).
Companion step-by-step walkthroughs are landing as a coordinated PR in
olympus-btc/ambrosia-tutorial and are linked from the section READMEs.
Operator scripts and the captive portal here are imperative ancestors
of the future reproducible-image build; operator/README.md documents
that trajectory and the known TODOs (notably: bootstrap-ambrosia.sh
pins AMBROSIA_TAG, which the reproducible build will replace by
building from source).
…ble-image-roadmap
…ble-image-roadmap
…fi portal. - Write userconf.txt to boot partition on RPi OS images to suppress the interactive "rename user" wizard that blocks unattended boot. - Add fallback partition detection for multi-partition images where lsblk/blkid fail to report FSTYPE on loop devices (assumes last=root, first=boot). - Force wlan0 managed and radio on at portal startup so the AP appears and SSID scan works without manual intervention on RPi OS Bookworm. - Add background monitor thread that exits the portal cleanly when WiFi is connected externally, allowing ExecStopPost to restart Caddy.
Release v0.7.1-beta
…o feat/reproducible-image-roadmap
…reproducible-image-roadmap
…ble-image-roadmap
…ble-image-roadmap
…ble-image-roadmap
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a fully automated, reproducible SD card image build system for Ambrosia POS on ARM hardware, building on the manual device setup work pioneered by @chrisguida in #544.
Background
#544 established the foundational hardware deployment path: a manual process for provisioning OrangePi Zero 2W devices with the full Ambrosia stack — server, client, Phoenixd, Caddy, and the Wi-Fi setup portal. That work defined the
runtime architecture, service layout, and first-boot flow that this PR now automates end-to-end.
Reproducible image build system
build manifest
Multi-board support
First boot & preseed
Wi-Fi setup portal
RPi-specific fixes