# M5 software validation M5's ordinary-user console and software timing tools passed on the x86_64 Arch build host using the actual AArch64 kernel, initramfs and SYSTEM image in QEMU 11.1.1. Physical Pi boot, power-on, display and timing acceptance is deferred. These runs completed on 2026-09-20 UTC (2026-09-21 in Asia/Shanghai). ## Usable console and event evidence `make console-test` passed in `out/m5-vm.fuml66z0/`: - Native s6 starts the local autologin console as `fds`, UID/GID 1000. Commands execute at `FDS>`, HOME and working directory are `/home/fds`, the temporary home accepts writes, and SYSTEM rejects writes. - Reports contain stage0 entry, SYSTEM discovery, root mount, root switch, s6 stage-2 entry and first-console readiness for the current boot. Desktop readiness is absent. No missing event is replaced with a zero timestamp. - Exiting and restarting the console preserves the first readiness event. - Holding eudev startup behind a test FIFO does not prevent the usable prompt. The test releases that gate after executing a console command. - Saved-report comparison rejects an unexplained regression greater than 100 ms, permits an explicit explanation, and rejects incompatible platforms. The normal run measured 1,669.027 ms kernel-clock-to-console and 664.032 ms s6-stage-2-to-console. The blocked-eudev run measured 1,659.990 ms and 581.113 ms. These are individual emulator observations, not physical budgets. Nine further boots compare Rust optimization levels in `out/rust-profiles.x_wgx1kp/`; see [Performance](performance.md) for the table, raw report locations, clock boundaries and decision to retain `opt-level=z`. `make console-vm` was also opened interactively and verified UID 1000. ## Build execution correction PRoot intermittently aborted during ARM subprocess execution on this host. One failure also returned a misleading zero status. Runtime checks now require an explicit final child acknowledgement, and finalization propagates failures. The image builder now uses a private user-namespace `binfmt_misc` registration with static QEMU, requiring Linux 6.7 or newer. It leaves the workstation's registration table unchanged. The existing Void `util-linux` package provides mount and capability-drop helpers; no target package was added for emulation. `tests/integration/rootfs-emulation.py` verified nested ARM execution, exact nonzero exit propagation, isolation from the host registry and removal of setup capabilities before target execution. Only namespace-local SETFCAP remains for package configuration. A fresh complete rootfs build passed afterward. Historical M1/M2 reports retain the older PRoot workflow as historical evidence. ## Final artifacts | Artifact | SHA-256 | | --- | --- | | Rootfs TAR, `out/rootfs-build.9kTEAH/` | `eef5764034d315b5e012679ef7ed165c6961b69aa88f9514c77cf08ef67bf8f7` | | SYSTEM GPT/EROFS, `out/system-build.o948uzwd/` | `d2e00f56f1ecc689de455a9066259cefa95bd0bbd271e7f2d3d4cd3235dffd91` | | Uncompressed initramfs, `out/initramfs-build.dzggpetk/` | `2a6009800f4c73707b165a3a3142b5baff688c685b7ea9fcd196e9ab6079a4de` | | Production FAT32 boot partition, `out/boot-build.bzakcn8s/` | `cd242813ded7c860d291c1dbf984bf69b48cc3b58da93f9bdebf83068139abf1` | | Kernel Image, unchanged from M4 | `78f027ad3124da7b06d4559f49ea7f63c312cd24e653d0f8e29ee2391f520bc4` | The rootfs contains 111 packages and 1,169 AArch64 ELF files. Its TAR is 407,480,320 bytes. Per-build package/input inventories accompany the image. The boot FAT is a partition image, not a complete internal NVMe disk. The final sequential regression run exited zero: `make bootstrap`, `make smoke-test`, `make tooling-test`, `make check`, `make rootfs-test`, `make init-test`, `make system-card`, `make boot-volume`, `make boot-test`, `make console-test`, and `make performance-test`. Logs are `out/logs/m5-verified-*.log`. The native-init VM is `out/m2-vm.sYk3Hu/`; the nine-case stage0 matrix is `out/m4-vm.RHUJX5/`. Shared Rust tests passed. M0 still reports its optional host-PATH QEMU skip; project-local ARM execution and full-system emulation actually ran. No physical boot benchmark is claimed.