Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

Minimal Linux

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.

Local development

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 tests

orchard.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.

Build and validate

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.

Install

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 | sh

A 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 one

The 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.

License

See LICENSE, NOTICE, and component notices. Alpine artwork and trademarks belong to their respective owners; no endorsement is implied.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages