#!/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