#
# QEMU setup for trial VM
-if [ -z "$ISO" ] ; then
- if [ -z "$EFI" ] ; then
- BOOT="-boot menu=on"
- DISK2="-drive index=1,id=boot,media=disk,format=raw,file=bootimage.raw"
- else
- BOOT="-bios /usr/share/OVMF/OVMF_CODE.fd"
- DISK2="-drive index=1,id=boot,media=disk,format=raw,file=bootimage.raw"
- fi
+N="12345678"
+if [ ${#1} = 1 ] && [ "${N#*$1}" != "$N" ] ; then
+ REPLY=$1
else
- if [ -z "$EFI" ] ; then
- BOOT="-boot menu=on"
- DISK2="-drive index=1,id=boot,media=cdrom,format=raw,file=tiniest.iso"
- else
- BOOT="-bios /usr/share/OVMF/OVMF_CODE.fd"
- DISK2="-drive index=1,id=boot,media=disk,format=raw,file=tiniest.iso"
- fi
-fi
+ VARIANT=(
+ "use bootimage.raw as harddisk with legacy boot (and boot menu)"
+ "use bootimage.raw as harddisk with UEFI boot"
+ "use tiniest.iso as harddisk with legacy boot (and boot menu)"
+ "use tiniest.iso as harddisk with UEFI boot"
+ "use tiniest.iso as cdrom with legacy boot (and boot menu)"
+ "use tiniest.iso as cdrom with UEFI boot"
+ "use tiniest.iso as USB disk with legacy boot (and boot menu)"
+ "use tiniest.iso as USB disk with UEFI boot"
+ )
+
+ select V in "${VARIANT[@]}" ; do
+ [ -z "$V" ] || break
+ done
+fi
+[ -z "$REPLY" ] && exit 0
+
+FILE=bootimage.raw
+[ $REPLY -ge 3 ] && FILE=tiniest.iso
+MEDIA=disk
+[ $REPLY -ge 5 ] && MEDIA=cdrom
+[ $REPLY -ge 7 ] && MEDIA=usb
+
+case "$MEDIA" in
+ disk)
+ DISK2="-drive index=1,format=raw,media=$MEDIA,file=$FILE"
+ ;;
+ usb)
+ USB="
+ -device qemu-xhci,id=xhci
+ -drive if=none,id=stick,format=raw,media=disk,file=${FILE}
+ -device usb-storage,bus=xhci.0,port=1,drive=stick
+ "
+ ;;
+ cdrom*)
+ DISK2="-drive index=1,format=raw,media=$MEDIA,file=$FILE"
+ ;;
+esac
+
+BOOT="-boot menu=on,splash=boot.jpg,splash-time=60000"
+[ $(( $REPLY % 2 )) -eq 0 ] && BOOT="-bios /usr/share/OVMF/OVMF_CODE.fd"
case "$NET" in
vde)
- #NET="-net nic,macaddr=06:7f:57:5e:c8:92 -net vde,sock=/run/vde.ctl"
NET="-net nic,model=e1000 -net vde,sock=/run/vde.ctl"
;;
*)
$BOOT
-drive index=0,id=disk,media=disk,format=raw,file=disk.raw
$DISK2
+ $USB
$NET
)
+echo "${ARGS[*]}" | sed "s/ -/\n -/g"
exec qemu-system-x86_64 ${ARGS[@]}