Skip to content

SandboxVM 1.1

Latest

Choose a tag to compare

@derfsss derfsss released this 23 Oct 15:32

Stopping a guest from outside, for MCP-AmigaOS4 2.0, whose exec_kill force=true sends CTRL-F to a sandboxed job.

  • CTRL-C or CTRL-F to the sandboxvm process aborts the running guest, even one that spins and never checks for breaks. Its windows are closed, its task deleted and its ledger reaped. Exit code 51.
  • -T <seconds> is a wall-clock limit per guest. Exit code 52.
  • Exit code 50 now covers every trap vector; before, an ISI came out as 5.
  • Every run ends with [sandboxvm] guest_end name=<n> reason=exit|trap|aborted|timeout rc=<internal rc> in the kernel debug ring.
  • $VER: sandboxvm 1.1 means Version sandboxvm reports it, and MCP-AmigaOS4 can detect abort support.
  • guest_create traces each kernel call, so a hang there names the call.
  • New test guest: tests/guest/spinner.
  • Docs: building on Windows (MSYS2 make + docker-cc) and a new CHANGELOG.md.

Exit codes: 0 clean · 1..127 the guest's own rc · 50 trap · 51 aborted · 52 timed out.

Verified with MCP-AmigaOS4 2.0 on QEMU AmigaOne and a real AmigaOne X5000, 11/11 checks each.

Assets

  • sandboxvm-1.1.lha: use this one. It was built on AmigaOS, so the binary's protection bits survive. Unpack with LhA x sandboxvm-1.1.lha and copy sandboxvm to SYS:Tools/.
  • sandboxvm-1.1: the bare ELF, for host-side installers. Copied over SMB, USB or from a browser it arrives without its e bit; run Protect sandboxvm +e.

ExtMem machines only: X5000, X1000, A1222, QEMU AmigaOne. Pegasos II is not supported.

Closes #1.

https://claude.ai/code/session_01NoRoaz2uRizs5YeGbLXNqr