diff options
Diffstat (limited to 'scripts/runqemu-ifup')
-rwxr-xr-x | scripts/runqemu-ifup | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/scripts/runqemu-ifup b/scripts/runqemu-ifup index 5fdcddeeda..237bf2a07b 100755 --- a/scripts/runqemu-ifup +++ b/scripts/runqemu-ifup | |||
@@ -1,10 +1,7 @@ | |||
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | # | 2 | # |
3 | # QEMU network interface configuration script. This utility needs to | 3 | # QEMU network interface configuration script. This utility needs to |
4 | # be run as root, and will use the tunctl binary from a native sysroot. | 4 | # be run as root, and will use the ip utility |
5 | # Note: many Linux distros these days still use an older version of | ||
6 | # tunctl which does not support the group permissions option, hence | ||
7 | # the need to use build system's version. | ||
8 | # | 5 | # |
9 | # If you find yourself calling this script a lot, you can add the | 6 | # If you find yourself calling this script a lot, you can add the |
10 | # the following to your /etc/sudoers file to be able to run this | 7 | # the following to your /etc/sudoers file to be able to run this |
@@ -39,7 +36,6 @@ fi | |||
39 | 36 | ||
40 | USERID="-u $1" | 37 | USERID="-u $1" |
41 | GROUP="-g $2" | 38 | GROUP="-g $2" |
42 | STAGING_BINDIR_NATIVE=$3 | ||
43 | 39 | ||
44 | if taps=$(ip tuntap list 2>/dev/null); then | 40 | if taps=$(ip tuntap list 2>/dev/null); then |
45 | tap_no=$(( $(echo "$taps" |sort -r |sed 's/^tap//; s/:.*//; q') + 1 )) | 41 | tap_no=$(( $(echo "$taps" |sort -r |sed 's/^tap//; s/:.*//; q') + 1 )) |
@@ -47,24 +43,8 @@ if taps=$(ip tuntap list 2>/dev/null); then | |||
47 | fi | 43 | fi |
48 | 44 | ||
49 | if [ -z $TAP ]; then | 45 | if [ -z $TAP ]; then |
50 | TUNCTL=$STAGING_BINDIR_NATIVE/tunctl | 46 | echo "Error: Unable to find a tap device to use" |
51 | if [ ! -x "$TUNCTL" ]; then | 47 | exit 1 |
52 | echo "Error: Unable to find tunctl binary in '$STAGING_BINDIR_NATIVE', please bitbake qemu-helper-native" | ||
53 | exit 1 | ||
54 | fi | ||
55 | |||
56 | TAP=`$TUNCTL -b $GROUP 2>&1` | ||
57 | STATUS=$? | ||
58 | if [ $STATUS -ne 0 ]; then | ||
59 | # If tunctl -g fails, try using tunctl -u, for older host kernels | ||
60 | # which do not support the TUNSETGROUP ioctl | ||
61 | TAP=`$TUNCTL -b $USERID 2>&1` | ||
62 | STATUS=$? | ||
63 | if [ $STATUS -ne 0 ]; then | ||
64 | echo "tunctl failed:" | ||
65 | exit 1 | ||
66 | fi | ||
67 | fi | ||
68 | fi | 48 | fi |
69 | 49 | ||
70 | IFCONFIG=`which ip 2> /dev/null` | 50 | IFCONFIG=`which ip 2> /dev/null` |