OpenRiot v7.9.40 — The Clone Wars

“They said you can’t clone a live OpenBSD system with a single click. They said you need dump levels and tape drives and a manual the size of a phone book. They said the Turing Police require a form. We said: rsync, doas, installboot. Five files in the Migrate TUI. ‘System Dump’ died so ‘Full Backup’ could live. The construct now replicates itself like a digital organism — mount a drive, click a button, and the machine writes its own twin. The Feds are still filling out paperwork.” — The OpenRiot Crew, somewhere in the Sprawl, v7.9.40


Release Overview

One feature, done right. The Migrate TUI’s “System Dump” option — which ran dump(8) / restore(8) for incremental filesystem-level backups — is dead. Replaced by “Full Backup”: a one-click rsync clone to /mnt/backup that produces a bootable twin of your running system.

It checks the mount. It checks the space. It confirms with you. Then it runs rsync across every filesystem under /, creates the skeleton directories the kernel needs as mount points, and installs boot blocks via installboot. The target drive boots. Every time.

The clone is incremental by design — rsync --delete only transfers what changed. The first run populates everything. Subsequent runs take seconds. You don’t need to know what a dump level is. You don’t need to remember restore commands. You plug in a drive, mount it at /mnt/backup, click “Full Backup,” and the machine writes its own survival drive.


💾 System Dump → Full Backup

Five files changed. One new file. The old dump(8) code still lives in the repo if you need block-level incremental backups for tape libraries and time capsules. For everyone else, the workflow is:

  1. Mount an external drive at /mnt/backup
  2. Open openriot --backup
  3. Select “💾 Full Backup”
  4. Confirm
  5. Coffee

clone.go handles everything: mount detection, disk space summation across all filesystems under /, rsync -aH --delete with proper --exclude flags for virtual filesystems, skeleton directory creation for /dev, /tmp, /mnt, and friends, and installboot -r for bootability. Progress streams live in the TUI. Cancel works. Errors are reported.

The Turing Police would make you fill out an asset transfer request before you’re allowed to back up your own machine. We just piped rsync through doas and called it a day. Sovereign computing doesn’t ask permission.


🔧 Small Polishes

The release notes for v7.9.39 got re-read and re-checked for the login.conf criticality language. No code changed — just the kind of editorial ruthlessness that keeps the Sprawl’s documentation honest. The Feds never say “CRITICAL” when something bricks a login. We do.


🧾 Files Changed

File Change
source/migrate/clone.go NEW — async rsync clone
  with mount check, space check,
  rsync, skeleton dirs, installboot
source/migrate/screens/menus.go “System Dump” → “Full Backup”;
  FullBackupChoices replaces
  DumpMenuChoices
source/migrate/model.go full_backup operation wired into
  confirm/progress/cancel flows
source/migrate/ui.go Full Backup rendering with clone
  progress output
source/migrate/handlers/main_menu.go FullBackupChoices reference

🗣️ Final Words

“The machine that can’t clone itself is a machine that dies with its secrets. The construct now reproduces. You mount a drive, you click a button, and the entire system — every file, every config, every scar on the disk — writes itself onto new silicon. The clone boots. The clone remembers. The clone is you, minus the Feds. Somewhere in the Sprawl, a ThinkPad is writing its own twin, and the only thing faster than the rsync is the Turing Police’s inability to understand how sovereign computing makes them obsolete.” — The OpenRiot Crew, after the first bootable clone, v7.9.40