[OE-core] [PATCH][fido] runqemu: add support to boot arm64 qemu target from NFS

Jagadeesh Krishnanjanappa jkrishnanjanappa at mvista.com
Tue Jun 16 08:01:25 UTC 2015


On Tue, Jun 16, 2015 at 12:37 PM, Joshua Lock <joshua.lock at collabora.co.uk>
wrote:

> On 15/06/15 17:56, Jagadeesh Krishnanjanappa wrote:
>
>> Ping.
>>
>
>
> Is this change intended for fido or master? Usually fixes like this would
> go into master first and then be backported to the stable branch.
>
> The runqemu scripts of fido and master branch are almost at the same
level, the patch should apply to both of them without any warnings. The
intended change is for fido (and future versions) as it already has support
for booting aarch64 qemu target.

Regards,
Jagadeesh


>  Regards,
>> Jagadeesh
>>
>> On Tue, Jun 9, 2015 at 10:18 AM, Jagadeesh Krishnanjanappa
>> <jkrishnanjanappa at mvista.com <mailto:jkrishnanjanappa at mvista.com>> wrote:
>>
>>     The other changes include,
>>     runqemu - fix MACHINE type being detected as qemuarm when qemuarm64
>>     kernel
>>                image name is given.
>>
>>     runqemu-internal - Added console=ttyAMA0,115200 as one of the boot
>>     parameters
>>                         for qemuarm, in order to print bootlog messages
>>     on the
>>                         console.
>>
>>                       - Use "-nographic" option only if "serial" option
>>     is not
>>                         specified. Otherwise we get below error when
>>                         'runqemu <kernel_image> <rootfs_image> serial'
>>     is executed,
>>
>>     (snip)
>>     QEMU 2.2.0 monitor - type 'help' for more information
>>     (qemu) qemu-system-aarch64: -serial stdio: cannot use stdio by
>>     multiple character devices
>>     -- CUT --
>>
>>     qemuarm64 NFS booting has been tested successfully on Ubuntu 14.04
>> host.
>>
>>     Signed-off-by: Jagadeesh Krishnanjanappa
>>     <jkrishnanjanappa at mvista.com <mailto:jkrishnanjanappa at mvista.com>>
>>
>>     ---
>>       scripts/runqemu          |  4 ++--
>>       scripts/runqemu-internal | 20 +++++++++++++++-----
>>       2 files changed, 17 insertions(+), 7 deletions(-)
>>
>>     diff --git a/scripts/runqemu b/scripts/runqemu
>>     index 84ece4d..09c507d 100755
>>     --- a/scripts/runqemu
>>     +++ b/scripts/runqemu
>>     @@ -232,13 +232,13 @@ fi
>>
>>       if [ -z "$MACHINE" ]; then
>>           if [ "x$FSTYPE" = "xvmdk" ]; then
>>     -        MACHINE=`basename $VM | sed -n
>>
>> 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`
>>     +        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]"
>>               fi
>>               echo "Set MACHINE to [$MACHINE] based on vmdk [$VM]"
>>           else
>>     -        MACHINE=`basename $KERNEL | sed -n
>>
>> 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`
>>     +        MACHINE=`basename $KERNEL | sed -n
>>
>> 's/.*\(qemux86-64\|qemux86\|qemuarm64\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`
>>               if [ -z "$MACHINE" ]; then
>>                   error "Unable to set MACHINE from kernel filename
>>     [$KERNEL]"
>>               fi
>>     diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
>>     index 2db5566..e346c64 100755
>>     --- a/scripts/runqemu-internal
>>     +++ b/scripts/runqemu-internal
>>     @@ -275,9 +275,6 @@ else
>>
>>               KERNCMDLINE="mem=$QEMU_MEMORY"
>>               QEMU_UI_OPTIONS="-show-cursor -usb -usbdevice wacom-tablet"
>>     -        if [ $MACHINE = 'qemuarm64' ]; then
>>     -            QEMU_UI_OPTIONS="-nographic"
>>     -        fi
>>
>>               NFS_INSTANCE=`echo $TAP | sed 's/tap//'`
>>               export NFS_INSTANCE
>>     @@ -368,7 +365,7 @@ if [ "$MACHINE" = "qemuarm" -o "$MACHINE" =
>>     "qemuarmv6" -o "$MACHINE" = "qemuarm
>>                   cleanup
>>                   return 1
>>               fi
>>     -        KERNCMDLINE="root=/dev/nfs
>>     nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD
>>     mem=$QEMU_MEMORY"
>>     +        KERNCMDLINE="root=/dev/nfs
>>     nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw console=ttyAMA0,115200
>>     $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
>>               QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE}
>>     --no-reboot $QEMU_UI_OPTIONS"
>>           fi
>>           if [ "$MACHINE" = "qemuarmv6" ]; then
>>     @@ -383,12 +380,25 @@ if [ "$MACHINE" = "qemuarm64" ]; then
>>           QEMU=qemu-system-aarch64
>>
>>           export QEMU_AUDIO_DRV="none"
>>     -    QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
>>     +    if [ "x$SERIALSTDIO" = "x" ] ; then
>>     +        QEMU_UI_OPTIONS="-nographic"
>>     +    else
>>     +        QEMU_UI_OPTIONS=""
>>     +    fi
>>           if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
>>               KERNCMDLINE="root=/dev/vda rw console=ttyAMA0,38400
>>     mem=$QEMU_MEMORY highres=off $KERNEL_NETWORK_CMD"
>>               # qemu-system-aarch64 only support '-machine virt -cpu
>>     cortex-a57' for now
>>               QEMUOPTIONS="$QEMU_NETWORK_CMD -machine virt -cpu
>>     cortex-a57 $ROOTFS_OPTIONS $QEMU_UI_OPTIONS"
>>           fi
>>     +    if [ "$FSTYPE" = "nfs" ]; then
>>     +        if [ "$NFS_SERVER" = "192.168.7.1" -a ! -d "$NFS_DIR" ]; then
>>     +            echo "Error: NFS mount point $ROOTFS doesn't exist"
>>     +            cleanup
>>     +            return 1
>>     +        fi
>>     +        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
>>
>>
>>     --
>>     1.8.2.3
>>
>>
>>
>>
>>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20150616/18a6e38f/attachment-0002.html>


More information about the Openembedded-core mailing list