Files
poky/scripts/poky-qemu
Scott Garman fcbd67c047 poky-qemu: integrate userspace nfsroot support
This is the first phase of some refactoring the poky-qemu control
scripts are getting. This integrates userspace nfsroot support into
poky-qemu, making runqemu-nfs obsolete.

This fixes [BUGID #295]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-07 19:51:36 +01:00

2.3 KiB
Executable File

#!/bin/bash

Handle running Poky images standalone with QEMU

Copyright (C) 2006-2007 OpenedHand Ltd.

This program is free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License version 2 as

published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License along

with this program; if not, write to the Free Software Foundation, Inc.,

51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

if [ "x$1" = "x" ]; then MYNAME=basename $0 echo "Run as MACHINE=xyz $MYNAME KERNEL ROOTFS [OPTIONS]" echo "where:" echo " KERNEL - the kernel image file to use" echo " ROOTFS - the rootfs image file or nfsroot directory to use"

echo " (NFS booting assumed if ROOTFS not specified)"

echo "  MACHINE=xyz - the machine name (optional, autodetected from KERNEL filename if unspecified)"
echo "  OPTIONS - extra options to pass to QEMU"
exit 1

else KERNEL=$1 shift fi

if [ "x$MACHINE" = "x" ]; then MACHINE=basename $KERNEL | sed -r -e 's#.*-([a-z]+[0-9\-]*)-?[0-9]*..*#\1#' fi

if [ "x$1" = "x" ]; then FSTYPE="nfs" echo "Error: NFS booting without an explicit ROOTFS path is not yet supported" exit 1 else ROOTFS=$1

if [ -d "$1" ]; then
    echo "$ROOTFS is a directory, assuming nfsroot"
    FSTYPE="nfs"
else
    FSTYPE="ext3"
    EXT=${ROOTFS##.*}
    if [[ "x$EXT" == "xext2" || "x$EXT" == "xext3" ||
          "x$EXT" == "xjffs2" ]]; then
        FSTYPE=$EXT
    fi
    echo "Using $FSTYPE as filesytem type for $ROOTFS"
fi
shift

fi

We can't run without a libGL.so

libgl='no'

test -e /usr/lib/libGL.so -a -e /usr/lib/libGLU.so && libgl='yes' test -e /usr/lib64/libGL.so -a -e /usr/lib64/libGLU.so && libgl='yes'

if [ "$libgl" != 'yes' ]; then echo "You need libGL.so and libGLU.so to exist in your library path to run the QEMU emulator. Ubuntu package names are: libgl1-mesa-dev and libglu1-mesa-dev." exit 1; fi

INTERNAL_SCRIPT=which poky-qemu-internal

. $INTERNAL_SCRIPT