detached 63b18be

docs(vm): document hardware profiles and in-VM verification commands

commit
63b18beebde3a1e334ff086c09ea3945c29319ba
author
brice · · 2026-02-27 04:48 UTC
parent
47098b9
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
1 file · +57 -0
M test/vm/README.md +57 -0
@@ -49,3 +49,60 @@ ssh-copy-id -p 2222 root@localhost # Use password: test
4949
5050 - SSH: `localhost:2222` → VM `:22`
5151 - ISO/qcow2 files gitignored
52+
53+## Hardware Profiles
54+
55+The QEMU launchers support two hardware profiles that simulate realistic PC hardware. Both use `q35` machine type, NVMe storage, Intel e1000e NIC, XHCI USB, Intel HDA audio, and virtio-vga GPU.
56+
57+| Profile | System | Board |
58+|---------|--------|-------|
59+| `desktop` (default) | Gigabyte B550 AORUS ELITE V2 | Gigabyte B550 |
60+| `laptop` | ThinkPad X1 Carbon Gen 10 | LENOVO 21CB |
61+
62+### Usage
63+
64+```bash
65+# Desktop profile (default)
66+./start-qemu-installed.sh
67+./start-qemu-installed.sh --profile desktop
68+./start-qemu-desktop.sh # convenience wrapper
69+
70+# Laptop profile
71+./start-qemu-installed.sh --profile laptop
72+./start-qemu-laptop.sh # convenience wrapper
73+
74+# Secure Boot (ArchUp preflight expects it OFF by default)
75+./start-qemu-installed.sh --secure-boot on
76+
77+# ISO boot with profile
78+./start-qemu-arch-iso.sh --profile laptop
79+
80+# Custom SSH port
81+./start-qemu-installed.sh --ssh-port 2223
82+```
83+
84+### Verify Hardware Inside the VM
85+
86+After booting, run these inside the VM to confirm the hardware identity:
87+
88+```bash
89+# BIOS/system/board identity (should show Gigabyte or LENOVO strings)
90+dmidecode -t 0,1,2,3
91+
92+# PCI devices (check for virtio-vga, e1000e)
93+lspci -nn
94+
95+# Storage identity (should show nvme0n1 with serial TESTDESKTOP0001 or TESTLAPTOP00001)
96+lsblk -o NAME,MODEL,SERIAL,TYPE
97+
98+# UEFI boot entries
99+bootctl status
100+
101+# NIC name (e1000e presents as enp*s0 or similar)
102+ip link
103+```
104+
105+### Notes
106+
107+- Secure Boot mode copies OVMF_VARS to a temp file each run; keys must be enrolled manually via UEFI shell on first boot.
108+- `check-luks.sh` defaults to `/dev/nvme0n1p2`. For old virtio-disk images use `--disk /dev/vda2`.
@@ -49,3 +49,60 @@ ssh-copy-id -p 2222 root@localhost # Use password: test
49 49
50 - SSH: `localhost:2222` → VM `:22`50 - SSH: `localhost:2222` → VM `:22`
51 - ISO/qcow2 files gitignored51 - ISO/qcow2 files gitignored
52+
53+## Hardware Profiles
54+
55+The QEMU launchers support two hardware profiles that simulate realistic PC hardware. Both use `q35` machine type, NVMe storage, Intel e1000e NIC, XHCI USB, Intel HDA audio, and virtio-vga GPU.
56+
57+| Profile | System | Board |
58+|---------|--------|-------|
59+| `desktop` (default) | Gigabyte B550 AORUS ELITE V2 | Gigabyte B550 |
60+| `laptop` | ThinkPad X1 Carbon Gen 10 | LENOVO 21CB |
61+
62+### Usage
63+
64+```bash
65+# Desktop profile (default)
66+./start-qemu-installed.sh
67+./start-qemu-installed.sh --profile desktop
68+./start-qemu-desktop.sh # convenience wrapper
69+
70+# Laptop profile
71+./start-qemu-installed.sh --profile laptop
72+./start-qemu-laptop.sh # convenience wrapper
73+
74+# Secure Boot (ArchUp preflight expects it OFF by default)
75+./start-qemu-installed.sh --secure-boot on
76+
77+# ISO boot with profile
78+./start-qemu-arch-iso.sh --profile laptop
79+
80+# Custom SSH port
81+./start-qemu-installed.sh --ssh-port 2223
82+```
83+
84+### Verify Hardware Inside the VM
85+
86+After booting, run these inside the VM to confirm the hardware identity:
87+
88+```bash
89+# BIOS/system/board identity (should show Gigabyte or LENOVO strings)
90+dmidecode -t 0,1,2,3
91+
92+# PCI devices (check for virtio-vga, e1000e)
93+lspci -nn
94+
95+# Storage identity (should show nvme0n1 with serial TESTDESKTOP0001 or TESTLAPTOP00001)
96+lsblk -o NAME,MODEL,SERIAL,TYPE
97+
98+# UEFI boot entries
99+bootctl status
100+
101+# NIC name (e1000e presents as enp*s0 or similar)
102+ip link
103+```
104+
105+### Notes
106+
107+- Secure Boot mode copies OVMF_VARS to a temp file each run; keys must be enrolled manually via UEFI shell on first boot.
108+- `check-luks.sh` defaults to `/dev/nvme0n1p2`. For old virtio-disk images use `--disk /dev/vda2`.

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 0

    ↑↓ moveenter openesc close