Skip to content
About

Turing Pi's firmware has had no release since February 2025, and its two catalogues disagree by a whole version. This fork keeps the board on a supported kernel and fixes what made it hard to run.

13rows where this fork differs, each one measured
142releases across four components
7faults still open, each with a ticket
Why fork it at all

Upstream publishes firmware by two routes that do not agree. The mirror the stock interface follows stops at v2.0.5; the GitHub releases reach v2.1.0. Same publisher, two catalogues, and on a board running anything newer, following the documented update path walks it backwards. Neither route publishes a checksum.

That would be survivable if the firmware were finished. It was not. A firmware update power-cycled the compute modules. There was no temperature sensor anywhere, so the fan ran flat out against nothing. And a bad image meant a trip to the rack, because an image was promoted as soon as it booted — which proves the kernel started and nothing else.

What changed
Kernel
6.8 — not a longterm release
6.12.109 LTS
Buildroot
2024.05.1 (EOL)
2025.02.17 LTS
Rust
1.85.0
1.98.1
Image size
—
37.8 MB (v2.15.0), 80 % of the UBI slot; build fails at 90 %
Bad image
power cut, hard-cutting four modules
reboots back by itself
Modules during a flash
power-cycled
untouched
What is staged
not reported
version, checksum, source
Newer release available?
mirror that stops at v2.0.5
from any configured source
Install a chosen version
—
from the web interface
SoC temperature
none — no thermal node in any device tree
reads through thermal_zone0
Fan
fixed persisted speed
kernel-driven from that sensor, and holdable
Switch port state
not exposed
per-port link, speed, counters
Module power-on time
one shared bit, correct only for node 1
per node, as a duration

Every row above is the comparison page's own, rendered from it: measured on a running board, dated, and including the rows where upstream is ahead. What the table does not carry -- the consoles, the metrics port, the checksums, the fleet page, the API the board describes -- has a feature page each with the measurement behind it.

What is still not fixed

A fork that lists only its improvements is advertising. These are open, and each one has a ticket:

  • Anything running locally on the BMC is trusted without a credential. Since v2.14.0 it at least leaves an audit line saying so. The fix is a real local credential path, not a mitigation.
  • Nothing shuts the board down if it overheats. There is no critical trip. A held fan is taken back by the daemon above the hottest active trip, which is a weaker guarantee than a kernel doing it.
  • Flashing a module on a v2.5 board refuses rather than guessing when it cannot tell which module it is about to write — but the port mapping behind that has not been proven against two modules in maskrom at once.

The full list carries the tickets, and the mDNS responder that killed this board twice in one day before v2.13.0 fixed it.

The demo is real data

The live demo is the actual interface, built from the latest release, answering from readings captured off a real board.

  • The readings are real — temperatures, fan steps, NAND wear, slot versions, uptimes. Captured by a script that also refuses to publish the board's identity: addresses, MAC and serial are replaced with documentation-range values.
  • The controls do nothing, and say so. Power, flash, reboot: each answers that this is a demo. A control that pretends to work is exactly what this project keeps removing from the real interface.
  • The console replays a recording and the panel says it is one.
  • The fleet pane shows two cards from one board's capture. There is one set of readings and both boards display it, because inventing a second board's numbers would be the first thing on this site that was not measured. The interface is the real one, built from the same release as the board's own page.
  • Stock is stock — the vendor's own interface, unmodified apart from answering from fixtures. It is GPL-2.0, as is this fork, and its copyright notice is intact.
Who makes thisOleg TsarevOne person, two boards, and a cluster that has to keep running while its firmware is rewritten under it. Every number on this site was measured on that hardware.

This site counts visits with Cloudflare Web Analytics: cookieless, no consent banner because there is nothing to consent to, and it keeps nothing about you. The token in the page names the site to the beacon and can read nothing.

Last updated: