DF-5502 / run_scenario.sh
#!/bin/sh # run_scenario.sh <scenario> [up_timeout] # Boots the guest once with the crafted RSDP->RSDT->MADT blob for <scenario> # and captures the serial console. Assumes /tmp/madt_<scenario>.bin exists. set -e SCEN="$1"; TMO="${2:-150}" cd "$(dirname "$0")/../../.." # repo root dfbsd-qemu/vm.sh run_root \ 'grep -q hint.acpi.0.rsdp /boot/loader.conf || printf "hint.acpi.0.rsdp=0x40000000\nboot_verbose=YES\n" >> /boot/loader.conf; sync' \ || true dfbsd-qemu/vm.sh down || true QEMU_EXTRA="-device loader,file=/tmp/madt_${SCEN}.bin,addr=0x40000000,force-raw=on" \ dfbsd-qemu/vm.sh up "$TMO" || true sleep 2 dfbsd-qemu/vm.sh log > "findings/poc/DF-5502/run_${SCEN}.log" || true dfbsd-qemu/vm.sh down >/dev/null 2>&1 || true echo "=== last console lines for ${SCEN}: ===" tail -25 "findings/poc/DF-5502/run_${SCEN}.log" |