安装
构建 Farrow、确认原生虚拟化,并理解一次性的宿主准备。
当前可用的安装方式
从当前工作区构建:
目前没有公开的 v1 软件包。不要用来源不明的二进制替换同一次构建产生的 farrow 与
farrow-hosts-helper。
源码构建需要 Go 1.27.x。macOS 还需要已经安装好的 Homebrew;Farrow 可以通过 Homebrew
安装 QEMU,但不会自行引导安装 Homebrew。当前编译默认镜像仓库是开发宿主
https://m0/farrow;需要其他可达镜像时使用 FARROW_REPO 或 --repo。
宿主要求与带日期的证据
HVF/KVM 原生加速是正常路径。任意原生失败绝不会被静默改成模拟重试;只有显式外来
vm_arch,或 Catalog 已知的 EL8 arm64/Apple Silicon 不兼容规则,才会选择 TCG。
TCG 结果只可作为兼容性证据,不能作为性能证据。
| 宿主 | 最近一次记录的证据(2026-08-27) |
|---|---|
| macOS arm64 | 已用 HVF、QEMU 11.1、socket_vmnet 验证 |
| Ubuntu 26.04 amd64 | 已用 KVM、QEMU 10.2.1、NetworkManager 验证 |
| macOS arm64 上的 Rocky Linux 8.10 arm64 Guest | 已用自动 TCG 与完整 readiness 验证 |
| 其他 Debian/Fedora/EL9 amd64 | 已实现;依赖前应重新做原生验证 |
| macOS amd64、Linux arm64 | 已交叉构建和单测,尚无当前真机证据 |
macOS 需要 Homebrew。Linux 需要 systemd,以及 NetworkManager 或
systemd-networkd 之一。farrow setup 会通过 Homebrew、APT 或 DNF 安装缺失依赖。
setup 会改什么
可以先看 dry-run:
setup 可能安装 QEMU 依赖、准备固定 IP 网络、安装权限很窄的 hosts publisher。 所有宿主变更与 sudo 原因都会先打印。
自动化环境使用 --yes。非交互 sudo 可以来自已缓存凭据或合适的 NOPASSWD 策略;
每一条真实特权命令仍使用明确的绝对路径 argv。
setup 是幂等的:健康的重复执行只会复用网络与 helper。 源码测试与这份带日期的真机矩阵是不同门禁:重新构建更新的工作树不会自动刷新上表。