#!/system/bin/sh
# 作者：felonwan@gmail.com
# 修改：2014年10月30日

#用法提示
if [ $# -eq 0 ] || [ $# -gt 1 ]; then
  echo "用法举例：sh runvm minipe.conf"
  echo "其中xp.conf是虚拟机硬件配置文件。"
  exit 0
fi

#设置环境变量
PRJN=qemu-lp #Project Name
INS=/data/${PRJN} 
BIN=$INS/bin

# 检查busybox
echo "检查Busybox安装……"
busybox >/dev/null
if [ $? -ne 0 ] ; then
   export PATH=$PATH:$BIN
   busybox >/dev/null
   if [ $? -ne 0 ]; then
	  echo "运行错误1：没有Busybox！"
	  exit 1
  fi
fi

#读取虚拟机硬件参数
PARS=""
while read line; do
a=`echo $line | busybox sed 's/^[ ]*\t*$//;s/^[ \t]*\#.*$//' ` # ignore lines consist with spaces or tabs and comment out lines
if [ "$a" != "" ]; then
  b=`echo $a |busybox grep -E '(\-hd| \-cdrom)'` # for -hdx image argument
  if [ "$b" != "" ]; then
    c=`echo $b | busybox awk '{print $1}'`  # -hdx
    d=`echo $b | busybox awk '{print $2}'`  # image filename
    if  [ "${d:0:1}" != "/" ];then  #relative path
       a="$c $PWD/$d"
    fi
  fi
  e=`echo $a |busybox grep 'tap'` # for -net image argument
  if [ "$e" != "" ]; then
    echo "创建tap设备："
    echo "cd $BIN"
    cd $BIN
    echo "./creatap"
    ./creatap
  fi
  PARS="$a ${PARS}"
fi
done <$1
echo "虚拟机参数读取完成。"

#运行虚拟机
echo ""
echo "也可以通过输入下面的命令来运行"
echo ${PARS}  | busybox grep '\-vnc' >/dev/null
if [ $? -ne 0 ]; then
  echo "export DISPLAY=:0"
  export DISPLAY=:0
fi
echo "cd $BIN" 
cd $BIN
echo "./qemu-system-i386 ${PARS}"
./qemu-system-i386 ${PARS}

echo "虚拟机已关闭，退出……"
echo ""
