Repository navigation
oakMOSS v0.4.0-beta.1
oakMOSS v0.4.0-beta.1
System card (SD1) images for three MagicX handhelds. This beta adds a charging screen and real sleep on all three, makes every button press send one code, and starts the Zero 40 and XU20 the same way as the Zero 28.
Downloads
| Device | Image |
|---|---|
| MagicX Mini Zero 28 | oakmoss-zero28-v0.4.0-beta.1-sd1.img.xz |
| MagicX Zero 40 | oakmoss-zero40-v0.4.0-beta.1-sd1.img.xz |
| XU RETRO / MagicX XU20 V32 | oakmoss-xu20-v0.4.0-beta.1-sd1.img.xz |
Before you start
- Back up your stock system card. A full image of it is the only way back to stock.
- You need spruceOS newer than v4.4.3-20260930: a later nightly or the next release, which include the MagicX update (spruceOS PR #1735). It goes on a second card, formatted FAT32 (exFAT won't mount). With v4.4.3-20260930 or older, most buttons do the wrong thing (A doesn't confirm) and sleep only turns the screen off.
- Your spruceOS card is not changed: games and saves stay on it.
Install
- Write the image to the system card with Raspberry Pi Imager or a similar tool (in Imager: "Use custom", then pick the
.img.xz). Leave verification on. The image replaces everything on the system card, including an earlier oakMOSS. - Once the card is ejected, put it straight into the device. On Windows, don't plug it back into the PC first: Windows can rewrite the card's partition table so it no longer boots. If that happens, write it again.
- The system card goes in the slot your stock system card came from, and the spruceOS card in the other slot.
- Power on.
What's new
- Charging screen, all three. Plugged in while off, the device shows a charging picture and then the battery level, instead of staying off (Zero 40, XU20) or starting up (Zero 28). The screen goes dark after 30 seconds, and any button brings it back. Press the power button while the screen is lit to start the system. Unplugging the charger switches the device off.
- Low battery. On the charger, a device with a nearly flat battery charges to a safe level before it starts. Without a charger, it shows a low-battery picture and switches off. Not yet seen on a flat battery.
- Real sleep, all three. With the matching spruceOS, a short press of the power button suspends the device and the power button wakes it. Touch works after waking.
- One code per button press. MagicX's firmware gave A (and on the XU20, B and MENU) a second code for its Android launcher, so one press read as two buttons. Each press now sends one code.
- XU20: the extra face button is Home, as on the TrimUI Smart Pro S.
- Rumble on the Zero 40 and XU20. The Zero 28 has no motor.
- Battery level: the Zero 40 and XU20 now load their own battery profile into the fuel gauge; they had the Zero 28's.
- Zero 40 and XU20 now start the same way as the Zero 28: through the Allwinner SDK's boot firmware and oakMOSS's own bootloader, instead of MagicX's. That is what makes the charging screen possible on them.
Known limitations
- Zero 40: the screen goes black for 1-2 seconds between the boot picture and the menu.
- Zero 40: going to sleep takes about 4 seconds.
- Beta: tested on one unit of each device.
Checksums
sha256sum -c SHA256SUMS checks the downloads. Each *-BUILD-INFO.txt lists exactly what went into its image.
SHA-256 of the decompressed images
cf77807acc63fe49e622d99f1b97a19c3d67b825a20e7217a073deadc828c531 oakmoss-zero28-v0.4.0-beta.1-sd1.img
c0ef5ec94e22a7554824681ef7e5af0def2c5c334226d5fb0066aca0252d345c oakmoss-zero40-v0.4.0-beta.1-sd1.img
95542ecce64b007c238888a866d7655bc31fd4b9f1e69a3a73c86a1359685339 oakmoss-xu20-v0.4.0-beta.1-sd1.img