diff --git a/BUILD.md b/BUILD.md index 2ad8dc33..66419e2a 100644 --- a/BUILD.md +++ b/BUILD.md @@ -585,13 +585,32 @@ full `sudo ./build.sh` once after pulling current `main`. ## Testing -Before writing to hardware, use bhyve when available: +Default verification order for the operator USB is now: + +1. static artifact verification on the build host +2. bhyve boot verification on the ML350p virtualization lane +3. physical hardware validation for the final acceptance pass + +Use bhyve before writing to hardware whenever the lane is available: ```sh sudo ./scripts/bhyve-pf-allow.sh sudo ./scripts/bhyve-test.sh ``` +Current ML350p bhyve plan: + +- host RAM budget: ZFS ARC 6G + Poudriere tmpfs 4G + headroom 6G +- bhyve RAM budget: FreeBSD ISO test 4G + Linux cross-compile 4G + FreeBSD builder 4G + spare 4G +- intended VM roles: + - ISO boot verification after each build + - Linux target validation + - FreeBSD/Poudriere test lane + +Use bhyve to catch boot, SDDM/XFCE, and service-start regressions early. Keep +real hardware as the final proof for GPU quirks, Wi-Fi, audio, touchpad, and +display/panel behavior. + See [TESTING.md](TESTING.md) for the full validation checklist. --- diff --git a/TESTING.md b/TESTING.md index 60abcb42..42177212 100644 --- a/TESTING.md +++ b/TESTING.md @@ -329,10 +329,27 @@ sudo mdconfig -d -u md0 --- -## Level 2: Optional bhyve Smoke Boot +## Level 2: bhyve Verification Gate -Use bhyve for a quick boot smoke test when hardware is not immediately -available. Treat this as a convenience check, not the final authority. +Use bhyve as the standard pre-hardware gate when the ML350p lane is available. +This is no longer just an opportunistic smoke test; it is the default +middle-stage verification between static artifact checks and physical hardware. + +Treat bhyve as authoritative for boot/runtime plumbing and still treat real +hardware as the final authority for GPU, panel, input, Wi-Fi, and audio polish. + +### ML350p resource plan + +| Resource | Allocation | +| ----------- | ---------------------------------------------------------------------------- | +| Host (16G) | ZFS ARC 6G + Poudriere tmpfs 4G + headroom 6G | +| bhyve (16G) | FreeBSD ISO test 4G + Linux cross-compile 4G + FreeBSD builder 4G + spare 4G | + +Planned bhyve roles: + +- ISO boot verification after each build +- Linux target validation +- FreeBSD/Poudriere test lane ### Host preflight @@ -349,7 +366,7 @@ Optional PF helper for guest internet: sudo ./scripts/bhyve-pf-allow.sh ``` -### Run the smoke boot +### Run the boot verification ```sh cd /home/clawdie/clawdie-iso @@ -361,14 +378,17 @@ sudo ./scripts/bhyve-test.sh - image boots at all - SDDM/XFCE path appears instead of dropping straight to a dead console - no immediate package/rootfs failure +- Clawdie/Colibri service staging does not crash the session at first boot bhyve is useful for catching: - broken bootcode - missing live-session payload - obvious SDDM/Xorg startup regressions +- obvious service-start regressions after build-time staging changes -It is **not** enough for final GPU confidence. +It is **not** enough for final GPU confidence or laptop-specific UI/device +behavior. ---