summaryrefslogtreecommitdiffstats
path: root/scripts/poky-qemu-internal
diff options
context:
space:
mode:
authorScott Garman <scott.a.garman@intel.com>2010-10-03 21:16:24 -0700
committerRichard Purdie <rpurdie@linux.intel.com>2010-10-07 19:55:50 +0100
commite70c8981f250ead9e025ecd27aef94b67d784fc6 (patch)
tree0644d5cfb98596f71e5cce7ff8f1e23508c4a4a2 /scripts/poky-qemu-internal
parent8532405c1d6b2184ca88922506b725110a1f7627 (diff)
downloadopenembedded-core-contrib-e70c8981f250ead9e025ecd27aef94b67d784fc6.tar.gz
Allow running of multiple QEMU nfs instances
These changes allow multiple instances of the userspace NFS server to run, when brought up by consecutive instances of the poky-qemu control script. This fixes [BUGID #393] Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Diffstat (limited to 'scripts/poky-qemu-internal')
-rwxr-xr-xscripts/poky-qemu-internal31
1 files changed, 18 insertions, 13 deletions
diff --git a/scripts/poky-qemu-internal b/scripts/poky-qemu-internal
index 0ea38eef60..532b255da9 100755
--- a/scripts/poky-qemu-internal
+++ b/scripts/poky-qemu-internal
@@ -50,8 +50,9 @@ if [ -z "$QEMU_MEMORY" ]; then
fi
-# This flag file is created when poky-gen-tapdevs creates a bank of
-# tap devices, indicating that the user does not have sudo privs.
+# This file is created when poky-gen-tapdevs creates a bank of tap
+# devices, indicating that the user should not bring up new ones using
+# sudo.
NOSUDO_FLAG="/etc/poky-nosudo"
QEMUIFUP=`which poky-qemu-ifup`
@@ -113,18 +114,17 @@ else
fi
release_lock() {
- if [ "$LOCKFILE" = "" ]; then
+ if [ ! -e "$NOSUDO_FLAG" ]; then
$QEMUIFDOWN $TAP $POKY_NATIVE_SYSROOT
- else
- echo "Releasing lockfile of preconfigured tap device '$TAP'"
- lockfile-remove $LOCKFILE
- fi
-
- if [ "$NFSRUNNING" = "true" ]; then
- echo "Shutting down the userspace NFS server:"
- echo "poky-export-rootfs stop $ROOTFS"
- poky-export-rootfs stop $ROOTFS
fi
+ echo "Releasing lockfile of preconfigured tap device '$TAP'"
+ lockfile-remove $LOCKFILE
+
+ if [ "$NFSRUNNING" = "true" ]; then
+ echo "Shutting down the userspace NFS server..."
+ echo "poky-export-rootfs stop $ROOTFS"
+ poky-export-rootfs stop $ROOTFS
+ fi
}
n1=$[ (`echo $TAP | sed 's/tap//'` * 2) + 1 ]
@@ -136,6 +136,9 @@ QEMU_NETWORK_CMD="-net nic,vlan=0 $QEMU_TAP_CMD"
KERNCMDLINE="mem=$QEMU_MEMORY"
QEMU_UI_OPTIONS="-show-cursor -usb -usbdevice wacom-tablet"
+NFS_INSTANCE=`echo $TAP | sed 's/tap//'`
+export NFS_INSTANCE
+
SERIALOPTS=""
if [ "x$SERIAL_LOGFILE" != "x" ]; then
SERIALOPTS="-serial file:$SERIAL_LOGFILE"
@@ -172,7 +175,9 @@ fi
if [ "$FSTYPE" = "nfs" ]; then
NFS_SERVER="192.168.7.1"
NFS_DIR=`echo $ROOTFS | sed 's/^[^:]*:\(.*\)/\1/'`
- UNFS_OPTS="nfsvers=2,mountprog=21111,nfsprog=11111,udp"
+ MOUNTD_PORT=$[ 21111 + $NFS_INSTANCE ]
+ NFSD_PORT=$[ 11111 + $NFS_INSTANCE ]
+ UNFS_OPTS="nfsvers=2,mountprog=$MOUNTD_PORT,nfsprog=$NFSD_PORT,udp"
PSEUDO_LOCALSTATEDIR=~/.poky-sdk/pseudo
export PSEUDO_LOCALSTATEDIR