[poky] [PATCH 1/1] Add extra parameters options for poky-qemu scripts

Scott Garman scott.a.garman at intel.com
Tue Dec 14 18:29:06 PST 2010


On 12/15/2010 09:45 AM, Liping Ke wrote:
> In order to support user's extra requirement for adding extra options for qemu,
> we add extra parameter options, user can add extra parameters such as
> "<-m 256>" in poky-qemu script command.
>
> Signed-off-by: Liping ke<liping.ke at intel.com>

Acked-by: Scott Garman <scott.a.garman at intel.com>

> ---
>   scripts/poky-qemu          |   14 ++++++++++++++
>   scripts/poky-qemu-internal |   22 ++++++++++++++++++++--
>   2 files changed, 34 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/poky-qemu b/scripts/poky-qemu
> index bfeefc7..cd99e0e 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 ca2511a..5e74169 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
>


-- 
Scott Garman
Embedded Linux Distro Engineer - Yocto Project



More information about the poky mailing list