#!/bin/bash # cd in this command's directory cd $(dirname $0) #Getting the env. as passed by the test framework # expected vars are MACADDR, NODE_ISO, HOSTNAME and TARGET_ARCH CONFIG=qemu.conf if [ ! -e ${CONFIG} ];then echo "File for node_iso version not found" exit 1 fi . $CONFIG # the launcher, depending on local/target archs archs="$(uname-i)+$(TARGET_ARCH)" case $archs in i386+i386) QEMU= qemu;; i386+x86_64) QEMU= qemu-system-x86_64;; x86_64+i386) QEMU= qemu;; x86_64+x86_64) QEMU= qemu-system-x86_64;; esac QEMU=qemu HDA=hard_drive.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 (10G) for Qemu install under $HDA" img=$(qemu-img create -f qcow2 $HDA 10G) if [ -z "$img" ];then echo "Can't Create disk image..." exit 1 fi fi echo "New $HDA is created..." rm -f qemu.pid #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