Load the Debian 13 VM hardware from QEMU config files
Move the Debian launcher's QEMU arguments into qemu/debian13.ini, which the launcher renders with the per-run file paths and passes to QEMU with -readconfig, followed by qemu/debian13-<arch>.ini for the machine type and arm64-only devices. Memory, CPU count, SSH port and accelerator are now set in the config files, replacing VM_MEMORY, VM_CPUS and VM_SSH_PORT; VM_QEMU_CONFIG selects a different shared config file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YKxXLyiL7XJ3a9e8HmR2my
This commit is contained in:
1 parent
280abbd2de
commit
fe8b6f93ff
5 files changed
+141
-47
No files matched your search
@@ -0,0 +1,4 @@
|
||||
# amd64 part of the Debian 13 QEMU configuration; read after debian13.ini.
|
||||
|
||||
[machine]
|
||||
type = "q35"
|
||||
@@ -0,0 +1,17 @@
|
||||
# arm64 part of the Debian 13 QEMU configuration; read after debian13.ini.
|
||||
|
||||
[machine]
|
||||
type = "virt"
|
||||
|
||||
# Unlike q35, the "virt" machine has no default GPU or USB input devices.
|
||||
[device "gpu0"]
|
||||
driver = "virtio-gpu-pci"
|
||||
|
||||
[device "usb0"]
|
||||
driver = "qemu-xhci"
|
||||
|
||||
[device "kbd0"]
|
||||
driver = "usb-kbd"
|
||||
|
||||
[device "tablet0"]
|
||||
driver = "usb-tablet"
|
||||
@@ -0,0 +1,69 @@
|
||||
# QEMU configuration for the Debian 13 virtual machine, shared by all
|
||||
# architectures. The machine type and architecture-specific devices are in
|
||||
# debian13-<arch>.ini, which QEMU reads after this file.
|
||||
#
|
||||
# run-debian13.py fills in the file path placeholders below, writes the result
|
||||
# to <state dir>/qemu.ini and passes it to QEMU with -readconfig. Options that
|
||||
# have no -readconfig equivalent (-cpu, -display, daemon mode) are still added
|
||||
# by the launcher.
|
||||
|
||||
[name]
|
||||
guest = "debian13"
|
||||
|
||||
# Accelerators are tried in order: KVM on Linux, HVF on macOS, else emulation.
|
||||
[accel]
|
||||
accel = "kvm"
|
||||
|
||||
[accel]
|
||||
accel = "hvf"
|
||||
|
||||
[accel]
|
||||
accel = "tcg"
|
||||
|
||||
[memory]
|
||||
size = "8G"
|
||||
|
||||
[smp-opts]
|
||||
cpus = "8"
|
||||
|
||||
# UEFI firmware: read-only code and the per-VM variable store.
|
||||
[drive "pflash0"]
|
||||
if = "pflash"
|
||||
format = "raw"
|
||||
readonly = "on"
|
||||
file = "${uefi_code}"
|
||||
|
||||
[drive "pflash1"]
|
||||
if = "pflash"
|
||||
format = "raw"
|
||||
file = "${uefi_vars}"
|
||||
|
||||
# Writable qcow2 overlay on top of the shared base image.
|
||||
[drive "disk0"]
|
||||
if = "none"
|
||||
format = "qcow2"
|
||||
file = "${disk_image}"
|
||||
|
||||
[device "disk0-dev"]
|
||||
driver = "virtio-blk-pci"
|
||||
drive = "disk0"
|
||||
|
||||
# cloud-init seed ISO.
|
||||
[drive "seed0"]
|
||||
if = "none"
|
||||
format = "raw"
|
||||
readonly = "on"
|
||||
file = "${seed_image}"
|
||||
|
||||
[device "seed0-dev"]
|
||||
driver = "virtio-blk-pci"
|
||||
drive = "seed0"
|
||||
|
||||
# User-mode networking with guest SSH forwarded to the host.
|
||||
[netdev "net0"]
|
||||
type = "user"
|
||||
hostfwd = "tcp::2222-:22"
|
||||
|
||||
[device "nic0"]
|
||||
driver = "virtio-net-pci"
|
||||
netdev = "net0"
|
||||
Reference in new issue
Block a user