A small Alpine-based Linux image for Apple devices, demonstrating the Orchard release format without a desktop or systemd requirement.
A release covers every device orchard describes for its architecture: one root image, and orchard's kernel, device trees and modules per platform. 64-bit devices take the arm64 release, Apple's 32-bit devices (apple-armv7) an armv7 release of the same system. How well a device works is orchard's device data, which the installer shows; today the iPad 6 Wi-Fi (iPad7,5, J71b) is supported, the others are experimental. Boot is tethered and requires a host computer. The installer sets the password of its one user, tablet; the console on tty1 and the USB serial console take it.
This repository is a distribution on top of
orchard, which holds the hardware support
and the orchard tool. Put orchard's launcher on your PATH once (see its
README); it runs orchard's newest
nightly, whose kernels, m1n1, Pongo and tools this build then takes as they are.
To build against your own orchard checkout, run that checkout's launcher
(../orchard-mine/bin/orchard build). A gitignored orchard.local.toml may hold
device = "j71b" for your board. Run this repository's producers and tests in
that orchard's environment:
orchard build # the loader and base if they changed, then a release in out/releases/dev-DATE-TIME
orchard run # build, then start that release's recovery on the attached device, from RAM
orchard install # install the last build
orchard python -m unittest discover -s testsorchard.toml (its [release] table) makes this checkout an orchard distribution; orchard build runs
tools/build.py, which keeps the loader and base in out/components/ and rebuilds
them only when their files change. orchard brings Pongo, the static tools and the
kernels.
RAM experiments and device bring-up happen in orchard itself, with its examples. This repository builds the Alpine image; its assembly is documented below.
Follow BUILD.md to set up a repository-local environment, build public components, assemble a coherent root/recovery release and run isolated tests. Boot presentation describes the Alpine artwork, data for orchard's m1n1.
Distro builds use the orchard checkout orchard runs and explicit component artifacts. Private firmware, calibration, device identity and diagnostic keys are not included in public images.
Back up the device first; storage changes can permanently erase data. With the device in DFU mode, a published release installs with its own installer, which brings its own Python:
curl -fsSL https://github.com/OrchardLinux/minimal-linux/releases/latest/download/install.sh | shA local build has the same installer next to it (sh out/releases/VERSION/install.sh),
or install it with your orchard checkout:
orchard install # the last orchard build
orchard install out/releases/YOUR_NEW_VERSION/index.toml # or a particular oneThe CLI asks before installation or formatting. Do not interrupt a confirmed storage operation. Building or testing in a container does not qualify a release on hardware.
orchard launch can start an installation only when the published shared launcher explicitly supports that build's root receipt and kernel/runtime inputs. An arbitrary local rebuild is not automatically supported by the public launcher.
See LICENSE, NOTICE, and component notices. Alpine artwork and trademarks belong to their respective owners; no endorsement is implied.