mirror of
https://git.yoctoproject.org/poky
synced 2026-07-24 18:37:01 +00:00
c8a181e847
This fixes [BUGID #232], requiring root privileges to run these scripts and giving an error prompt when that requirement is not met. The tunctl uid fallback code has also been removed, as we can rely on the specific version of tunctl run from the native sysroot. Signed-off-by: Scott Garman <scott.a.garman@intel.com>
60 lines
1.7 KiB
Bash
Executable File
60 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# QEMU network configuration script to bring down tap devices. This
|
|
# utility needs to be run as root, and will use the tunctl binary
|
|
# from a Poky sysroot.
|
|
#
|
|
# If you find yourself calling this script a lot, you can add the
|
|
# the following to your /etc/sudoers file to be able to run this
|
|
# command without entering your password each time:
|
|
#
|
|
# <my-username> ALL=NOPASSWD: /path/to/poky-qemu-ifup
|
|
# <my-username> ALL=NOPASSWD: /path/to/poky-qemu-ifdown
|
|
#
|
|
# 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
|
|
# 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.
|
|
|
|
usage() {
|
|
echo "sudo $0 <tap-dev> <native-sysroot-basedir>"
|
|
}
|
|
|
|
if [ $EUID -ne 0 ]; then
|
|
echo "Error: This script (poky-qemu-ifdown) must be run with root privileges"
|
|
exit 1
|
|
fi
|
|
|
|
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
|
|
|
|
exit 1
|
|
fi
|
|
|
|
$TUNCTL -d $TAP
|