Skip to content

build: align Orchard producers and the ARMv7 recovery base - #6

Open
shaynelegault wants to merge 3 commits into
OrchardLinux:mainfrom
shaynelegault:p105/04-producer-contract
Open

shaynelegault wants to merge 3 commits into
OrchardLinux:mainfrom
shaynelegault:p105/04-producer-contract

Conversation

@shaynelegault

@shaynelegault shaynelegault commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Minimal Linux now checks Orchard's architecture-aware platform inputs before assembling its shared ARM64 root. It retains the current block-image release flow through image.platforms_index and image.root_image. The standalone ARMv7 producer exports a signed Alpine base in Orchard's gzip and merged-usr recovery format.

Optional LwVM records require a static mapper with a file-backed executable entry and matching rescue tools. The validated input document reaches Orchard's index unchanged. Layer receipts are projected onto the install schema's allowed fields, while the build receipt retains their architecture.

This accompanies Orchard ARMv7 producers 82. Orchard installed-root 92 supplies selected mapper/tool handling in the platform index; its integration fix preserves older shared input records. Omarchy-A 29 is the ARMv7 desktop consumer. This compatibility companion can precede the ARMv7 producer merge; enabling the LwVM index path requires the installed-root companion.

Validation at 93aba48eb951a7672dcb9b3e49cd816d8709045b, rebased on Minimal Linux 6c4975c:

  • All 67 local tests passed, including early mixed-ISA rejection, executable mapper checks, selected-document handoff and manifest-field projection.
  • A source-pinned synthetic integration ran the real Orchard index, platform layer, initrd and install-tools archive producers. It verified the selected n61 board and exact BusyBox, loader and install-tool bytes, with different unused shared inputs. The real manifest validator passed schema and local-receipt checks. The root block-image leaf was outside this fixture.
  • GitHub run 42315189365 passed Python 3.11, Python 3.14 and the Orchard dependency job on this exact head. Artifact/release jobs were skipped on the PR event.
  • The signed ARMv7 base was staged by the public recovery producer and its native programs ran under ARM32 emulation. Physical P105 startup remains tracked by the device PRs.

The branch is ready for review of these build and input contracts. Public P105 installation and capability claims remain gated by the corresponding device work.

Proposed changelog text awaits owner approval: Export an ARMv7 recovery base in Orchard's gzip and merged-usr format, with the native filesystem tools required by recovery.

@shaynelegault shaynelegault changed the title build: consume architecture-aware Orchard producer records build: align Orchard producers and the ARMv7 recovery base Nov 6, 2026
Resolve the shared loader and recovery tools from the selected platform
records. Verify that every selected platform matches the Alpine release
root before building or pinning components. Refuse mixed architectures or
inconsistent tools while retaining compatibility with previous ARM64
snapshot documents. The standalone ARMv7 recovery-base producer stays
available through armv7/build-base.py.

This accompanies Orchard's ARMv7 producer-contract change. The complete
Minimal Linux test suite passes (60 tests) against that Orchard snapshot.

Assisted-by: LLM
Orchard stages recovery from a gzip tar with a merged /usr tree and an arm architecture receipt. Export that contract from the signed ARMv7 base, include the native storage tools and mke2fs configuration, and check the expected paths before exporting.

Assisted-by: LLM
Check optional root_format and tools.lwvm records before composing the
shared ARM64 root. Require a static mapper with a file-backed executable
entry and coherent rescue tools, then pass the selected document to
Orchard's platform index. Keep the upstream block-root and index flow.

Project each layer receipt onto the install manifest's allowed fields,
while retaining its architecture in the private build receipt. This keeps
the real platform producer's architecture metadata from failing schema
validation during release assembly.

All 67 Minimal Linux tests pass. A source-pinned integration fixture runs
Orchard's actual index and layer producers, checks selected board, loader
and tool bytes, and validates the resulting manifest and local receipts.
Orchard's installed-root companion supplies selected index inputs.

Assisted-by: LLM
@shaynelegault
shaynelegault force-pushed the p105/04-producer-contract branch from f1e5b44 to 93aba48 Compare November 6, 2026 23:57
@shaynelegault
shaynelegault marked this pull request as ready for review November 7, 2026 00:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant