Use 9p over virtio to share files on the host with the guest domains.
The files are accessible in the guests /hostfs directory.
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 3.5.0 Kernel Configuration
+# Linux/x86_64 3.5.3 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
#
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
+CONFIG_NET_9P=y
+CONFIG_NET_9P_VIRTIO=y
+# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set
# CONFIG_GFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
+CONFIG_9P_FS=y
+CONFIG_9P_FS_POSIX_ACL=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
+ <filesystem type='mount' accessmode='passthrough'>
+ <source dir='/var/run/kvm-swan-hostfs'/>
+ <target dir='/hostshare'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+ </filesystem>
<interface type='network'>
<mac address='52:54:00:9a:e2:de'/>
<source network='vnet2'/>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
- <controller type='sata' index='0'>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
- </controller>
+ <filesystem type='mount' accessmode='passthrough'>
+ <source dir='/var/run/kvm-swan-hostfs'/>
+ <target dir='/hostshare'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+ </filesystem>
<interface type='network'>
<mac address='52:54:00:40:85:6b'/>
<source network='vnet3'/>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
- <controller type='sata' index='0'>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
- </controller>
+ <filesystem type='mount' accessmode='passthrough'>
+ <source dir='/var/run/kvm-swan-hostfs'/>
+ <target dir='/hostshare'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+ </filesystem>
<interface type='network'>
<mac address='52:54:00:ae:f1:f8'/>
<source network='vnet1'/>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
- <controller type='sata' index='0'>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
- </controller>
+ <filesystem type='mount' accessmode='passthrough'>
+ <source dir='/var/run/kvm-swan-hostfs'/>
+ <target dir='/hostshare'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+ </filesystem>
<interface type='network'>
<mac address='52:54:00:b9:15:a9'/>
<source network='vnet1'/>
<driver name='qemu' type='qcow2' cache='writethrough'/>
<source file='/var/lib/libvirt/images/moon.qcow2'/>
<target dev='vda' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
+ <filesystem type='mount' accessmode='passthrough'>
+ <source dir='/var/run/kvm-swan-hostfs'/>
+ <target dir='/hostshare'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+ </filesystem>
<interface type='network'>
<mac address='52:54:00:43:e3:35'/>
<source network='vnet2'/>
<driver name='qemu' type='qcow2' cache='writethrough'/>
<source file='/var/lib/libvirt/images/sun.qcow2'/>
<target dev='vda' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
+ <filesystem type='mount' accessmode='passthrough'>
+ <source dir='/var/run/kvm-swan-hostfs'/>
+ <target dir='/hostshare'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+ </filesystem>
<interface type='network'>
<mac address='52:54:00:77:43:ea'/>
<source network='vnet1'/>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
+ <filesystem type='mount' accessmode='passthrough'>
+ <source dir='/var/run/kvm-swan-hostfs'/>
+ <target dir='/hostshare'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+ </filesystem>
<interface type='network'>
<mac address='52:54:00:69:d3:80'/>
<source network='vnet2'/>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
+ <filesystem type='mount' accessmode='passthrough'>
+ <source dir='/var/run/kvm-swan-hostfs'/>
+ <target dir='/hostshare'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+ </filesystem>
<interface type='network'>
<mac address='52:54:00:4b:23:fa'/>
<source network='vnet1'/>
--- /dev/null
+/hostshare /hostfs 9p trans=virtio,version=9p2000.L 0 0
mkdir -p $LOOPDIR/root/compile
log_action "Mounting $ROOTIMGCOMPILEDIR as /root/compile"
execute "mount -o bind $ROOTIMGCOMPILEDIR $LOOPDIR/root/compile"
+do_on_exit rm -r $LOOPDIR/root/compile
do_on_exit umount $LOOPDIR/root/compile
echo "Installing software from source"
log_action "Removing /etc/resolv.conf"
execute "rm -f $LOOPDIR/etc/resolv.conf"
+
+mkdir -p $LOOPDIR/hostfs
CONFDIR=$PWD/config/kvm
KNLSRC=$BUILDDIR/$KERNEL/arch/x86/boot/bzImage
KNLTARGET=/var/run/kvm-swan-kernel
+HOSTFSTARGET=/var/run/kvm-swan-hostfs
echo "Starting test environment"
log_action "Deploying kernel $KERNEL"
execute "ln -fs $KNLSRC $KNLTARGET"
+log_action "Deploying $ROOTIMGCOMPILEDIR as hostfs"
+execute "ln -Tfs $ROOTIMGCOMPILEDIR $HOSTFSTARGET"
+
for net in $NETWORKS
do
log_action "Network $net"
NETWORKS="vnet1 vnet2 vnet3"
KNLTARGET=/var/run/kvm-swan-kernel
+HOSTFSTARGET=/var/run/kvm-swan-hostfs
[ `id -u` -eq 0 ] || die "You must be root to run $0"
log_action "Removing kernel $KERNEL"
execute "rm $KNLTARGET"
+
+log_action "Removing link to hostfs"
+execute "rm $HOSTFSTARGET"