#!/bin/bash -e ISO="$1" DISK="$HOME/${ISO%.*}.qcow2" MAXMEM="$(free -g | awk '/^Mem:/{print $6 / 2}')G" OVMF_CODE=/usr/share/edk2/x64/OVMF_CODE.4m.fd OVMF_VARS=/tmp/OVMF_VARS.4m.fd set -x if [ -f "$OVMF_VARS" ]; then cp -f /usr/share/edk2/x64/OVMF_VARS.4m.fd "$OVMF_VARS" fi if ! [ -f "$DISK" ]; then qemu-img create -f qcow2 "$DISK" 20G fi qemu-system-x86_64 \ -accel kvm \ -M q35 \ -monitor stdio \ -cpu host \ -m "2G,maxmem=$MAXMEM" \ -vga virtio \ -audio pipewire,model=hda \ -nic model=virtio-net-pci,type=user \ -drive "if=pflash,format=raw,file=$OVMF_CODE,readonly=on" \ -drive "if=pflash,format=raw,file=$OVMF_VARS" \ -drive "if=virtio,file=$DISK" \ -drive "file=$ISO,media=cdrom,readonly=on"