OpenRiot v7.9.35 — A War Is Coming

“The grids are lighting up, and it’s not a drill. They think they can scrub the drives and wipe the state, but the ICE is already baked into the silicon. We don’t just survive the blackout — we weaponize it. The machine remembers, the dependencies are cached, and the detach sequence holds the line. A war is coming, and the Sprawl will be ready.” — The OpenRiot Crew, deep in the Neon Wastes, v7.9.35


Release Overview

The corporate ICE is thickening. System state is under constant threat of erasure, and offline resilience is no longer a luxury — it’s a survival tactic. v7.9.35 hardens the core against detachment failures, dependency black holes, and configuration race conditions during deployment.

We’ve fortified the softraid detachment sequences with exponential backoff and operator-aware execution. The offline imaging pipeline now recursively resolves and caches transitive dependencies, ensuring your payload is fully self-contained when the network goes dark. And for those moments when you need to vanish from the grid, new stealth wallpapers stand guard.


🛡️ Holding the Line: Softraid Detachment Resilience

Forcing a softraid detach used to be a coin toss. If the kernel held a reference, bioctl -d would fail, leaving the virtual device stranded and the physical disk locked.

The new detachment sequence is a tactical retreat with fallbacks:

  • Operator-Aware Execution: Attempts bioctl -d without doas first, respecting operator group privileges before escalating.
  • Retry Logic: Implements a 3-attempt retry loop with 250ms backoff, giving the kernel time to flush pending I/O and release references.
  • Dmesg Discovery: If the primary virtual device is obscured, it scans dmesg for the softraid bus and systematically attempts detachment on all associated virtual devices.

No more stranded chunks. The detach sequence holds the line.


📦 Offline Payload: Transitive Dependency Resolution

When the network drops, pkg_add failures cascade. A missing transitive dependency used to mean a broken, half-deployed image.

v7.9.35 introduces recursive dependency resolution for offline imaging. Before sealing the tarball, the system runs pkg_add -n in a sandboxed loop, parsing stderr for “can’t find” or “can’t resolve” errors. It extracts the missing package stems, fetches them from the repo, and bakes them directly into the payload.

Up to 10 iterations deep, ensuring your offline install is truly self-contained. The Sprawl doesn’t rely on the grid.

Additionally, doas.conf is now pre-seeded in the installation tarball, eliminating the post-install user-creation race condition that previously blocked privilege escalation during headless deployments.


🌑 Stealth Protocols: New Locked Geometry

The grid is watching. We’ve deployed a new suite of stealth wallpapers to the Locked/ directory. These aren’t just backgrounds; they’re visual ICE. Dark, geometric, and designed to blend into the shadows of a powered-down rig. When the screen locks, you vanish.


🧾 Files Changed

File Change
source/disk/backend.go UPDATED — Operator-aware
  bioctl execution, improved
  device existence checks, and
  fallback dmesg scanning for
  stranded virtual devices.
source/disk/update.go UPDATED — Added 3-attempt
  retry loop with 250ms backoff
  to detachSoftraidChunk;
  introduced tryDetach helper.
source/imaging/download.go NEWresolveDependencies
  function recursively parses
  pkg_add -n output to fetch
  missing transitive deps.
source/imaging/site.go UPDATED — Pre-seeds
  doas.conf in the tarball;
  fixes MkdirTemp permissions
  to prevent root-owned ./
  extraction artifacts.
Locked/*.webp NEW — Suite of stealth
  wallpapers for the lock screen.

🗣️ Final Words

“They think they can cut the power and watch us scatter. But the dependencies are cached, the state is snapshotted, and the detachment sequence is bulletproof. Let them come. The grid may go dark, but we are already in the shadows. A war is coming, and we are the ones who will be standing when the lights return.” — The OpenRiot Crew, holding the line, v7.9.35