#!/bin/sh # First we define the function ConfirmOrExit () { while true do echo -n "Please confirm (y or n) :" read CONFIRM case $CONFIRM in y|Y|YES|yes|Yes) break ;; n|N|no|NO|No) echo "Aborting - you entered $CONFIRM" exit ;; *) echo "Please enter only y or n" esac done echo "You entered $CONFIRM. Continuing ..." } SCRIPT=$(readlink -f "$0") # Absolute path this script is in, thus /home/user/bin SCRIPTPATH=$(dirname "$SCRIPT") DIR=$(dirname "$SCRIPTPATH"); DIR_LOCAL="$(dirname $(dirname ${DIR}))/local"; MEM=$1 TAP=$2 ISO_FILE="${DIR_LOCAL}/$3" IMG="${DIR_LOCAL}/$4" echo "MEM (512): $MEM" echo "TAP (tap1): $TAP" echo "ISO_FILE (crux-3.2.iso): $ISO_FILE" echo "IMG (crux-img.qcow2): $IMG" ConfirmOrExit if [ "$ISO_FILE" = "$DIR_LOCAL/" ] then qemu-system-x86_64 \ -enable-kvm \ -m $MEM \ -boot c \ -hda ${IMG} \ -net nic,model=virtio -net tap,ifname=${TAP},script=no,downscript=no else qemu-system-x86_64 \ -enable-kvm \ -m $MEM \ -boot d \ -cdrom ${ISO_FILE} \ -hda ${IMG} \ -net nic,model=virtio -net tap,ifname=${TAP},script=no,downscript=no fi exit 0;