- 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"