Skip to content

← Firmware Downloads

Post-install setup · Reborn (Y2Linux) · Y2

Y2Linux 1.0 Beta 9.1: tidying up after the rewrite

Debian-based Linux with a fast clickwheel interface for the Innioasis Y2.

Instructions published by the project, shown here word for word.

Y2Linux 1.0 Beta 9.1: tidying up after the rewrite

Release 1.0.0-beta.9.1, Y2Reborn 1.0.0-beta.9.1, kernel 6.18.56-y2linux-1.0.0-beta.9.1, update sequence 11500, root 2026.08-platform-v1.213. Published as GitHub release baseline-189 (test build 189). Previous release: Beta 9.0.

This report is written for people who use the player. A short technical appendix is at the end.

In one paragraph

Beta 9.1 looks and works like Beta 9.0, with one small visible change: while an update downloads, the Settings list shows how far it is ("Downloading · 40%"), not just "Downloading…". Everything else in this release is housekeeping that Beta 9.0 made possible. With the system services now written in Rust, the music player and the services can share one description of every message they exchange, so a mismatch between the two can no longer slip through unnoticed. The player's own code was also reorganised into smaller, clearer pieces, without changing what it does.

Why release something you can barely see?

Beta 9.0 rewrote the services underneath the player. Two kinds of follow-up work were left:

  1. The player and the services still described their messages separately. The services wrote, for example,

    the battery state as a list of named fields; the player looked those fields up by name. If one side renamed a field and the other did not, nothing failed loudly: the player would just show "unknown". Beta 9.0 caught such mistakes with tests. Beta 9.1 goes further: both sides now use the same definitions, so the build itself refuses to finish if they disagree.

  2. A few very large files. The player's main program file had grown to over 8,000 lines, and two functions

    were more than 1,000 lines long each. That makes every future change slower and riskier.

Doing this now, while the rewrite is fresh, makes the next real features and fixes safer.

What changed for the messages between player and system

The player now reads these in the system's own definitions:

To be sure nothing changed by accident, the player's test that replays hundreds of recorded system answers gave exactly the same results before and after, apart from the download percentage mentioned above. That field had never been filled by the system; the Settings row now takes the number from the live download record the update page already used.

What changed inside the player

These moves were made by script and checked by comparing the moved code with the original: apart from naming, the code is the same, statement for statement. The same 748 automated tests pass before and after.

What changed inside the system services

Small clean-ups: one shared check where two copies existed, one shared and carefully checked helper for the signal handling two services each did on their own, and fewer places that call the operating system directly (82 → 63).

What you'll notice

How it was tested

Updating

Settings → About & Updates → Check for Updates → Update Now. Your music, playlists, settings, Wi-Fi networks and Bluetooth pairings stay. Settings → Diagnostics → Restore Previous System goes back to Beta 9.0 if you need to.

Known issues

Everything listed for Beta 9.0 still applies. In particular, overnight sleep, a low-battery shutdown, an SD card repair or format and a reset have not been repeated on the developer's player since the rewrite.

Technical appendix

Published by the schulzcode/y2linux project [1] [3]