aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/poky-qemu-ifdown
diff options
context:
space:
mode:
authorJeff Dike <jdike@x86_64.user-mode-linux.org>2010-08-05 12:31:01 -0400
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-20 16:20:10 +0100
commit6ea1ed5f7b51b7c04e8aca29319c970846ddf1b8 (patch)
tree11577d6dc4afe7939489128e96b83e02f5e191f9 /scripts/poky-qemu-ifdown
parentf35a8d4079777453a2b60b7df5524b217260d252 (diff)
downloadopenembedded-core-6ea1ed5f7b51b7c04e8aca29319c970846ddf1b8.tar.gz
poky-qemu-[ifup|ifdown]: Use native tunctl
poky-qemu-ifup can run standalone by root in order to configure a bank of tap devices for later qemu use. These devices will, if possible, be owned by a specified group to which qemu users must belong. If the kernel is too old to support TUNSETGROUP, then it falls back to setting the tap device to be owned by a particular user, and that user will be the only one allowed to use it. Also overall usability improvements to the scripts, usage() help, etc. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Diffstat (limited to 'scripts/poky-qemu-ifdown')
-rwxr-xr-xscripts/poky-qemu-ifdown34
1 files changed, 27 insertions, 7 deletions
diff --git a/scripts/poky-qemu-ifdown b/scripts/poky-qemu-ifdown
index d9e9e95861..93a87559af 100755
--- a/scripts/poky-qemu-ifdown
+++ b/scripts/poky-qemu-ifdown
@@ -1,8 +1,8 @@
-#!/bin/sh
-
-# QEMU network interface configuration script
+#!/bin/bash
+#
+# QEMU network interface configuration script.
#
-# Copyright (C) 2006-2007 OpenedHand Ltd.
+# Copyright (c) 2006-2010 Intel Corp.
#
# 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
@@ -10,16 +10,36 @@
#
# 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
+# 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.
+usage() {
+ echo "$0 <tap-dev> <native-sysroot-basedir>"
+}
+
+if [ $# -ne 2 ]; then
+ usage
+ exit 1
+fi
+
TAP=$1
+NATIVE_SYSROOT_DIR=$2
+
+TUNCTL=$NATIVE_SYSROOT_DIR/usr/bin/tunctl
+if [ ! -e "$TUNCTL" ]; then
+ echo "Error: Unable to find tunctl binary in '$NATIVE_SYSROOT_DIR/usr/bin'"
+
+ if [[ "$NATIVE_SYSROOT_DIR" =~ ^\/opt\/poky ]]; then
+ echo "This shouldn't happen - something is wrong with your toolchain installation"
+ else
+ echo "Have you run 'bitbake qemu-helper-native'?"
+ fi
-TUNCTL=`which tunctl`
-[ "$TUNCTL" = "" ] && TUNCTL=/usr/sbin/tunctl
+ exit 1
+fi
$TUNCTL -d $TAP