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>
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