* [PATCH 0/7] fixes for runqemu
@ 2016-03-14 6:52 Robert Yang
2016-03-14 6:52 ` [PATCH 1/7] runqemu: fix ROOTFS for vmdk Robert Yang
` (7 more replies)
0 siblings, 8 replies; 11+ messages in thread
From: Robert Yang @ 2016-03-14 6:52 UTC (permalink / raw)
To: openembedded-core
The following changes since commit 9d5fa6da5ae14b26a83ec1af609d4c45944bfd44:
cross-canadian/libgcc: fix aarch64's multilib SDK (2016-03-13 19:36:57 -0700)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/runqemu
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/runqemu
Robert Yang (7):
runqemu: fix ROOTFS for vmdk
runqemu: simplify the checking for vm images
runqemu: remove ISO and RAMFS from help text
runqemu: add support for qcow2 and vdi
runqemu: simplify checking for iso and ramfs
runqemu-internal: cleanup unsed code
runqemu-internal: split the code into functions
scripts/runqemu | 111 ++++++++++----------
scripts/runqemu-internal | 257 ++++++++++++++++++++--------------------------
2 files changed, 170 insertions(+), 198 deletions(-)
--
1.7.9.5
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/7] runqemu: fix ROOTFS for vmdk
2016-03-14 6:52 [PATCH 0/7] fixes for runqemu Robert Yang
@ 2016-03-14 6:52 ` Robert Yang
2016-03-14 6:52 ` [PATCH 2/7] runqemu: simplify the checking for vm images Robert Yang
` (6 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Robert Yang @ 2016-03-14 6:52 UTC (permalink / raw)
To: openembedded-core
* Make it can boot scsi and virtio block drive such as root=/dev/sdX and
/dev/vdX.
* Drop VM from help info, id doesn't work, and the script can check
whether it is a vm disk or not.
* Make it can be run by:
$ runqemu tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.vmdk
or:
$ runqemu qemux86-64 vmdk
[YOCTO #9170]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
scripts/runqemu | 77 ++++++++++++++++++++++++----------------------
scripts/runqemu-internal | 28 ++++++++++++-----
2 files changed, 60 insertions(+), 45 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index 48b7551..771aa38 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -19,35 +19,36 @@
usage() {
MYNAME=`basename $0`
- echo ""
- echo "Usage: you can run this script with any valid combination"
- echo "of the following environment variables (in any order):"
- echo " KERNEL - the kernel image file to use"
- echo " ROOTFS - the rootfs image file or nfsroot directory to use"
- 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 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"
- echo " kvm - enables KVM when running qemux86/qemux86-64 (VT-capable CPU required)"
- echo " kvm-vhost - enables KVM with vhost support when running qemux86/qemux86-64 (VT-capable CPU required)"
- echo " publicvnc - enable a VNC server open to all hosts"
- echo " qemuparams=\"xyz\" - specify custom parameters to QEMU"
- echo " bootparams=\"xyz\" - specify custom kernel parameters during boot"
- echo ""
- echo "Examples:"
- echo " $MYNAME qemuarm"
- echo " $MYNAME qemux86-64 core-image-sato ext4"
- echo " $MYNAME qemux86-64 wic-image-minimal wic"
- echo " $MYNAME path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial"
- echo " $MYNAME qemux86 ramfs"
- echo " $MYNAME qemux86 iso"
- echo " $MYNAME qemux86 qemuparams=\"-m 256\""
- echo " $MYNAME qemux86 bootparams=\"psplash=false\""
- echo " $MYNAME path/to/<image>-<machine>.vmdk"
- echo " $MYNAME path/to/<image>-<machine>.wic"
+cat <<_EOF
+
+Usage: you can run this script with any valid combination
+of the following environment variables (in any order):
+ KERNEL - the kernel image file to use
+ ROOTFS - the rootfs image file or nfsroot directory to use
+ MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)
+ RAMFS - boot a ramfs-based image
+ ISO - boot an ISO image
+ Simplified QEMU command-line options can be passed with:
+ nographic - disables video console
+ serial - enables a serial console on /dev/ttyS0
+ kvm - enables KVM when running qemux86/qemux86-64 (VT-capable CPU required)
+ kvm-vhost - enables KVM with vhost support when running qemux86/qemux86-64 (VT-capable CPU required)
+ publicvnc - enable a VNC server open to all hosts
+ qemuparams="xyz" - specify custom parameters to QEMU
+ bootparams="xyz" - specify custom kernel parameters during boot
+
+Examples:
+ $MYNAME qemuarm
+ $MYNAME qemux86-64 core-image-sato ext4
+ $MYNAME qemux86-64 wic-image-minimal wic
+ $MYNAME path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial
+ $MYNAME qemux86 ramfs
+ $MYNAME qemux86 iso
+ $MYNAME qemux86 qemuparams="-m 256"
+ $MYNAME qemux86 bootparams="psplash=false"
+ $MYNAME path/to/<image>-<machine>.vmdk
+ $MYNAME path/to/<image>-<machine>.wic
+_EOF
exit 1
}
@@ -63,7 +64,6 @@ error() {
MACHINE=${MACHINE:=""}
KERNEL=${KERNEL:=""}
ROOTFS=${ROOTFS:=""}
-VM=${VM:=""}
FSTYPE=${FSTYPE:=""}
LAZY_ROOTFS=""
SCRIPT_QEMU_OPT=""
@@ -101,6 +101,7 @@ process_filename() {
/hddimg/|/hdddirect/|/vmdk/)
FSTYPE=$EXT
VM=$filename
+ ROOTFS=$filename
;;
*)
error "unknown file arg [$filename]"
@@ -118,7 +119,7 @@ while true; do
[ -z "$MACHINE" -o "$MACHINE" = "$arg" ] && MACHINE=$arg || \
error "conflicting MACHINE types [$MACHINE] and [$arg]"
;;
- "ext2" | "ext3" | "ext4" | "jffs2" | "nfs" | "btrfs" | "hddimg" | "hdddirect" | "wic" )
+ "ext2" | "ext3" | "ext4" | "jffs2" | "nfs" | "btrfs" | "hddimg" | "hdddirect" | "wic" | "vmdk")
[ -z "$FSTYPE" -o "$FSTYPE" = "$arg" ] && FSTYPE=$arg || \
error "conflicting FSTYPE types [$FSTYPE] and [$arg]"
;;
@@ -127,8 +128,8 @@ while true; do
RAMFS=true
;;
"iso")
- FSTYPE=iso
- ISOFS=true
+ FSTYPE=iso
+ ISOFS=true
;;
"nographic")
SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -nographic"
@@ -142,7 +143,7 @@ while true; do
"tcpserial="*)
TCPSERIAL_PORTNUM=${arg##tcpserial=}
;;
- "biosdir="*)
+ "biosdir="*)
CUSTOMBIOSDIR="${arg##biosdir=}"
;;
"biosfilename="*)
@@ -187,7 +188,7 @@ while true; do
;;
*-image*)
[ -z "$ROOTFS" ] || \
- error "conflicting ROOTFS args [$ROOTFS] and [$arg]"
+ error "conflicting ROOTFS args [$ROOTFS] and [$arg]"
if [ -f "$arg" ]; then
process_filename $arg
elif [ -d "$arg" ]; then
@@ -237,7 +238,7 @@ fi
# Report errors for missing combinations of options
if [ -z "$MACHINE" -a -z "$KERNEL" -a -z "$VM" -a "$FSTYPE" != "wic" ]; then
- error "you must specify at least a MACHINE, VM, or KERNEL argument"
+ error "you must specify at least a MACHINE or KERNEL argument"
fi
if [ "$FSTYPE" = "nfs" -a -z "$ROOTFS" ]; then
error "NFS booting without an explicit ROOTFS path is not yet supported"
@@ -489,7 +490,7 @@ if [ "$LAZY_ROOTFS" = "true" ]; then
fi
fi
-if [ -z "$ROOTFS" -a "x$FSTYPE" != "xvmdk" -a "x$FSTYPE" != "xhddimg" -a "x$FSTYPE" != "xhdddirect" ]; then
+if [ -z "$ROOTFS" ]; then
setup_path_vars 1
T=$DEPLOY_DIR_IMAGE
eval rootfs_list=\$${machine2}_DEFAULT_ROOTFS
@@ -497,6 +498,8 @@ if [ -z "$ROOTFS" -a "x$FSTYPE" != "xvmdk" -a "x$FSTYPE" != "xhddimg" -a "x$FSTY
if [ -z "$ROOTFS" ]; then
error "Unable to determine default rootfs for MACHINE [$MACHINE]"
+ elif [ "x$FSTYPE" = "xvmdk" -o "x$FSTYPE" = "xhddimg" -o "x$FSTYPE" = "xhdddirect" ]; then
+ VM=$ROOTFS
fi
fi
# ROOTFS is now set for all cases, now expand it to be an absolute path, it should exist at this point
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index ebed2bd..9d5d6af 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -28,7 +28,6 @@
# ROOTFS - the disk image file to use
#
-
mem_size=-1
#Get rid of <> and get the contents of extra qemu running params
@@ -720,18 +719,31 @@ elif [ "$NUM_SERIAL_OPTS" = "1" ]; then
SCRIPT_QEMU_EXTRA_OPT="$SCRIPT_QEMU_EXTRA_OPT $SECOND_SERIAL_OPT"
fi
-
echo "Running $QEMU..."
# -no-reboot is a mandatory option - see bug #100
if [ "$FSTYPE" = "vmdk" -o "$FSTYPE" = "hddimg" -o "$FSTYPE" = "hdddirect" ]; then
- echo $QEMUBIN $VM $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT
- LD_PRELOAD="$GL_LD_PRELOAD" $QEMUBIN $VM $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT
+ # Check root=/dev/sdX or root=/dev/vdX
+ [ ! -e "$VM" ] && error "VM image is not found!"
+ if grep -q 'root=/dev/sd' $VM; then
+ echo "Using scsi drive"
+ VM_DRIVE="-drive if=none,id=hd,file=$VM -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd"
+ elif grep -q 'root=/dev/vd' $VM; then
+ echo "Using virtio block drive"
+ VM_DRIVE="-drive if=virtio,file=$VM"
+ else
+ VM_DRIVE=$VM
+ fi
+ QEMU_FIRE="$QEMUBIN $VM_DRIVE $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT"
+ echo $QEMU_FIRE
+ LD_PRELOAD="$GL_LD_PRELOAD" $QEMU_FIRE
elif [ "$FSTYPE" = "iso" -o "$FSTYPE" = "wic" ]; then
- echo $QEMUBIN $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT
- LD_PRELOAD="$GL_LD_PRELOAD" $QEMUBIN $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT
+ QEMU_FIRE="$QEMUBIN $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT"
+ echo $QEMU_FIRE
+ LD_PRELOAD="$GL_LD_PRELOAD" $QEMU_FIRE
else
- echo $QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SLIRP_CMD $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append '"'$KERNCMDLINE $SCRIPT_KERNEL_OPT'"'
- LD_PRELOAD="$GL_LD_PRELOAD" $QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append "$KERNCMDLINE $SCRIPT_KERNEL_OPT"
+ QEMU_FIRE="$QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SLIRP_CMD $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT"
+ echo $QEMU_FIRE -append '"'$KERNCMDLINE $SCRIPT_KERNEL_OPT'"'
+ LD_PRELOAD="$GL_LD_PRELOAD" $QEMU_FIRE -append "$KERNCMDLINE $SCRIPT_KERNEL_OPT"
fi
ret=$?
if [ "$SLIRP_ENABLED" != "yes" ]; then
--
1.7.9.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/7] runqemu: simplify the checking for vm images
2016-03-14 6:52 [PATCH 0/7] fixes for runqemu Robert Yang
2016-03-14 6:52 ` [PATCH 1/7] runqemu: fix ROOTFS for vmdk Robert Yang
@ 2016-03-14 6:52 ` Robert Yang
2016-03-14 6:52 ` [PATCH 3/7] runqemu: remove ISO and RAMFS from help text Robert Yang
` (5 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Robert Yang @ 2016-03-14 6:52 UTC (permalink / raw)
To: openembedded-core
* So that we can add more image support easliy.
* I think that wic should be vm images.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
scripts/runqemu | 34 +++++++++++++++++++++++-----------
scripts/runqemu-internal | 10 +++++-----
2 files changed, 28 insertions(+), 16 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index 771aa38..ed32bc2 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -75,6 +75,7 @@ KVM_ENABLED="no"
KVM_ACTIVE="no"
VHOST_ENABLED="no"
VHOST_ACTIVE="no"
+IS_VM="false"
# Determine whether the file is a kernel or QEMU image, and set the
# appropriate variables
@@ -89,7 +90,7 @@ process_filename() {
[ -z "$KERNEL" ] && KERNEL=$filename || \
error "conflicting KERNEL args [$KERNEL] and [$filename]"
;;
- /ext[234]/|/jffs2/|/btrfs/|/wic/)
+ /ext[234]/|/jffs2/|/btrfs/)
# A file ending in a supportted fs type is a rootfs image
if [ -z "$FSTYPE" -o "$FSTYPE" = "$EXT" ]; then
FSTYPE=$EXT
@@ -98,10 +99,11 @@ process_filename() {
error "conflicting FSTYPE types [$FSTYPE] and [$EXT]"
fi
;;
- /hddimg/|/hdddirect/|/vmdk/)
+ /hddimg/|/hdddirect/|/vmdk/|/wic/)
FSTYPE=$EXT
VM=$filename
ROOTFS=$filename
+ IS_VM="true"
;;
*)
error "unknown file arg [$filename]"
@@ -109,6 +111,13 @@ process_filename() {
esac
}
+check_fstype_conflicts() {
+ if [ -z "$FSTYPE" -o "$FSTYPE" = "$1" ]; then
+ FSTYPE=$1
+ else
+ error "conflicting FSTYPE types [$FSTYPE] and [$1]"
+ fi
+}
# Parse command line args without requiring specific ordering. It's a
# bit more complex, but offers a great user experience.
while true; do
@@ -119,9 +128,12 @@ while true; do
[ -z "$MACHINE" -o "$MACHINE" = "$arg" ] && MACHINE=$arg || \
error "conflicting MACHINE types [$MACHINE] and [$arg]"
;;
- "ext2" | "ext3" | "ext4" | "jffs2" | "nfs" | "btrfs" | "hddimg" | "hdddirect" | "wic" | "vmdk")
- [ -z "$FSTYPE" -o "$FSTYPE" = "$arg" ] && FSTYPE=$arg || \
- error "conflicting FSTYPE types [$FSTYPE] and [$arg]"
+ "ext"[234] | "jffs2" | "nfs" | "btrfs")
+ check_fstype_conflicts $arg
+ ;;
+ "hddimg" | "hdddirect" | "wic" | "vmdk")
+ check_fstype_conflicts $arg
+ IS_VM="true"
;;
"ramfs")
FSTYPE=cpio.gz
@@ -245,7 +257,7 @@ if [ "$FSTYPE" = "nfs" -a -z "$ROOTFS" ]; then
fi
if [ -z "$MACHINE" ]; then
- if [ "x$FSTYPE" = "xvmdk" ] || [ "x$FSTYPE" = "xhddimg" ] || [ "x$FSTYPE" = "xhdddirect" ] || [ "x$FSTYPE" = "xwic" ]; then
+ if [ "$IS_VM" = "true" ]; then
[ "x$FSTYPE" = "xwic" ] && filename=$ROOTFS || filename=$VM
MACHINE=`basename $filename | sed -n 's/.*\(qemux86-64\|qemux86\|qemuarm64\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`
if [ -z "$MACHINE" ]; then
@@ -457,7 +469,7 @@ if [ -e "$ROOTFS" -a -z "$FSTYPE" ]; then
fi
fi
-if [ -z "$KERNEL" -a "x$FSTYPE" != "xvmdk" -a "x$FSTYPE" != "xhddimg" -a "x$FSTYPE" != "xhdddirect" -a "x$FSTYPE" != "xwic" ]; then
+if [ -z "$KERNEL" -a "$IS_VM" = "false" ]; then \
setup_path_vars 1
eval kernel_file=\$${machine2}_DEFAULT_KERNEL
KERNEL=$DEPLOY_DIR_IMAGE/$kernel_file
@@ -483,7 +495,7 @@ fi
if [ "$LAZY_ROOTFS" = "true" ]; then
setup_path_vars 1
echo "Assuming $ROOTFS really means $DEPLOY_DIR_IMAGE/$ROOTFS-$MACHINE.$FSTYPE"
- if [ "$FSTYPE" = "hddimg" -o "x$FSTYPE" = "xhdddirect" ]; then
+ if [ "$IS_VM" = "true" ]; then
VM=$DEPLOY_DIR_IMAGE/$ROOTFS-$MACHINE.$FSTYPE
else
ROOTFS=$DEPLOY_DIR_IMAGE/$ROOTFS-$MACHINE.$FSTYPE
@@ -498,7 +510,7 @@ if [ -z "$ROOTFS" ]; then
if [ -z "$ROOTFS" ]; then
error "Unable to determine default rootfs for MACHINE [$MACHINE]"
- elif [ "x$FSTYPE" = "xvmdk" -o "x$FSTYPE" = "xhddimg" -o "x$FSTYPE" = "xhdddirect" ]; then
+ elif [ "$IS_VM" = "true" ]; then
VM=$ROOTFS
fi
fi
@@ -508,11 +520,11 @@ ROOTFS=`readlink -f $ROOTFS`
echo ""
echo "Continuing with the following parameters:"
-if [ "x$FSTYPE" != "xvmdk" -a "x$FSTYPE" != "xhddimg" -a "x$FSTYPE" != "xhdddirect" ]; then
+if [ "$IS_VM" = "false" ]; then
echo "KERNEL: [$KERNEL]"
echo "ROOTFS: [$ROOTFS]"
else
- echo "VMDK: [$VM]"
+ echo "VM: [$VM]"
fi
echo "FSTYPE: [$FSTYPE]"
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index 9d5d6af..b7d80b2 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -300,13 +300,13 @@ case "$MACHINE" in
;;
esac
-if [ ! -f "$KERNEL" -a "x$FSTYPE" != "xvmdk" -a "x$FSTYPE" != "xhddimg" -a "x$FSTYPE" != "xhdddirect" -a "x$FSTYPE" != "xwic" ]; then
+if [ ! -f "$KERNEL" -a "$IS_VM" = "false" ]; then
echo "Error: Kernel image file $KERNEL doesn't exist"
cleanup
return 1
fi
-if [ "$FSTYPE" != "nfs" -a "$FSTYPE" != "vmdk" -a "$FSTYPE" != "hddimg" -a "$FSTYPE" != "hdddirect" -a ! -f "$ROOTFS" ]; then
+if [ "$FSTYPE" != "nfs" -a "$IS_VM" = "false" -a ! -f "$ROOTFS" ]; then
echo "Error: Image file $ROOTFS doesn't exist"
cleanup
return 1
@@ -428,7 +428,7 @@ if [ "$MACHINE" = "qemux86" ]; then
KERNCMDLINE="root=/dev/nfs nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
QEMUOPTIONS="$QEMU_NETWORK_CMD $QEMU_UI_OPTIONS"
fi
- if [ "$FSTYPE" = "vmdk" -o "$FSTYPE" = "hddimg" -o "$FSTYPE" = "hdddirect" ]; then
+ if [ "$IS_VM" = "true" ]; then
QEMUOPTIONS="$QEMU_NETWORK_CMD $QEMU_UI_OPTIONS"
fi
# Currently oprofile's event based interrupt mode doesn't work(Bug #828) in
@@ -464,7 +464,7 @@ if [ "$MACHINE" = "qemux86-64" ]; then
KERNCMDLINE="root=/dev/nfs nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
QEMUOPTIONS="$QEMU_NETWORK_CMD -cpu $CPU_SUBTYPE $QEMU_UI_OPTIONS"
fi
- if [ "$FSTYPE" = "vmdk" -o "$FSTYPE" = "hddimg" -o "$FSTYPE" = "hdddirect" ]; then
+ if [ "$IS_VM" = "true" ]; then
QEMUOPTIONS="$QEMU_NETWORK_CMD -cpu $CPU_SUBTYPE $QEMU_UI_OPTIONS"
fi
# Currently oprofile's event based interrupt mode doesn't work(Bug #828) in
@@ -721,7 +721,7 @@ fi
echo "Running $QEMU..."
# -no-reboot is a mandatory option - see bug #100
-if [ "$FSTYPE" = "vmdk" -o "$FSTYPE" = "hddimg" -o "$FSTYPE" = "hdddirect" ]; then
+if [ "$IS_VM" = "true" ]; then
# Check root=/dev/sdX or root=/dev/vdX
[ ! -e "$VM" ] && error "VM image is not found!"
if grep -q 'root=/dev/sd' $VM; then
--
1.7.9.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/7] runqemu: remove ISO and RAMFS from help text
2016-03-14 6:52 [PATCH 0/7] fixes for runqemu Robert Yang
2016-03-14 6:52 ` [PATCH 1/7] runqemu: fix ROOTFS for vmdk Robert Yang
2016-03-14 6:52 ` [PATCH 2/7] runqemu: simplify the checking for vm images Robert Yang
@ 2016-03-14 6:52 ` Robert Yang
2016-03-14 6:52 ` [PATCH 4/7] runqemu: add support for qcow2 and vdi Robert Yang
` (4 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Robert Yang @ 2016-03-14 6:52 UTC (permalink / raw)
To: openembedded-core
They don't work, and the script can check the type correctly.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
scripts/runqemu | 2 --
1 file changed, 2 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index ed32bc2..058ee29 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -26,8 +26,6 @@ of the following environment variables (in any order):
KERNEL - the kernel image file to use
ROOTFS - the rootfs image file or nfsroot directory to use
MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)
- RAMFS - boot a ramfs-based image
- ISO - boot an ISO image
Simplified QEMU command-line options can be passed with:
nographic - disables video console
serial - enables a serial console on /dev/ttyS0
--
1.7.9.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 4/7] runqemu: add support for qcow2 and vdi
2016-03-14 6:52 [PATCH 0/7] fixes for runqemu Robert Yang
` (2 preceding siblings ...)
2016-03-14 6:52 ` [PATCH 3/7] runqemu: remove ISO and RAMFS from help text Robert Yang
@ 2016-03-14 6:52 ` Robert Yang
2016-03-14 6:52 ` [PATCH 5/7] runqemu: simplify checking for iso and ramfs Robert Yang
` (3 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Robert Yang @ 2016-03-14 6:52 UTC (permalink / raw)
To: openembedded-core
[YOCTO #9168]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
scripts/runqemu | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index 058ee29..d95711b 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -40,8 +40,7 @@ Examples:
$MYNAME qemux86-64 core-image-sato ext4
$MYNAME qemux86-64 wic-image-minimal wic
$MYNAME path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial
- $MYNAME qemux86 ramfs
- $MYNAME qemux86 iso
+ $MYNAME qemux86 iso/hddimg/vmdk/qcow2/vdi/ramfs...
$MYNAME qemux86 qemuparams="-m 256"
$MYNAME qemux86 bootparams="psplash=false"
$MYNAME path/to/<image>-<machine>.vmdk
@@ -97,7 +96,7 @@ process_filename() {
error "conflicting FSTYPE types [$FSTYPE] and [$EXT]"
fi
;;
- /hddimg/|/hdddirect/|/vmdk/|/wic/)
+ /hddimg/|/hdddirect/|/vmdk/|/wic/|/qcow2/|/vdi/)
FSTYPE=$EXT
VM=$filename
ROOTFS=$filename
@@ -129,7 +128,7 @@ while true; do
"ext"[234] | "jffs2" | "nfs" | "btrfs")
check_fstype_conflicts $arg
;;
- "hddimg" | "hdddirect" | "wic" | "vmdk")
+ "hddimg" | "hdddirect" | "wic" | "vmdk" | "qcow2" | "vdi")
check_fstype_conflicts $arg
IS_VM="true"
;;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 5/7] runqemu: simplify checking for iso and ramfs
2016-03-14 6:52 [PATCH 0/7] fixes for runqemu Robert Yang
` (3 preceding siblings ...)
2016-03-14 6:52 ` [PATCH 4/7] runqemu: add support for qcow2 and vdi Robert Yang
@ 2016-03-14 6:52 ` Robert Yang
2016-03-14 6:52 ` [PATCH 6/7] runqemu-internal: cleanup unsed code Robert Yang
` (2 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Robert Yang @ 2016-03-14 6:52 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
scripts/runqemu | 7 +------
scripts/runqemu-internal | 4 ++--
2 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index d95711b..b4cc9de 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -125,7 +125,7 @@ while true; do
[ -z "$MACHINE" -o "$MACHINE" = "$arg" ] && MACHINE=$arg || \
error "conflicting MACHINE types [$MACHINE] and [$arg]"
;;
- "ext"[234] | "jffs2" | "nfs" | "btrfs")
+ "ext"[234] | "jffs2" | "nfs" | "btrfs" | "iso")
check_fstype_conflicts $arg
;;
"hddimg" | "hdddirect" | "wic" | "vmdk" | "qcow2" | "vdi")
@@ -134,12 +134,7 @@ while true; do
;;
"ramfs")
FSTYPE=cpio.gz
- RAMFS=true
;;
- "iso")
- FSTYPE=iso
- ISOFS=true
- ;;
"nographic")
SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -nographic"
SCRIPT_KERNEL_OPT="$SCRIPT_KERNEL_OPT console=ttyS0"
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index b7d80b2..d591c09 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -593,12 +593,12 @@ if [ "$MACHINE" = "qemuzynq" ]; then
fi
fi
-if [ "x$RAMFS" = "xtrue" ]; then
+if [ "$FSTYPE" = "cpio.gz" ]; then
QEMUOPTIONS="-initrd $ROOTFS -nographic"
KERNCMDLINE="root=/dev/ram0 console=ttyS0 debugshell"
fi
-if [ "x$ISOFS" = "xtrue" ]; then
+if [ "$FSTYPE" = "iso" ]; then
QEMUOPTIONS="$QEMU_NETWORK_CMD -cdrom $ROOTFS $QEMU_UI_OPTIONS"
fi
--
1.7.9.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 6/7] runqemu-internal: cleanup unsed code
2016-03-14 6:52 [PATCH 0/7] fixes for runqemu Robert Yang
` (4 preceding siblings ...)
2016-03-14 6:52 ` [PATCH 5/7] runqemu: simplify checking for iso and ramfs Robert Yang
@ 2016-03-14 6:52 ` Robert Yang
2016-03-14 6:52 ` [PATCH 7/7] runqemu-internal: split the code into functions Robert Yang
2016-03-20 22:40 ` [PATCH 0/7] fixes for runqemu Richard Purdie
7 siblings, 0 replies; 11+ messages in thread
From: Robert Yang @ 2016-03-14 6:52 UTC (permalink / raw)
To: openembedded-core
* remove akita and spitz related code
They are not supported by runqemu anymore:
$ runqemu spitz
Error: unable to classify arg [spitz]
So remove related code.
* Remove checking of 256M for qemuarm, qemu can check it, for example:
$ runqemu qemuarm qemuparams="-m 1024"
[snip]
qemu: Too much memory for this machine: 1024 MB, maximum 256 MB
[snip]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
scripts/runqemu | 6 ------
scripts/runqemu-internal | 41 +----------------------------------------
2 files changed, 1 insertion(+), 46 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index b4cc9de..ab7c4f3 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -350,12 +350,6 @@ QEMUMICROBLAZE_DEFAULT_FSTYPE=cpio
QEMUZYNQ_DEFAULT_KERNEL=uImage
QEMUZYNQ_DEFAULT_FSTYPE=cpio
-AKITA_DEFAULT_KERNEL=zImage-akita.bin
-AKITA_DEFAULT_FSTYPE=jffs2
-
-SPITZ_DEFAULT_KERNEL=zImage-spitz.bin
-SPITZ_DEFAULT_FSTYPE=ext3
-
setup_path_vars() {
if [ -z "$OE_TMPDIR" ] ; then
PATHS_REQUIRED=true
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index d591c09..e042161 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -77,23 +77,12 @@ fi
# QEMU_MEMORY has 'M' appended to mem_size
QEMU_MEMORY="$mem_size"M
-# Bug 433: qemuarm cannot use > 256 MB RAM
-if [ "$MACHINE" = "qemuarm" ]; then
- if [ -z "$mem_size" -o $mem_size -gt 256 ]; then
- echo "WARNING: qemuarm does not support > 256M of RAM."
- echo "Changing QEMU_MEMORY to default of 256M."
- QEMU_MEMORY="256M"
- mem_size="256"
- SCRIPT_QEMU_EXTRA_OPT=`echo $SCRIPT_QEMU_EXTRA_OPT | sed -e "s/$mem_set/-m 256/" `
- fi
-fi
-
# We need to specify -m <mem_size> to overcome a bug in qemu 0.14.0
# https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/584480
-
if [ -z "$mem_set" ] ; then
SCRIPT_QEMU_EXTRA_OPT="$SCRIPT_QEMU_EXTRA_OPT -m $mem_size"
fi
+
# This file is created when runqemu-gen-tapdevs creates a bank of tap
# devices, indicating that the user should not bring up new ones using
# sudo.
@@ -292,8 +281,6 @@ case "$MACHINE" in
"qemux86") ;;
"qemux86-64") ;;
"qemuzynq") ;;
- "akita") ;;
- "spitz") ;;
*)
echo "Error: Unsupported machine type $MACHINE"
return 1
@@ -472,20 +459,6 @@ if [ "$MACHINE" = "qemux86-64" ]; then
KERNCMDLINE="$KERNCMDLINE oprofile.timer=1"
fi
-if [ "$MACHINE" = "spitz" ]; then
- QEMU=qemu-system-arm
- if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
- echo $ROOTFS
- ROOTFS=`readlink -f $ROOTFS`
- echo $ROOTFS
- if [ ! -e "$ROOTFS.qemudisk" ]; then
- echo "Adding a partition table to the ext3 image for use by QEMU, please wait..."
- runqemu-addptable2image $ROOTFS $ROOTFS.qemudisk
- fi
- QEMUOPTIONS="$QEMU_NETWORK_CMD -M spitz -hda $ROOTFS.qemudisk -portrait"
- fi
-fi
-
if [ "$MACHINE" = "qemumips" -o "$MACHINE" = "qemumipsel" -o "$MACHINE" = "qemumips64" ]; then
case "$MACHINE" in
qemumips) QEMU=qemu-system-mips ;;
@@ -561,18 +534,6 @@ if [ "${FSTYPE:0:3}" = "ext" ]; then
KERNCMDLINE="$KERNCMDLINE rootfstype=$FSTYPE"
fi
-if [ "$MACHINE" = "akita" ]; then
- QEMU=qemu-system-arm
- if [ "$FSTYPE" = "jffs2" ]; then
- ROOTFS=`readlink -f $ROOTFS`
- if [ ! -e "$ROOTFS.qemuflash" ]; then
- echo "Converting raw image into flash image format for use by QEMU, please wait..."
- raw2flash.akita < $ROOTFS > $ROOTFS.qemuflash
- fi
- QEMUOPTIONS="$QEMU_NETWORK_CMD -M akita -mtdblock $ROOTFS.qemuflash -portrait"
- fi
-fi
-
if [ "$MACHINE" = "qemumicroblaze" ]; then
QEMU=qemu-system-microblazeel
QEMU_SYSTEM_OPTIONS="$QEMU_NETWORK_CMD -M petalogix-ml605 -serial mon:stdio"
--
1.7.9.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 7/7] runqemu-internal: split the code into functions
2016-03-14 6:52 [PATCH 0/7] fixes for runqemu Robert Yang
` (5 preceding siblings ...)
2016-03-14 6:52 ` [PATCH 6/7] runqemu-internal: cleanup unsed code Robert Yang
@ 2016-03-14 6:52 ` Robert Yang
2016-03-20 22:40 ` [PATCH 0/7] fixes for runqemu Richard Purdie
7 siblings, 0 replies; 11+ messages in thread
From: Robert Yang @ 2016-03-14 6:52 UTC (permalink / raw)
To: openembedded-core
Use config_<machine> to split the code into separate functions, so that
different machines won't affect each other, and they will have a better
structure.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
scripts/runqemu-internal | 180 +++++++++++++++++++++++-----------------------
1 file changed, 89 insertions(+), 91 deletions(-)
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index e042161..72221ed 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -38,49 +38,6 @@ mem_set=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-m[[:space:]] *[0-9]*\)'`
if [ ! -z "$mem_set" ] ; then
#Get memory setting size from user input
mem_size=`echo $mem_set | sed 's/-m[[:space:]] *//'`
-else
- case "$MACHINE" in
- "qemux86")
- mem_size=256
- ;;
- "qemux86-64")
- mem_size=256
- ;;
- "qemuarm")
- mem_size=128
- ;;
- "qemuarm64")
- mem_size=512
- ;;
- "qemumicroblaze")
- mem_size=256
- ;;
- "qemumips"|"qemumips64")
- mem_size=256
- ;;
- "qemuppc")
- mem_size=256
- ;;
- "qemush4")
- mem_size=1024
- ;;
- "qemuzynq")
- mem_size=1024
- ;;
- *)
- mem_size=64
- ;;
- esac
-
-fi
-
-# QEMU_MEMORY has 'M' appended to mem_size
-QEMU_MEMORY="$mem_size"M
-
-# We need to specify -m <mem_size> to overcome a bug in qemu 0.14.0
-# https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/584480
-if [ -z "$mem_set" ] ; then
- SCRIPT_QEMU_EXTRA_OPT="$SCRIPT_QEMU_EXTRA_OPT -m $mem_size"
fi
# This file is created when runqemu-gen-tapdevs creates a bank of tap
@@ -267,26 +224,6 @@ else
fi
fi
-case "$MACHINE" in
- "qemuarm") ;;
- "qemuarm64") ;;
- "qemumicroblaze") ;;
- "qemumips") ;;
- "qemumipsel") ;;
- "qemumips64") ;;
- "qemush4") ;;
- "qemuppc") ;;
- "qemuarmv6") ;;
- "qemuarmv7") ;;
- "qemux86") ;;
- "qemux86-64") ;;
- "qemuzynq") ;;
- *)
- echo "Error: Unsupported machine type $MACHINE"
- return 1
- ;;
-esac
-
if [ ! -f "$KERNEL" -a "$IS_VM" = "false" ]; then
echo "Error: Kernel image file $KERNEL doesn't exist"
cleanup
@@ -329,12 +266,25 @@ if [ "$FSTYPE" = "nfs" ]; then
NFSRUNNING="true"
fi
-if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" -o "$MACHINE" = "qemuarmv7" ]; then
+
+set_mem_size() {
+ if [ ! -z "$mem_set" ] ; then
+ #Get memory setting size from user input
+ mem_size=`echo $mem_set | sed 's/-m[[:space:]] *//'`
+ else
+ mem_size=$1
+ fi
+ # QEMU_MEMORY has 'M' appended to mem_size
+ QEMU_MEMORY="$mem_size"M
+
+}
+
+config_qemuarm() {
+ set_mem_size 128
QEMU=qemu-system-arm
MACHINE_SUBTYPE=versatilepb
export QEMU_AUDIO_DRV="none"
QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
- # QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -force-pointer"
if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" -o "$FSTYPE" = "wic" ]; then
KERNCMDLINE="root=$DROOT rw console=ttyAMA0,115200 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY highres=off"
QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} $ROOTFS_OPTIONS -no-reboot $QEMU_UI_OPTIONS"
@@ -354,9 +304,10 @@ if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" -o "$MACHINE" = "qemuarm
if [ "$MACHINE" = "qemuarmv7" ]; then
QEMUOPTIONS="$QEMUOPTIONS -cpu cortex-a8"
fi
-fi
+}
-if [ "$MACHINE" = "qemuarm64" ]; then
+config_qemuarm64() {
+ set_mem_size 512
QEMU=qemu-system-aarch64
QEMU_NETWORK_CMD="-netdev tap,id=net0,ifname=$TAP,script=no,downscript=no -device virtio-net-device,netdev=net0 "
@@ -383,9 +334,10 @@ if [ "$MACHINE" = "qemuarm64" ]; then
KERNCMDLINE="root=/dev/nfs nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw console=ttyAMA0,38400 mem=$QEMU_MEMORY highres=off $KERNEL_NETWORK_CMD"
QEMUOPTIONS="$QEMU_NETWORK_CMD -machine virt -cpu cortex-a57 $QEMU_UI_OPTIONS"
fi
-fi
+}
-if [ "$MACHINE" = "qemux86" ]; then
+config_qemux86() {
+ set_mem_size 256
QEMU=qemu-system-i386
if [ "$KVM_ACTIVE" = "yes" ]; then
CPU_SUBTYPE=kvm32
@@ -421,9 +373,10 @@ if [ "$MACHINE" = "qemux86" ]; then
# Currently oprofile's event based interrupt mode doesn't work(Bug #828) in
# qemux86 and qemux86-64. We can use timer interrupt mode for now.
KERNCMDLINE="$KERNCMDLINE oprofile.timer=1"
-fi
+}
-if [ "$MACHINE" = "qemux86-64" ]; then
+config_qemux86_64() {
+ set_mem_size 256
QEMU=qemu-system-x86_64
if [ "$KVM_ACTIVE" = "yes" ]; then
CPU_SUBTYPE=kvm64
@@ -457,9 +410,10 @@ if [ "$MACHINE" = "qemux86-64" ]; then
# Currently oprofile's event based interrupt mode doesn't work(Bug #828) in
# qemux86 and qemux86-64. We can use timer interrupt mode for now.
KERNCMDLINE="$KERNCMDLINE oprofile.timer=1"
-fi
+}
-if [ "$MACHINE" = "qemumips" -o "$MACHINE" = "qemumipsel" -o "$MACHINE" = "qemumips64" ]; then
+config_qemumips() {
+ set_mem_size 256
case "$MACHINE" in
qemumips) QEMU=qemu-system-mips ;;
qemumipsel) QEMU=qemu-system-mipsel ;;
@@ -481,9 +435,10 @@ if [ "$MACHINE" = "qemumips" -o "$MACHINE" = "qemumipsel" -o "$MACHINE" = "qemum
KERNCMDLINE="root=/dev/nfs console=ttyS0 console=tty nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
QEMUOPTIONS="$QEMU_NETWORK_CMD -M $MACHINE_SUBTYPE -no-reboot $QEMU_UI_OPTIONS"
fi
-fi
+}
-if [ "$MACHINE" = "qemuppc" ]; then
+config_qemuppc() {
+ set_mem_size 256
QEMU=qemu-system-ppc
MACHINE_SUBTYPE=mac99
CPU_SUBTYPE=G4
@@ -506,9 +461,10 @@ if [ "$MACHINE" = "qemuppc" ]; then
KERNCMDLINE="root=/dev/nfs console=ttyS0 console=tty nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
QEMUOPTIONS="$QEMU_NETWORK_CMD -cpu $CPU_SUBTYPE -M $MACHINE_SUBTYPE -no-reboot $QEMU_UI_OPTIONS"
fi
-fi
+}
-if [ "$MACHINE" = "qemush4" ]; then
+config_qemush4() {
+ set_mem_size 1024
QEMU=qemu-system-sh4
MACHINE_SUBTYPE=r2d
QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
@@ -528,30 +484,72 @@ if [ "$MACHINE" = "qemush4" ]; then
QEMUOPTIONS="$QEMU_NETWORK_CMD -M $MACHINE_SUBTYPE -no-reboot $QEMU_UI_OPTIONS -monitor null -serial vc -serial stdio"
SERIALSTDIO="1"
fi
-fi
-
-if [ "${FSTYPE:0:3}" = "ext" ]; then
- KERNCMDLINE="$KERNCMDLINE rootfstype=$FSTYPE"
-fi
+}
-if [ "$MACHINE" = "qemumicroblaze" ]; then
- QEMU=qemu-system-microblazeel
- QEMU_SYSTEM_OPTIONS="$QEMU_NETWORK_CMD -M petalogix-ml605 -serial mon:stdio"
+config_qemuzynq() {
+ set_mem_size 1024
+ QEMU=qemu-system-arm
+ QEMU_SYSTEM_OPTIONS="$QEMU_NETWORK_CMD -M xilinx-zynq-a9 -serial null -serial mon:stdio -dtb $KERNEL-$MACHINE.dtb"
+ # zynq serial ports are named 'ttyPS0' and 'ttyPS1', fixup the default values
+ SCRIPT_KERNEL_OPT=$(echo "$SCRIPT_KERNEL_OPT" | sed 's/console=ttyS/console=ttyPS/g')
if [ "${FSTYPE:0:3}" = "ext" -o "${FSTYPE:0:4}" = "cpio" ]; then
KERNCMDLINE="earlyprintk root=/dev/ram rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
QEMUOPTIONS="$QEMU_SYSTEM_OPTIONS -initrd $ROOTFS"
fi
-fi
+}
-if [ "$MACHINE" = "qemuzynq" ]; then
- QEMU=qemu-system-arm
- QEMU_SYSTEM_OPTIONS="$QEMU_NETWORK_CMD -M xilinx-zynq-a9 -serial null -serial mon:stdio -dtb $KERNEL-$MACHINE.dtb"
- # zynq serial ports are named 'ttyPS0' and 'ttyPS1', fixup the default values
- SCRIPT_KERNEL_OPT=$(echo "$SCRIPT_KERNEL_OPT" | sed 's/console=ttyS/console=ttyPS/g')
+config_qemumicroblaze() {
+ set_mem_size 256
+ QEMU=qemu-system-microblazeel
+ QEMU_SYSTEM_OPTIONS="$QEMU_NETWORK_CMD -M petalogix-ml605 -serial mon:stdio"
if [ "${FSTYPE:0:3}" = "ext" -o "${FSTYPE:0:4}" = "cpio" ]; then
KERNCMDLINE="earlyprintk root=/dev/ram rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
QEMUOPTIONS="$QEMU_SYSTEM_OPTIONS -initrd $ROOTFS"
fi
+}
+
+case "$MACHINE" in
+ "qemuarm" | "qemuarmv6" | "qemuarmv7")
+ config_qemuarm
+ ;;
+ "qemuarm64")
+ config_qemuarm64
+ ;;
+ "qemux86")
+ config_qemux86
+ ;;
+ "qemux86-64")
+ config_qemux86_64
+ ;;
+ "qemumips" | "qemumipsel" | "qemumips64")
+ config_qemumips
+ ;;
+ "qemuppc")
+ config_qemuppc
+ ;;
+ "qemush4")
+ config_qemush4
+ ;;
+ "qemuzynq")
+ config_qemuzynq
+ ;;
+ "qemumicroblaze")
+ config_qemumicroblaze
+ ;;
+ *)
+ echo "Error: Unsupported machine type $MACHINE"
+ return 1
+ ;;
+esac
+
+# We need to specify -m <mem_size> to overcome a bug in qemu 0.14.0
+# https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/584480
+if [ -z "$mem_set" ] ; then
+ SCRIPT_QEMU_EXTRA_OPT="$SCRIPT_QEMU_EXTRA_OPT -m $mem_size"
+fi
+
+if [ "${FSTYPE:0:3}" = "ext" ]; then
+ KERNCMDLINE="$KERNCMDLINE rootfstype=$FSTYPE"
fi
if [ "$FSTYPE" = "cpio.gz" ]; then
--
1.7.9.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 0/7] fixes for runqemu
2016-03-14 6:52 [PATCH 0/7] fixes for runqemu Robert Yang
` (6 preceding siblings ...)
2016-03-14 6:52 ` [PATCH 7/7] runqemu-internal: split the code into functions Robert Yang
@ 2016-03-20 22:40 ` Richard Purdie
2016-03-21 1:53 ` Robert Yang
7 siblings, 1 reply; 11+ messages in thread
From: Richard Purdie @ 2016-03-20 22:40 UTC (permalink / raw)
To: Robert Yang, openembedded-core
On Sun, 2016-03-13 at 23:52 -0700, Robert Yang wrote:
> The following changes since commit
> 9d5fa6da5ae14b26a83ec1af609d4c45944bfd44:
>
> cross-canadian/libgcc: fix aarch64's multilib SDK (2016-03-13
> 19:36:57 -0700)
>
> are available in the git repository at:
>
> git://git.openembedded.org/openembedded-core-contrib rbt/runqemu
> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log
> /?h=rbt/runqemu
>
> Robert Yang (7):
> runqemu: fix ROOTFS for vmdk
> runqemu: simplify the checking for vm images
> runqemu: remove ISO and RAMFS from help text
> runqemu: add support for qcow2 and vdi
> runqemu: simplify checking for iso and ramfs
> runqemu-internal: cleanup unsed code
> runqemu-internal: split the code into functions
I have a feeling one of these causes:
https://autobuilder.yoctoproject.org/main/builders/nightly-oe-selftest/
builds/426/steps/Running%20oe-selftest/logs/stdio
(the test_qemu (oeqa.selftest.wic.Wic) failure)
Cheers,
Richard
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/7] fixes for runqemu
2016-03-20 22:40 ` [PATCH 0/7] fixes for runqemu Richard Purdie
@ 2016-03-21 1:53 ` Robert Yang
2016-03-21 9:58 ` V2 " Robert Yang
0 siblings, 1 reply; 11+ messages in thread
From: Robert Yang @ 2016-03-21 1:53 UTC (permalink / raw)
To: Richard Purdie, openembedded-core
On 03/21/2016 06:40 AM, Richard Purdie wrote:
> On Sun, 2016-03-13 at 23:52 -0700, Robert Yang wrote:
>> The following changes since commit
>> 9d5fa6da5ae14b26a83ec1af609d4c45944bfd44:
>>
>> cross-canadian/libgcc: fix aarch64's multilib SDK (2016-03-13
>> 19:36:57 -0700)
>>
>> are available in the git repository at:
>>
>> git://git.openembedded.org/openembedded-core-contrib rbt/runqemu
>> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log
>> /?h=rbt/runqemu
>>
>> Robert Yang (7):
>> runqemu: fix ROOTFS for vmdk
>> runqemu: simplify the checking for vm images
>> runqemu: remove ISO and RAMFS from help text
>> runqemu: add support for qcow2 and vdi
>> runqemu: simplify checking for iso and ramfs
>> runqemu-internal: cleanup unsed code
>> runqemu-internal: split the code into functions
>
> I have a feeling one of these causes:
>
> https://autobuilder.yoctoproject.org/main/builders/nightly-oe-selftest/
> builds/426/steps/Running%20oe-selftest/logs/stdio
>
> (the test_qemu (oeqa.selftest.wic.Wic) failure)
Sorry, I will fix it.
// Robert
>
> Cheers,
>
> Richard
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* V2 Re: [PATCH 0/7] fixes for runqemu
2016-03-21 1:53 ` Robert Yang
@ 2016-03-21 9:58 ` Robert Yang
0 siblings, 0 replies; 11+ messages in thread
From: Robert Yang @ 2016-03-21 9:58 UTC (permalink / raw)
To: Richard Purdie, openembedded-core
On 03/21/2016 09:53 AM, Robert Yang wrote:
>
>
> On 03/21/2016 06:40 AM, Richard Purdie wrote:
>> On Sun, 2016-03-13 at 23:52 -0700, Robert Yang wrote:
>>> The following changes since commit
>>> 9d5fa6da5ae14b26a83ec1af609d4c45944bfd44:
>>>
>>> cross-canadian/libgcc: fix aarch64's multilib SDK (2016-03-13
>>> 19:36:57 -0700)
>>>
>>> are available in the git repository at:
>>>
>>> git://git.openembedded.org/openembedded-core-contrib rbt/runqemu
>>> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log
>>> /?h=rbt/runqemu
>>>
>>> Robert Yang (7):
>>> runqemu: fix ROOTFS for vmdk
>>> runqemu: simplify the checking for vm images
>>> runqemu: remove ISO and RAMFS from help text
>>> runqemu: add support for qcow2 and vdi
>>> runqemu: simplify checking for iso and ramfs
>>> runqemu-internal: cleanup unsed code
>>> runqemu-internal: split the code into functions
>>
>> I have a feeling one of these causes:
>>
>> https://autobuilder.yoctoproject.org/main/builders/nightly-oe-selftest/
>> builds/426/steps/Running%20oe-selftest/logs/stdio
>>
>> (the test_qemu (oeqa.selftest.wic.Wic) failure)
>
> Sorry, I will fix it.
I updated the patches in the repo, now:
$ oe-selftest -r wic.Wic.test_qemu
and
$ oe-selftest -r wic.Wic.test_qemux86_directdisk
Work well.
* Changes of V2:
- Update "runqemu: fix ROOTFS for vmdk", check for ide/scsi drive, if not
found, then use virtio block drive.
git://git.openembedded.org/openembedded-core-contrib rbt/runqemu
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/rpm
Robert Yang (7):
runqemu: fix ROOTFS for vmdk
runqemu: simplify the checking for vm images
runqemu: remove ISO and RAMFS from help text
runqemu: add support for qcow2 and vdi
runqemu: simplify checking for iso and ramfs
runqemu-internal: cleanup unsed code
runqemu-internal: split the code into functions
// Robert
>
> // Robert
>
>>
>> Cheers,
>>
>> Richard
>>
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2016-03-21 9:58 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-14 6:52 [PATCH 0/7] fixes for runqemu Robert Yang
2016-03-14 6:52 ` [PATCH 1/7] runqemu: fix ROOTFS for vmdk Robert Yang
2016-03-14 6:52 ` [PATCH 2/7] runqemu: simplify the checking for vm images Robert Yang
2016-03-14 6:52 ` [PATCH 3/7] runqemu: remove ISO and RAMFS from help text Robert Yang
2016-03-14 6:52 ` [PATCH 4/7] runqemu: add support for qcow2 and vdi Robert Yang
2016-03-14 6:52 ` [PATCH 5/7] runqemu: simplify checking for iso and ramfs Robert Yang
2016-03-14 6:52 ` [PATCH 6/7] runqemu-internal: cleanup unsed code Robert Yang
2016-03-14 6:52 ` [PATCH 7/7] runqemu-internal: split the code into functions Robert Yang
2016-03-20 22:40 ` [PATCH 0/7] fixes for runqemu Richard Purdie
2016-03-21 1:53 ` Robert Yang
2016-03-21 9:58 ` V2 " Robert Yang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox