Document the first run's time and logs; say why the VMs use -vga std

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-05 06:59:55 -07:00
co-authored by Claude Opus 5.5
parent 9e4b78bb88
commit cb3fe79aa0
2 changed files with 14 additions and 1 deletions
+11 -1
View File
@@ -65,7 +65,8 @@ RAM and 4 CPUs per VM (`SMOKETEST_MEMORY`, `SMOKETEST_CPUS`), and disk space in
`~/.cache/coredesktop-dev/smoketest`: VM disks grow as large as a real install, `~/.cache/coredesktop-dev/smoketest`: VM disks grow as large as a real install,
about 50 GB, and each run's VM disk is deleted when it's done. about 50 GB, and each run's VM disk is deleted when it's done.
The first run builds two images, which takes a while: The first run builds two images before any scenario runs: base in a few
minutes, installed in an hour or more. Later runs reuse them.
- **base**: Arch's official cloud image, with GNOME added the way archinstall's - **base**: Arch's official cloud image, with GNOME added the way archinstall's
desktop profile installs it. The user `tester` (password `tester`) logs in to desktop profile installs it. The user `tester` (password `tester`) logs in to
@@ -81,6 +82,15 @@ VM, so they download once. Flatpaks aren't cached.
To watch a VM's screen, set `SMOKETEST_VNC=1` and connect a VNC viewer to To watch a VM's screen, set `SMOKETEST_VNC=1` and connect a VNC viewer to
`127.0.0.1:5901`. `127.0.0.1:5901`.
The terminal can stay quiet for many minutes while a VM boots or installs. To
follow along, `tail -f` the logs in `~/.cache/coredesktop-dev/smoketest`:
- `build-base/` and `build-installed/`, while an image builds: `build.log` is
what the build printed, and `serial.log` is the VM's console, the place to
look when a VM doesn't boot or doesn't answer on SSH.
- `runs/<date>-<time>/<scenario>/`: `scenario.log` for each scenario, and
`serial.log` for its VM.
## Developing this project ## Developing this project
``` ```
+3
View File
@@ -67,6 +67,9 @@ vm_start() {
mkdir -p "$VM_DIR" "$PKG_CACHE" mkdir -p "$VM_DIR" "$PKG_CACHE"
VM_PORT="$(free_port)" || die "Couldn't find a free port for the VM's SSH." VM_PORT="$(free_port)" || die "Couldn't find a free port for the VM's SSH."
# -vga std, not virtio: on Arch, virtio needs qemu-hw-display-virtio-vga
# and qemu-hw-display-virtio-gpu, and with only the first QEMU segfaults
# without a message. The VMs are headless (or VNC), so std is enough.
qemu-system-x86_64 \ qemu-system-x86_64 \
-name coredesktop-smoketest \ -name coredesktop-smoketest \
-machine q35,accel=kvm \ -machine q35,accel=kvm \