diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/poky-qemu-ifdown | 10 | ||||
-rwxr-xr-x | scripts/poky-qemu-ifup | 10 | ||||
-rwxr-xr-x | scripts/poky-qemu-internal | 15 |
3 files changed, 25 insertions, 10 deletions
diff --git a/scripts/poky-qemu-ifdown b/scripts/poky-qemu-ifdown index 2212353118..d9e9e95861 100755 --- a/scripts/poky-qemu-ifdown +++ b/scripts/poky-qemu-ifdown @@ -17,11 +17,9 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +TAP=$1 -IFCONFIG=`which ifconfig` -if [ "x$IFCONFIG" = "x" ]; then - # better than nothing... - IFCONFIG=/sbin/ifconfig -fi +TUNCTL=`which tunctl` +[ "$TUNCTL" = "" ] && TUNCTL=/usr/sbin/tunctl -$IFCONFIG tap0 down +$TUNCTL -d $TAP diff --git a/scripts/poky-qemu-ifup b/scripts/poky-qemu-ifup index cb1891e271..e7f689d251 100755 --- a/scripts/poky-qemu-ifup +++ b/scripts/poky-qemu-ifup @@ -17,6 +17,12 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +USER=$1 + +TUNCTL=`which tunctl` +[ "$TUNCTL" = "" ] && TUNCTL=/usr/sbin/tunctl + +TAP=`$TUNCTL -b -u $USER` IFCONFIG=`which ifconfig` if [ "x$IFCONFIG" = "x" ]; then @@ -24,7 +30,7 @@ if [ "x$IFCONFIG" = "x" ]; then IFCONFIG=/sbin/ifconfig fi -$IFCONFIG tap0 192.168.7.1 +$IFCONFIG $TAP 192.168.7.1 # setup NAT for tap0 interface to have internet access in QEMU IPTABLES=`which iptables` @@ -35,3 +41,5 @@ fi $IPTABLES -A POSTROUTING -t nat -j MASQUERADE -s 192.168.7.0/24 echo 1 > /proc/sys/net/ipv4/ip_forward $IPTABLES -P FORWARD ACCEPT + +echo $TAP diff --git a/scripts/poky-qemu-internal b/scripts/poky-qemu-internal index 62c64727c0..8ff3add511 100755 --- a/scripts/poky-qemu-internal +++ b/scripts/poky-qemu-internal @@ -53,8 +53,13 @@ fi QEMUIFUP=`which poky-qemu-ifup` QEMUIFDOWN=`which poky-qemu-ifdown` + +USER=`id -u` +echo 'Setting up tap interface under sudo' +TAP=`sudo $QEMUIFUP $USER` + KERNEL_NETWORK_CMD="ip=192.168.7.2::192.168.7.1:255.255.255.0" -QEMU_TAP_CMD="-net tap,vlan=0,ifname=tap0,script=$QEMUIFUP,downscript=$QEMUIFDOWN" +QEMU_TAP_CMD="-net tap,vlan=0,ifname=$TAP,script=no,downscript=no" QEMU_NETWORK_CMD="-net nic,vlan=0 $QEMU_TAP_CMD" KERNCMDLINE="mem=$QEMU_MEMORY" QEMU_UI_OPTIONS="-show-cursor -usb -usbdevice wacom-tablet" @@ -298,9 +303,13 @@ else echo "Warning: distccd not present, no distcc support loaded." fi -echo "Running $QEMU using sudo..." + + +echo "Running $QEMU..." echo $QEMUBIN -kernel $ZIMAGE $QEMUOPTIONS $SERIALOPTS $* --append "$KERNCMDLINE" -sudo $QEMUBIN -kernel $ZIMAGE $QEMUOPTIONS $SERIALOPTS $* --append "$KERNCMDLINE" || /bin/true +$QEMUBIN -kernel $ZIMAGE $QEMUOPTIONS $SERIALOPTS $* --append "$KERNCMDLINE" || /bin/true + +$QEMUIFDOWN $TAP trap - INT TERM QUIT return |