Split the QEMU configs by host system and architecture

Replace qemu/<guest>-<arch>.ini with qemu/<guest>-<os>-<arch>.ini, where os is
linux or darwin, the name platform.system() reports. The accelerators move out
of the shared <guest>.ini into these files (KVM on Linux, HVF on macOS, TCG as
the fallback). The launchers pick the file from the host system and
architecture, and reject amd64 guests on macOS hosts, so no darwin-amd64 files
exist.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GuofangandClaude Sonnet 5.5 committed 2026-10-17 15:05:02 +08:00
1 parent c13ebc7d11
commit fd1d9d651d
24 files changed
+234 -96

No files matched your search

+12 -12
View File
@@ -26,13 +26,14 @@ original qcow2 image as its backing file. The base image therefore stays
unchanged. Run `./run-debian13.py --help` for the supported environment
variables.
The Debian VM hardware (accelerator, 8G memory, 8 CPUs, drives, network) is
The Debian VM hardware (8G memory, 8 CPUs, drives, network) is
defined in the QEMU config file `qemu/debian13.ini`; the machine type and
architecture-specific devices are in `qemu/debian13-amd64.ini` and
`qemu/debian13-arm64.ini`. Edit these files to change the settings. The
architecture-specific devices are in `qemu/debian13-<os>-<arch>.ini`
(os `linux` or `darwin`, arch `amd64` or `arm64`), together with the
accelerators. Edit these files to change the settings. The
launcher fills in the `${...}` file path placeholders of `qemu/debian13.ini`,
writes the result to `.vm/debian13/qemu.ini` and starts QEMU with
`-readconfig` for that file followed by the one for the guest architecture.
`-readconfig` for that file followed by the one for the host system and guest architecture.
QEMU arguments given after `--` override the config files, for example
`./run-debian13.py -- -m 4G -smp 4`.
@@ -122,9 +123,8 @@ GNOME package group through its native package module, then reboots the guest.
Keep the VM running until this initial installation and reboot have completed.
Like the Debian VM, the Fedora VM hardware (8G memory, 8 CPUs, drives, SSH
port `2224`) is defined in `qemu/fedora44.ini`, with the machine type and
architecture-specific devices in `qemu/fedora44-amd64.ini` and
`qemu/fedora44-arm64.ini`. Other Fedora settings use the `FEDORA_VM_` prefix.
port `2224`) is defined in `qemu/fedora44.ini`, with the accelerators, machine type and
platform-specific devices in `qemu/fedora44-<os>-<arch>.ini`. Other Fedora settings use the `FEDORA_VM_` prefix.
Run `./run-fedora44.py --help` for the complete list of overrides.
## Ubuntu 26.04
@@ -151,8 +151,8 @@ guest. Keep the VM running until this initial installation and reboot have
completed.
The VM hardware (8G memory, 8 CPUs, drives, SSH port `2225`) is defined in
`qemu/ubuntu2604.ini`, with the machine type and architecture-specific devices
in `qemu/ubuntu2604-amd64.ini` and `qemu/ubuntu2604-arm64.ini`. Other Ubuntu
`qemu/ubuntu2604.ini`, with the accelerators, machine type and platform-specific
devices in `qemu/ubuntu2604-<os>-<arch>.ini`. Other Ubuntu
settings use the `UBUNTU_VM_` prefix. Run `./run-ubuntu2604.py --help` for the
complete list of overrides.
@@ -175,9 +175,9 @@ passwordless administrator login. The installer includes the VirtIO drivers, SPI
and QEMU Guest Agent. Connect with `ssh guofang@localhost -p 2222`. The launcher
exposes the vdagent channel for host/guest clipboard integration and the QEMU Guest Agent at
`.vm/windows11/qemu-guest-agent.sock`. Change the password after first login.
The Windows VM hardware (accelerator, 8G memory, 8 CPUs, system disk, devices)
is defined in `qemu/windows11.ini`, with the machine type in
`qemu/windows11-amd64.ini`; the launcher renders the former to
The Windows VM hardware (8G memory, 8 CPUs, system disk, devices)
is defined in `qemu/windows11.ini`, with the accelerators and machine type in
`qemu/windows11-<os>-<arch>.ini`; the launcher renders the former to
`.vm/windows11/qemu.ini` and loads both with `-readconfig`. Only the network
and the installation media are still set by the launcher. QEMU arguments after
`--` override the config files, for example `./run-windows11.py -- -m 4G -smp 4`.