Docs / Guests

文档 / 系统

Guest notes

系统说明

What each guest supports, and the specific things it does differently. Most of these you never have to think about -- AnyVM already applies them -- but when something behaves oddly, the reason is usually on this page.

每个系统支持什么,以及它有哪些跟别人不一样的地方。这些绝大多数你都不用操心, AnyVM 已经替你处理了 —— 但真出现什么奇怪现象时,原因通常就在这一页上。

Release lists live in the builders. Each builder repository publishes the authoritative list of releases it currently ships, and updates it as upstream cuts new ones. This page covers behaviour, not versions. 版本列表在 builder 那边。每个 builder 仓库都会公布 它当前提供的版本清单,上游发新版就跟着更新。这一页讲的是行为,不是版本号。

FreeBSD

x86_64 · aarch64 · riscv64 · powerpc64 freebsd-builder

The broadest architecture coverage of any guest here, and the one to reach for first if you just want a BSD to test on. UEFI boot is enabled implicitly, so --uefi is unnecessary.

这里架构覆盖最广的一个系统。只是想随便找个 BSD 测东西的话,先用它。UEFI 启动是隐式打开的,不用再写 --uefi

Desktop images ship for XFCE, GNOME and KDE: --release 15.1-xfce, 15.1-gnome, 15.1-kde6.

桌面镜像有 XFCE、GNOME 和 KDE 三种:--release 15.1-xfce15.1-gnome15.1-kde6

OpenBSD

x86_64 · aarch64 · riscv64 · sparc64 openbsd-builder

Seven desktop environments are published -- 7.9-xfce, -gnome, -kde6, -mate, -lxqt, -lumina, -enlightenment -- more than any other guest.

一共发布了七种桌面环境 —— 7.9-xfce-gnome-kde6-mate-lxqt-lumina-enlightenment —— 比任何其他系统都多。

NetBSD

x86_64 · aarch64 · riscv64 · sparc64 netbsd-builder

DragonFlyBSD

x86_64 dragonflybsd-builder

The guest most sensitive to the host PMU. Exposing hardware performance counters through -cpu host can trigger intermittent general-protection faults in wrmsr during early boot, which showed up as random boot failures across CI runners with different Intel generations. The PMU is therefore off by default for every guest; pass --enable-pmu only if you need perf-style profiling inside the VM.

对宿主 PMU 最敏感的一个系统。通过 -cpu host 把硬件性能计数器暴露 进去,可能让早期启动阶段的 wrmsr 偶发触发一般保护错误 —— 表现出来 就是在不同代 Intel 的 CI 机器上随机启动失败。所以 PMU 对所有系统默认关闭; 只有你确实要在虚拟机里做 perf 那类性能分析时,才加 --enable-pmu

MidnightBSD

x86_64 midnightbsd-builder

A FreeBSD derivative with the mport package system. Nothing special is needed to run it.

FreeBSD 的衍生版,用自己的 mport 包管理系统。跑它不需要任何特殊处理。

GhostBSD

x86_64 ghostbsd-builder

A desktop-first FreeBSD derivative -- MATE is the default image, with 26.1-xfce and 26.1-gershwin also published.

以桌面为先的 FreeBSD 衍生版 —— 默认镜像是 MATE,另外还发布了 26.1-xfce26.1-gershwin

Skips WHPX on Windows hosts. Its boot aborts under the Windows Hypervisor Platform with failed to decode instruction f 10, so AnyVM runs it under TCG there rather than letting it fail. Slower, but it boots. 在 Windows 宿主上跳过 WHPX。它在 Windows Hypervisor Platform 下启动会中止,报 failed to decode instruction f 10,所以 AnyVM 在那儿直接让它走 TCG,而不是眼看着它失败。慢一些,但能起来。

NextBSD

x86_64 nextbsd-builder

FreeBSD with Mach IPC and launchd as PID 1 -- there is no rc.d. Built from a rolling upstream tag, so the release you get is resolved at build time.

带 Mach IPC 的 FreeBSD,PID 1 是 launchd —— 没有 rc.d。它从上游的滚动标签构建,所以你拿到的是哪个版本,在构建时才定。

Solaris

x86_64 solaris-builder

Oracle Solaris 11. A heavy guest: under TCG it needs a long boot window, which AnyVM already allows for by raising the default timeout to 1800 seconds whenever no hardware acceleration is available.

Oracle Solaris 11。比较重的一个系统:在 TCG 下启动要等很久,AnyVM 已经考虑到了 —— 只要没有硬件加速可用,默认超时就自动提到 1800 秒。

OmniOS

x86_64 omnios-builder

An illumos distribution aimed at servers and storage. Stable LTS releases alongside the rolling bloody line, depending on what the builder currently publishes.

面向服务器和存储的 illumos 发行版。有稳定的 LTS 版本,也有滚动的 bloody 线,具体看 builder 当前发布了哪些。

OpenIndiana

x86_64 openindiana-builder

The community continuation of OpenSolaris, with a full package repository and a desktop available.

OpenSolaris 的社区续作,有完整的软件仓库,也有桌面可用。

Tribblix

x86_64 tribblix-builder

A lightweight illumos distribution with its own zap package manager and a retro window manager.

轻量级 illumos 发行版,有自己的 zap 包管理器和一个复古风窗口管理器。

Historical note. Images before v2.0.3 froze a CPU-vendor-specific libc_hwcap variant into /lib/libc.so.1 at build time, which crash-looped under KVM on the other vendor's CPU. Current images ship the capability-neutral libc that boots on both Intel and AMD and re-optimises per CPU on first boot. Only reach for --tcg if you must run a pre-2.0.3 image on a mismatched host. 历史遗留问题。v2.0.3 之前的镜像在构建时 把某一家 CPU 专用的 libc_hwcap 变体固化进了 /lib/libc.so.1,换到另一家的 CPU 上用 KVM 跑就会崩溃重启循环。 现在的镜像装的是不挑 CPU 特性的通用 libc,Intel 和 AMD 都能起来,首次启动时再 按当前 CPU 重新优化。只有当你非得在不匹配的宿主上跑 2.0.3 之前的镜像时,才需要 动用 --tcg

Ubuntu

x86_64 · aarch64 · riscv64 · ppc64le · s390x ubuntu-builder

The widest spread of emulated architectures, and consequently the guest with the most QEMU-version sensitivity. Every case below is handled for you on a Linux x86_64 host: when the system QEMU is too old, AnyVM downloads and uses a pinned QEMU 10.2.3 for exactly that combination.

模拟架构铺得最开的一个系统,因此也是对 QEMU 版本最挑剔的一个。下面这些情况在 Linux x86_64 宿主上都替你处理好了:系统自带的 QEMU 太旧时,AnyVM 会下载一个固定的 QEMU 10.2.3,只用在那一种组合上。

Architecture架构What it needs, and why需要什么,为什么
aarch64 Defaults to -cpu cortex-a72. Under -cpu max the distro QEMU 8.2 aborts with a regime_is_user assertion when the 26.04 kernel uses VHE. 默认用 -cpu cortex-a72。用 -cpu max 时,26.04 的内核一旦启用 VHE,发行版自带的 QEMU 8.2 就会在 regime_is_user 断言处中止。
riscv64 26.04 requires QEMU 9.1 or newer and selects -cpu rva23s64 automatically -- the RVA23 userspace baseline and the 7.0 kernel do not run on QEMU 8.2. 22.04 and 24.04 are fine on stock QEMU. 26.04 需要 QEMU 9.1 或更新,并会自动选 -cpu rva23s64 —— RVA23 的用户态基线和 7.0 内核在 QEMU 8.2 上跑不起来。22.04 和 24.04 用系统自带的 QEMU 就行。
s390x Wants QEMU 10 or newer; the distro 8.2 intermittently freezes guest systemd at startup, a TCG-only bug. On a real IBM Z host with /dev/kvm, KVM is used automatically and stock QEMU is fine. 需要 QEMU 10 或更新;发行版的 8.2 会偶发地把虚拟机里的 systemd 冻在启动阶段,这是个只在 TCG 下出现的 bug。在真正的 IBM Z 机器上 (有 /dev/kvm)会自动走 KVM,系统自带的 QEMU 就够。
ppc64le 22.04 requires QEMU 10 or newer: under the distro 8.2 pseries TCG the jammy python3.10 segfaults, so every cloud-init and apt run crashes. 24.04 and 26.04 work on stock QEMU. 22.04 需要 QEMU 10 或更新:在发行版 8.2 的 pseries TCG 下, jammy 的 python3.10 会段错误,于是每次 cloud-init 和 apt 都崩。24.04 和 26.04 用自带的 QEMU 没问题。

OpenEuler

x86_64 · aarch64 · riscv64 · loongarch64 openeuler-builder

The only guest with a loongarch64 image. That architecture needs the EDK2 LoongArch firmware (edk2-loongarch64-code.fd), which QEMU only started bundling in 9.2 -- so on a Linux x86_64 host with an older system QEMU, AnyVM fetches a pinned QEMU 10.2.3 for it. Always TCG, so expect it to be slow.

唯一有 loongarch64 镜像的系统。这个架构需要 EDK2 的 LoongArch 固件 (edk2-loongarch64-code.fd),而 QEMU 从 9.2 才开始自带 —— 所以在 系统 QEMU 较旧的 Linux x86_64 宿主上,AnyVM 会为它取一个固定的 QEMU 10.2.3。 它始终走 TCG,所以慢是正常的。

Release names carry their own capitalisation (24.03-LTS-SP4), but --release matches case-insensitively, so 24.03-lts-sp4 finds it.

它的版本名自带大小写(24.03-LTS-SP4),不过 --release 匹配时不区分大小写,写 24.03-lts-sp4 也能找到。

BlissOS

x86_64 · Android x86 blissos-builder

Android on x86, with root SSH and the Android desktop on the VNC console -- so this is one to open in the browser rather than drive from a shell. Releases map to Android versions: 16 (Android 13), 15 (12L), 14 (11).

跑在 x86 上的 Android,带 root 权限的 SSH,Android 桌面在 VNC 控制台上 —— 所以这个更适合用浏览器打开看,而不是从 shell 里操作。版本号对应 Android 版本: 16 是 Android 13,15 是 12L,14 是 11。

Directory sync uses scp. It is the only backend the Android userspace supports. 目录共享走 scp这是 Android 用户态 唯一支持的后端。

HaikuOS

x86_64 haiku-builder

The BeOS successor -- a complete graphical desktop operating system that is neither Unix nor Linux. Worth opening on the VNC console rather than treating as a headless build target.

BeOS 的继承者 —— 一个完整的图形桌面操作系统,既不是 Unix 也不是 Linux。 值得用 VNC 控制台打开看看,而不是只把它当成一个无头的构建目标。

GNU Hurd

x86_64 · i386 hurd-builder

Debian GNU/Hurd, the only guest that ships a 32-bit image as well: --arch i386.

Debian GNU/Hurd,唯一一个同时提供 32 位镜像的系统:--arch i386

Hurd has no virtio drivers, so it runs on emulated legacy hardware. The amd64 image needs a q35 machine with AHCI, which AnyVM selects for you.

Hurd 没有 virtio 驱动,只能跑在模拟的老式硬件上。amd64 镜像需要带 AHCI 的 q35 机型,AnyVM 会替你选好。

Plan 9

x86_64 · 9front plan9-builder

9front, the maintained Plan 9 fork. Not a Unix: there is no SSH daemon in the usual sense, and AnyVM talks to it over its own transport.

Directory sync is 9P, and Linux-host only. --sync 9p is the default here: the host mounts the guest's exportfs share through the Linux kernel v9fs client (mount -t 9p, needs root or sudo). On Windows and macOS hosts a Plan 9 guest still boots and still runs commands -- only -v folder sync is skipped.