#!/bin/bash # try to boot the ISO in qemu . config || exit 0 usage() { cat < -c Make an empty disk image and boot from CD -d Boot the disk image -i Path to iso EOF exit 0 } boot="" iso="${OUTPUT}" while getopts cdi: flag; do case $flag in c) boot="c$boot" ;; d) boot="d$boot" ;; i) iso="$OPTARG" ;; ?) usage ;; esac done case $boot in ?) ;; *) usage ;; esac set -e set -x cfg="" cfg+=" -nodefaults" cfg+=" -drive file=${DISK},media=disk,format=raw,if=virtio" cfg+=" -enable-kvm" cfg+=" -m 2048" cfg+=" -usb" cfg+=" -device usb-tablet" cfg+=" -nic user" cfg+=" -vga virtio" #cfg+=" -vnc :0" case $boot in c) echo "booting CD with empty disk" rm -f ${DISK} dd if=/dev/zero "of=${DISK}" bs=1M count=0 seek=30720 cfg+=" -drive file=${iso},media=cdrom,if=none,id=cd" cfg+=" -device virtio-scsi-pci -device scsi-cd,drive=cd" cfg+=" -boot d" ;; d) echo "booting disk with no CD" cfg+=" -boot c" ;; esac qemu-system-x86_64 $cfg