Repository navigation
oakMOSS v0.1.0-beta.1
oakMOSS v0.1.0-beta.1 (2026-09-16)
Base SD1 images for two MagicX boards. Each is a raw GPT card image: write it
raw to the SD1 card (Rufus in DD mode, balenaEtcher, Win32DiskImager or
Raspberry Pi Imager), eject, boot. Do not open a written card in a partition
tool: a table "repair" zeroes boot0. The system card goes in the slot the
board's own system card came from (sdc2); the user card with the spruce
payload goes in the other slot (sdc0), as FAT32.
| asset | board | chain |
|---|---|---|
oakmoss-zero28-v0.1.0-beta.1-sd1.img.xz |
MagicX Zero 28 | our full chain: SDK boot0, U-Boot, device tree, kernel 4.9.191, rootfs |
oakmoss-zero40-v0.1.0-beta.1-sd1.img.xz |
MagicX Zero 40 | the board's stock boot0 and U-Boot (MagicX release Zero40_V1) with OUR kernel 4.9.191, device tree and rootfs; panel driver recovered from the stock kernel |
Both: glibc 2.38 userland (Arm GNU Toolchain 13.3), PowerVR GE8300 DDK 1.19
GPU stack, busybox with the applets spruce needs, stock hand-off
(/usr/magicx/bin/runmagicx.sh): mounts the user card, runs its
magicx/init.sh or .tmp_update/updater, powers off if neither exists.
Known state
- Zero 28: the chain that has run spruce throughout; no diagnostic hand-off, no probe.
- Zero 40: boots spruce on our kernel (verified 2026-09-16 on one unit). The
backlight polarity fix and the radio node fix in this build are NOT yet
verified on hardware (the build before them ran with an inverted backlight
and no WiFi). Touch is not ported (axs15205). Sticks and pad map come from
the stock tree. The Android-kernel lane is not shipped: its GPU userland
cannot initialize. - XU20 V32: not in this release; its own-kernel image is blocked on the
board's verified-boot state (see the repository notes). - Both boards: exFAT user cards are unsupported; USB storage mode untested.
Verify
sha256sum -c SHA256SUMS
The *-BUILD-INFO.txt files record the exact inputs of each image (boot
chain hashes, kernel object, board tree, rootfs md5).