用途:在 QEMU 虚拟机中运行 MikroTik RouterOS CHR(Cloud Hosted Router)镜像,用于开发、测试、API 调试和抓包。CHR 是 MikroTik 面向虚拟机的 x86_64/aarch64 镜像;免费许可有 1 Mbps 限速,60 天试用需 mikrotik.com 账号。
主要能力:区分镜像变体(x86_64 的 chr-<ver>.img 走 SeaBIOS/MBR,aarch64 的 chr-<ver>-arm64.img 走 UEFI EDK2 pflash,fat-chr 的 chr-efi.img 走 OVMF);从 upgrade.mikrotik.com 解析当前版本并从 download.mikrotik.com 下载 .img.zip;给出四种启动模式(内联参数、包装脚本、Bun/TypeScript 子进程、--readconfig);提供加速检测(Linux 用 KVM、macOS 用 HVF、否则 TCG);覆盖 VirtIO 细节与端口转发(WebFig/REST 80、SSH 22、API 8728、API-SSL 8729、WinBox 8291)。
必要用法:x86_64 用 -M q35 或 -M pc,磁盘 -drive file=chr.img,format=raw,if=virtio;aarch64 必须用显式 -device virtio-blk-pci,不可用 if=virtio(会解析为 MMIO 而静默失败);网络统一用 virtio-net-pci,例如 -netdev user,id=net0,hostfwd=tcp::9180-:80。UEFI 两个 pflash 单元须同尺寸(通常 64 MiB),vars 文件先复制再写。
限制:QGA 仅在 KVM 下启动;aarch64 的 check-installation 失败;-kernel 直接引导对两种架构均无效;x86_64 跨架构 TCG(aarch64 宿主)不可行;无 virtio_mmio 驱动;socket,mcast= 在 macOS 上失效,需改用 TCP listen/connect;HVF 下需用 -cpu host,指定 cortex-a710 会崩溃。其余未提供。