diff options
author | Jeff Dike <jdike@x86_64.user-mode-linux.org> | 2010-08-05 12:31:01 -0400 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-20 16:20:10 +0100 |
commit | 6ea1ed5f7b51b7c04e8aca29319c970846ddf1b8 (patch) | |
tree | 11577d6dc4afe7939489128e96b83e02f5e191f9 /scripts/poky-qemu-ifdown | |
parent | f35a8d4079777453a2b60b7df5524b217260d252 (diff) | |
download | openembedded-core-6ea1ed5f7b51b7c04e8aca29319c970846ddf1b8.tar.gz openembedded-core-6ea1ed5f7b51b7c04e8aca29319c970846ddf1b8.tar.bz2 openembedded-core-6ea1ed5f7b51b7c04e8aca29319c970846ddf1b8.zip |
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-x | scripts/poky-qemu-ifdown | 34 |
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 |