summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/poky-qemu4
-rwxr-xr-xscripts/poky-qemu-ifdown27
-rwxr-xr-xscripts/poky-qemu-internal29
-rwxr-xr-xscripts/runqemu17
4 files changed, 62 insertions, 15 deletions
diff --git a/scripts/poky-qemu b/scripts/poky-qemu
index 6b8224ba6d..1c680b11f1 100755
--- a/scripts/poky-qemu
+++ b/scripts/poky-qemu
@@ -49,4 +49,8 @@ else
fi
INTERNAL_SCRIPT=`which poky-qemu-internal`
+
+SDKDIR=/usr/local/poky/eabi-glibc/arm/bin/
+PATH=$SDKDIR:$PATH
+
. $INTERNAL_SCRIPT
diff --git a/scripts/poky-qemu-ifdown b/scripts/poky-qemu-ifdown
new file mode 100755
index 0000000000..2212353118
--- /dev/null
+++ b/scripts/poky-qemu-ifdown
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# QEMU network interface configuration script
+#
+# 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.
+
+
+IFCONFIG=`which ifconfig`
+if [ "x$IFCONFIG" = "x" ]; then
+ # better than nothing...
+ IFCONFIG=/sbin/ifconfig
+fi
+
+$IFCONFIG tap0 down
diff --git a/scripts/poky-qemu-internal b/scripts/poky-qemu-internal
index d96b67e38a..ceb6afdbf3 100755
--- a/scripts/poky-qemu-internal
+++ b/scripts/poky-qemu-internal
@@ -30,8 +30,9 @@
#
QEMUIFUP=`which poky-qemu-ifup`
+QEMUIFDOWN=`which poky-qemu-ifdown`
KERNEL_NETWORK_CMD="ip=192.168.7.2::192.168.7.1:255.255.255.0"
-QEMU_NETWORK_CMD="-net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=$QEMUIFUP"
+QEMU_NETWORK_CMD="-net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=$QEMUIFUP,downscript=$QEMUIFDOWN"
KERNCMDLINE="mem=$QEMU_MEMORY"
if [ -z "$QEMU_MEMORY" ]; then
@@ -127,6 +128,30 @@ if [ "x$QEMUOPTIONS" = "x" ]; then
return
fi
+function _quit() {
+ if [ -n "$PIDFILE" ]; then
+ echo kill `cat $PIDFILE`
+ kill `cat $PIDFILE`
+ fi
+ return
+}
+
+DISTCCD=`which distccd`
+PIDFILE=""
+
+trap _quit INT TERM QUIT
+
+if [ -x "$DISTCCD" ]; then
+ echo "Starting distccd..."
+ PIDFILE=`mktemp`
+ $DISTCCD --allow 192.168.7.2 --daemon --pid-file $PIDFILE &
+else
+ echo "Warning: distccd not present, no distcc support loaded."
+fi
+
echo "Running $QEMU using sudo..."
echo $QEMU -kernel $ZIMAGE $QEMUOPTIONS $SERIALOPTS --append "$KERNCMDLINE"
-sudo $QEMU -kernel $ZIMAGE $QEMUOPTIONS $SERIALOPTS --append "$KERNCMDLINE"
+sudo $QEMU -kernel $ZIMAGE $QEMUOPTIONS $SERIALOPTS --append "$KERNCMDLINE" || /bin/true
+
+trap - INT TERM QUIT
+return
diff --git a/scripts/runqemu b/scripts/runqemu
index 263a1d4ddb..0176e636a8 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -23,7 +23,10 @@ if [ "x$BUILDDIR" = "x" ]; then
exit 1
fi
-PATH=$BUILDDIR/tmp/staging/$BUILD_SYS/usr/bin:$BUILDDIR/tmp/cross/bin:$PATH
+INTERNAL_SCRIPT=`which poky-qemu-internal`
+
+SDKDIR=/usr/local/poky/eabi-glibc/arm/bin/
+PATH=$BUILDDIR/tmp/staging/$BUILD_SYS/usr/bin:$BUILDDIR/tmp/cross/bin:$SDKDIR:$PATH
if [ "x$1" = "x" ]; then
echo
@@ -121,17 +124,5 @@ if [ ! -e $CROSSPATH/cc ]; then
ln -s $CROSSPATH/gcc $CROSSPATH/cc
fi
-DISTCCD=`which distccd`
-
-if [ -x "$DISTCCD" ]; then
- $DISTCCD --allow 192.168.7.2 --daemon
-else
- echo "Warning: distccd not present, no distcc support loaded"
-fi
-
-INTERNAL_SCRIPT=`which poky-qemu-internal`
. $INTERNAL_SCRIPT
-if [ -x "$DISTCCD" ]; then
- killall distccd
-fi