summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2014-01-23 08:32:46 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-01-28 00:48:28 +0000
commit1ea04d87525f26c2cd32ba29c0f14c6226f60729 (patch)
treebfbdf32a4c4a1394f8607a3d00aed1376a1b17da /scripts
parentea126a7d4a63e27755046ddd2eb0be079e20c334 (diff)
downloadopenembedded-core-1ea04d87525f26c2cd32ba29c0f14c6226f60729.tar.gz
openembedded-core-1ea04d87525f26c2cd32ba29c0f14c6226f60729.tar.bz2
openembedded-core-1ea04d87525f26c2cd32ba29c0f14c6226f60729.zip
runqemu, runqemu-internal: Allow slirp for NFS and KVM use
The default slirp address for the NFS server is 10.0.2.2. If not using a tap interface this address must be used or the target system cannot connect properly. Also the ip=... kernel arguments need to be set to dhcp when using slirp or the root NFS will not get setup properly. The call to cleanup() results in a routine which is not defined when setting up the NFS because it is called before acquire() for the locking of the tap interfaces, the solution being to simply not call cleanup() that early. When using slirp, kvm should not execute the vhost net checks because the vhost net will not be configure or used. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/runqemu10
-rwxr-xr-xscripts/runqemu-internal19
2 files changed, 17 insertions, 12 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index dcb2931cac..9272b6f2d5 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -279,10 +279,12 @@ if [ "x$KVM_ENABLED" = "xyes" ]; then
exit 1;
fi
if [ ! -w /dev/vhost-net -o ! -r /dev/vhost-net ]; then
- echo "You have no rights on /dev/vhost-net."
- echo "Please change the ownership of this file as described at:"
- echo "$YOCTO_PARAVIRT_KVM_WIKI";
- exit 1;
+ if [ "$SLIRP_ENABLED" != "yes" ] ; then
+ echo "You have no rights on /dev/vhost-net."
+ echo "Please change the ownership of this file as described at:"
+ echo "$YOCTO_PARAVIRT_KVM_WIKI";
+ exit 1;
+ fi
fi
fi
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index cecb527dfc..e3b0729030 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -114,7 +114,7 @@ NFSRUNNING="false"
ORIG_STTY=$(stty -g)
if [ "$SLIRP_ENABLED" = "yes" ]; then
- KERNEL_NETWORK_CMD=""
+ KERNEL_NETWORK_CMD="ip=dhcp"
QEMU_TAP_CMD=""
QEMU_UI_OPTIONS="-show-cursor -usb -usbdevice wacom-tablet"
if [ "$KVM_ACTIVE" = "yes" ]; then
@@ -301,9 +301,18 @@ if [ "$FSTYPE" != "nfs" -a "$FSTYPE" != "vmdk" -a ! -f "$ROOTFS" ]; then
return 1
fi
-if [ "$FSTYPE" = "nfs" ]; then
+if [ "$NFS_SERVER" = "" ]; then
NFS_SERVER="192.168.7.1"
+ if [ "$SLIRP_ENABLED" = "yes" ]; then
+ NFS_SERVER="10.0.2.2"
+ fi
+fi
+
+if [ "$FSTYPE" = "nfs" ]; then
NFS_DIR=`echo $ROOTFS | sed 's/^[^:]*:\(.*\)/\1/'`
+ if [ "$NFS_INSTANCE" = "" ] ; then
+ NFS_INSTANCE=0
+ fi
MOUNTD_RPCPORT=$[ 21111 + $NFS_INSTANCE ]
NFSD_RPCPORT=$[ 11111 + $NFS_INSTANCE ]
NFSD_PORT=$[ 3049 + 2 * $NFS_INSTANCE ]
@@ -317,17 +326,11 @@ if [ "$FSTYPE" = "nfs" ]; then
echo "runqemu-export-rootfs restart $ROOTFS"
runqemu-export-rootfs restart $ROOTFS
if [ $? != 0 ]; then
- cleanup
return 1
fi
NFSRUNNING="true"
fi
-if [ "$NFS_SERVER" = "" ]; then
- NFS_SERVER="192.168.7.1"
- NFS_DIR=$ROOTFS
-fi
-
if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" -o "$MACHINE" = "qemuarmv7" ]; then
QEMU=qemu-system-arm
MACHINE_SUBTYPE=versatilepb