mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
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. (From OE-Core rev: 1ea04d87525f26c2cd32ba29c0f14c6226f60729) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
96b24e7bd5
commit
2fedfdca12
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user