You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
988 B
Bash

#!/bin/bash
# This is my QEMU starting script, copied over and over.
set -euo pipefail
# KNOWN BUG: We cannot override options from command line
# -> Easy fix would be to disallow spaces OR single quotes in options, but IMHO not worth
CONFIG='
# Basics:
name {{ c.name }}
m 20M
{# enable-kvm #}
# Boot drive (BIOS)
drive media=disk,file=./disk.img,format=raw
# Monitor on dedicated socket
monitor unix:./monitor.sock,server,nowait
spice unix=on,addr=./spice.sock,disable-copy-paste=on,seamless-migration=off,disable-ticketing=on
display none # Already handled by SPICE
# NIC: attach to bridges:
{% for br in c.bridges %}
nic bridge,br={{ br.name }},model=virtio-net-pci,mac=52:54:00:17:{{ '%02x:%02x' % (c.num, br.num) }}
{% endfor %}
'
strip() {
sed -e '
s/^[ ]*//
s/[ ]*$//
s/[ ]*#.*$//
/^$/d
'
}
# Now QEMU is in foreground
strip <<<"$CONFIG" | while read option params; do echo "-$option"; test -n "$params" && echo "$params"; done | xargs qemu-system-x86_64 "$@"