#!/bin/bash set -euo pipefail img="$1" log="$2" out="$3" src="test-project" tmp="$(mktemp -d)" trap 'rm -rf "$tmp"' EXIT cp "$img" "$tmp/img.qcow2" cp /usr/share/OVMF/OVMF_VARS.fd "$tmp/vars.fd" tar -cf "$tmp/src.tar" -C "$src" . qemu-img create -q -f raw "$out" 1G qemu-system-x86_64 \ -m 4096 \ -drive if=pflash,format=raw,unit=0,file=/usr/share/ovmf/OVMF.fd,readonly=on \ -drive if=pflash,format=raw,unit=1,file="$tmp/vars.fd" \ -drive format=qcow2,if=virtio,file="$tmp/img.qcow2" \ -drive format=raw,if=virtio,file="$tmp/src.tar" \ -drive format=raw,if=virtio,file="$out" \ -nodefaults -display none \ -chardev stdio,id=serial0 -serial chardev:serial0 >"$log"