feat(hack): add scripts to drive the dev environment headless

Start QEMU in the background with a QMP socket and console logs, take
screenshots, press keys and wait for serial output, so the graphical boot
menu can be driven without a terminal or a window. boot.sh gets opt-in
knobs for this and behaves as before otherwise.
This commit is contained in:
alex authored and Alex Zenla committed 2026-10-04 10:24:36 -07:00
1 parent 4e10d57143
commit c6524b7bed
12 files changed
+342 -2

No files matched your search

+19
View File
@@ -0,0 +1,19 @@
#!/bin/sh
# Stops QEMU and removes its socket. Safe to run when nothing is running.
set -e
cd "$(dirname "${0}")/../../.." || exit 1
. "hack/dev/run/lib.sh"
if is_running; then
PID="$(cat "${PID_FILE}")"
./hack/dev/run/qmp.sh '{"execute":"quit"}' >/dev/null 2>&1 || true
for _ in 1 2 3 4 5 6 7 8 9 10; do
is_running || break
sleep 0.5
done
is_running && kill "${PID}" 2>/dev/null || true
fi
rm -f "${QMP_SOCK}" "${PID_FILE}"