diff options
| author | Jason Wessel <jason.wessel@windriver.com> | 2014-01-23 08:32:46 -0600 | 
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-01-28 00:48:28 +0000 | 
| commit | 1ea04d87525f26c2cd32ba29c0f14c6226f60729 (patch) | |
| tree | bfbdf32a4c4a1394f8607a3d00aed1376a1b17da | |
| parent | ea126a7d4a63e27755046ddd2eb0be079e20c334 (diff) | |
| download | openembedded-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>
| -rwxr-xr-x | scripts/runqemu | 10 | ||||
| -rwxr-xr-x | scripts/runqemu-internal | 19 | 
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 | 
