diff options
Diffstat (limited to 'scripts/runqemu')
| -rwxr-xr-x | scripts/runqemu | 24 | 
1 files changed, 14 insertions, 10 deletions
| diff --git a/scripts/runqemu b/scripts/runqemu index 82711606f6..a4d9a2306b 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -28,7 +28,7 @@ usage() {      echo "  MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)"      echo "  RAMFS - boot a ramfs-based image"      echo "  ISO - boot an ISO image" -    echo "  VM - boot a vmdk image" +    echo "  VM - boot a virtual machine image (= a file representing a full disk with boot loader)"      echo "  Simplified QEMU command-line options can be passed with:"      echo "    nographic - disables video console"      echo "    serial - enables a serial console on /dev/ttyS0" @@ -94,7 +94,7 @@ process_filename() {  		    error "conflicting FSTYPE types [$FSTYPE] and [$EXT]"  		fi  		;; -	/vmdk/) +	/hddimg/|/hdddirect/|/vmdk/)  		FSTYPE=$EXT  		VM=$filename  		;; @@ -114,7 +114,7 @@ while true; do              [ -z "$MACHINE" ] && MACHINE=$arg || \                  error "conflicting MACHINE types [$MACHINE] and [$arg]"              ;; -        "ext2" | "ext3" | "ext4" | "jffs2" | "nfs" | "btrfs") +        "ext2" | "ext3" | "ext4" | "jffs2" | "nfs" | "btrfs" | "hddimg" | "hdddirect" )              [ -z "$FSTYPE" -o "$FSTYPE" = "$arg" ] && FSTYPE=$arg || \                  error "conflicting FSTYPE types [$FSTYPE] and [$arg]"              ;; @@ -235,12 +235,12 @@ if [ "$FSTYPE" = "nfs" -a -z "$ROOTFS" ]; then  fi  if [ -z "$MACHINE" ]; then -    if [ "x$FSTYPE" = "xvmdk" ]; then +    if [ "x$FSTYPE" = "xvmdk" ] || [ "x$FSTYPE" = "xhddimg" ] || [ "x$FSTYPE" = "xhdddirect" ]; then          MACHINE=`basename $VM | sed -n 's/.*\(qemux86-64\|qemux86\|qemuarm64\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`          if [ -z "$MACHINE" ]; then -            error "Unable to set MACHINE from vmdk filename [$VM]" +            error "Unable to set MACHINE from image filename [$VM]"          fi -        echo "Set MACHINE to [$MACHINE] based on vmdk [$VM]" +        echo "Set MACHINE to [$MACHINE] based on image [$VM]"      else          MACHINE=`basename $KERNEL | sed -n 's/.*\(qemux86-64\|qemux86\|qemuarm64\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`          if [ -z "$MACHINE" ]; then @@ -436,7 +436,7 @@ if [ -e "$ROOTFS" -a -z "$FSTYPE" ]; then      fi  fi -if [ -z "$KERNEL" -a "x$FSTYPE" != "xvmdk" ]; then +if [ -z "$KERNEL" -a "x$FSTYPE" != "xvmdk" -a "x$FSTYPE" != "xhddimg" -a "x$FSTYPE" != "xhdddirect" ]; then      setup_path_vars 1      eval kernel_file=\$${machine2}_DEFAULT_KERNEL      KERNEL=$DEPLOY_DIR_IMAGE/$kernel_file @@ -462,10 +462,14 @@ fi  if [ "$LAZY_ROOTFS" = "true" ]; then      setup_path_vars 1      echo "Assuming $ROOTFS really means $DEPLOY_DIR_IMAGE/$ROOTFS-$MACHINE.$FSTYPE" -    ROOTFS=$DEPLOY_DIR_IMAGE/$ROOTFS-$MACHINE.$FSTYPE +    if [ "$FSTYPE" = "hddimg" -o "x$FSTYPE" = "xhdddirect" ]; then +        VM=$DEPLOY_DIR_IMAGE/$ROOTFS-$MACHINE.$FSTYPE +    else +        ROOTFS=$DEPLOY_DIR_IMAGE/$ROOTFS-$MACHINE.$FSTYPE +    fi  fi -if [ -z "$ROOTFS" -a "x$FSTYPE" != "xvmdk" ]; then +if [ -z "$ROOTFS" -a "x$FSTYPE" != "xvmdk" -a "x$FSTYPE" != "xhddimg" -a "x$FSTYPE" != "xhdddirect" ]; then      setup_path_vars 1      T=$DEPLOY_DIR_IMAGE      eval rootfs_list=\$${machine2}_DEFAULT_ROOTFS @@ -481,7 +485,7 @@ ROOTFS=`readlink -f $ROOTFS`  echo ""  echo "Continuing with the following parameters:" -if [ "x$FSTYPE" != "xvmdk" ]; then +if [ "x$FSTYPE" != "xvmdk" -a "x$FSTYPE" != "xhddimg" -a "x$FSTYPE" != "xhdddirect" ]; then      echo "KERNEL: [$KERNEL]"      echo "ROOTFS: [$ROOTFS]"  else | 
