diff options
author | Liping Ke <liping.ke@intel.com> | 2010-12-16 01:45:30 +0800 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-12-16 15:53:09 +0000 |
commit | ae4f5c942ef0561335313d676ff8defc0f0bdbbc (patch) | |
tree | 336f09c5dd7cd7c1ed76f79247750509fd3fbb69 | |
parent | fded7535b7ebca161f63443815026ee7aa6c2fa5 (diff) | |
download | openembedded-core-ae4f5c942ef0561335313d676ff8defc0f0bdbbc.tar.gz openembedded-core-ae4f5c942ef0561335313d676ff8defc0f0bdbbc.tar.bz2 openembedded-core-ae4f5c942ef0561335313d676ff8defc0f0bdbbc.tar.xz openembedded-core-ae4f5c942ef0561335313d676ff8defc0f0bdbbc.zip |
Add extra parameters options for poky-qemu scripts
In order to support qemu user's flexibility requirement, we add extra
parameter options, user can add extra params such as "<-m 256>"
in poky-qemu script command.
Signed-off-by: Liping ke <liping.ke@intel.com>
-rwxr-xr-x | scripts/poky-qemu | 14 | ||||
-rwxr-xr-x | scripts/poky-qemu-internal | 22 |
2 files changed, 34 insertions, 2 deletions
diff --git a/scripts/poky-qemu b/scripts/poky-qemu index 04349879c..313248ff4 100755 --- a/scripts/poky-qemu +++ b/scripts/poky-qemu @@ -29,11 +29,14 @@ usage() { echo " Additional 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" + echo " \"<extra-qemu-options>\" - enables extra qemu options, excluding serial and kvm" echo "" echo "Examples:" echo " $MYNAME qemuarm" echo " $MYNAME qemux86-64 poky-image-sato ext3" echo " $MYNAME path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial" + echo " $MYNAME qemux86 \"<-m 256>\"" exit 1 } @@ -47,6 +50,7 @@ FSTYPE="" ROOTFS="" LAZY_ROOTFS="" SCRIPT_QEMU_OPT="" +SCRIPT_QEMU_EXTRA_OPT="" SCRIPT_KERNEL_OPT="" TMPDIR="" @@ -129,6 +133,16 @@ while [ $i -le $# ]; do KVM_ENABLED="yes" KVM_CAPABLE=`grep 'vmx\|smx' /proc/cpuinfo` ;; + \<*\>) + SCRIPT_QEMU_EXTRA_OPT=$arg + serial_option=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-serial\)'` + kvm_option=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-enable-kvm\)'` + echo "$kvm_option" + if [[ ! -z "$serial_option" || ! -z "$kvm_option" ]]; then + echo "Error: Please use serial or kvm params instead!" + usage + fi + ;; *) # A directory name is an nfs rootfs if [ -d "$arg" ]; then diff --git a/scripts/poky-qemu-internal b/scripts/poky-qemu-internal index ca2511a02..5e74169bd 100755 --- a/scripts/poky-qemu-internal +++ b/scripts/poky-qemu-internal @@ -29,6 +29,23 @@ # ROOTFS - the disk image file to use # + +mem_size=-1 + +#Get rid of <> and get the contents of extra qemu running params +SCRIPT_QEMU_EXTRA_OPT=`echo $SCRIPT_QEMU_EXTRA_OPT | sed -e 's/<//' -e 's/>//'` +#if user set qemu memory, eg: -m 256 in qemu extra params, we need to do some +# validation check +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:]] *//'` +fi + +if [ $mem_size -gt 0 ]; then + QEMU_MEMORY="$mem_size"M +fi + if [ -z "$QEMU_MEMORY" ]; then case "$MACHINE" in "qemux86") @@ -60,6 +77,7 @@ if [ "$MACHINE" = "qemuarm" ]; then echo "WARNING: qemuarm does not support > 128M of RAM." echo "*** Changing QEMU_MEMORY to default of 128M ***" QEMU_MEMORY="128M" + SCRIPT_QEMU_EXTRA_OPT=`echo $SCRIPT_QEMU_EXTRA_OPT | sed -e "s/$mem_set/-m 128/" ` fi fi @@ -427,8 +445,8 @@ fi echo "Running $QEMU..." # -no-reboot is a mandatory option - see bug #100 -echo $QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_CMDLINE_OPT --append '"'$KERNCMDLINE $SCRIPT_KERNEL_OPT'"' -$QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT --append "$KERNCMDLINE $SCRIPT_KERNEL_OPT" || /bin/true +echo $QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append '"'$KERNCMDLINE $SCRIPT_KERNEL_OPT'"' +$QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append "$KERNCMDLINE $SCRIPT_KERNEL_OPT" || /bin/true cleanup |