cd $(dirname $0)
#Getting the env. as passed by the test framework - mostly MACADDR and NODE_ISO
-CONFIG=start-qemu.conf
+CONFIG=qemu.conf
if [ ! -e ${CONFIG} ];then
- echo "File for MAC Address not found"
+ echo "File for node_iso version not found"
exit 1
fi
. $CONFIG
#default Value
-SCRIPT=./qemu-ifup
-HDA=./hda_5.raw
-
-# qemu parameters
-RAM=520;
-TAP="tap,script=$SCRIPT";
-#check for the creation of new HDA
-if [ -e "$HDA" ]; then
- echo "Disk already existing removing it..."
- rm -rf $HDA
-fi
-
-#Creating new HDA
-echo "Creating hard disk for Qemu install under $HDA"
-
-img=$(qemu-img create $HDA 10G)
-if [ -z "$img" ];then
+#always use the 64 bit version of qemu, as this will work on both 32 & 64 bit host kernels
+QEMU=qemu
+HDA=hda_5.img
+RAM=1024
+
+SCRIPT=qemu-ifup
+TAP="tap,script=$SCRIPT"
+
+#Creating new HDA if needed only
+#using qcow2 disk image format which is essential to support VM snapshots
+if [ -f $HDA ] ; then
+ echo "Using $HDA"
+else
+ echo "Creating hard disk for Qemu install under $HDA"
+ img=$(qemu-img create -f qcow2 $HDA 5G)
+ if [ -z "$img" ];then
echo "Can't Create disk image..."
exit 1
+ fi
fi
echo "New $HDA is created..."
-#Command for running the Qemu Emulator
-ARGS="-boot d -cdrom ${NODE_ISO} -hda ${HDA} -m ${RAM} -net nic,macaddr=${MACADDR} -net $TAP -nographic -kernel-kqemu";
-echo "Running qemu $ARGS";
-qemu-system-x86_64 $ARGS
-
+rm -f qemu.pid
-exit
+#Command for running the Qemu Emulator
+ARGS="-boot d -net nic,macaddr=${MACADDR} -net $TAP, -cdrom ${NODE_ISO} -hda ${HDA} -m ${RAM} -nographic -pidfile qemu.pid"
+echo "Running $QEMU $ARGS < /dev/null"
+exec $QEMU $ARGS < /dev/null