pi/ml350p-bhyve-verification-plan #25
2 changed files with 45 additions and 6 deletions
21
BUILD.md
21
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.
|
||||
|
||||
---
|
||||
|
|
|
|||
30
TESTING.md
30
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.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue