用途:在没有硬件的情况下验证固件,分两级且证据强度不同。宿主级单测证明逻辑正确,系统级 QEMU 启动冒烟证明镜像能起;两级都不证明硬件行为,模拟通过只能标注为 Build/Boot Verification Only。
主要能力:Workflow A 用 QEMU 对 OpenWrt 镜像做启动冒烟,判据是串口输出 boot log 直到 shell 提示符并能执行基础命令,boot log 需存档为证据。Workflow B 做宿主级单测,OpenWrt 用户态脚本通过环境变量覆盖根路径/数据源注入 fixture,断言 golden 期望值、格式及负向用例;ESP32 固件逻辑层抽象 HAL 接口并注入自写 mock。
使用方式:先确认 QEMU 与工具是否可用,命令如 command -v qemu-system-aarch64 qemu-system-x86_64 || true。镜像可来自官方下载站当版 combined-efi 产物或自建产物,解压用 gunzip -k <image>.img.gz。启动示例:qemu-system-aarch64 -M virt -cpu cortex-a57 -m 512M -nographic -bios /path/to/QEMU_EFI.fd -drive file=<image>.img,format=raw,if=none,id=hd0 -device virtio-blk-device,drive=hd0。
适用场景:无板验证 OpenWrt 镜像能否引导、验证用户态脚本或 ESP32 逻辑层。
限制:QEMU 不真实模拟无线、以太网 PHY/交换、射频、时序、eMMC,外设问题一律走 HIL;ESP32 QEMU 支持有限,本包标 Pending verification;不做镜像构建、刷写与真机验收、发布门禁。fixture 不得含真实密钥或序列号。