Hello,
I've been trying to boot a VM with the rootfs being a 9P
share from the host. The VM OS is centos 7.
The OS boots but no services
can work and it appears that the authentication system is broken.
Now
the funny thing is that booting the same OS on the same 9P share
manually with Qemu works as expected with a fully functionnal OS... So
I'm wondering what could libvirt do that render the OS on the share
broken - Something with rights ?
Selinux is disabled on the host, and
accessmode to the share is set to passthrough in both cases.
Here's my
working Qemu line:
qemu -kernel
/srv/overlay/kernels/grsec-3.14.33-101/vmlinuz-3.14.33-101.el6.x86_64
-initrd
/srv/overlay/kernels/grsec-3.14.33-101/initramfs-3.14.33-101.el6.x86_64.img
-fsdev
local,id=r,path=/srv/overlay/run/irc,security_model=passthrough
-device virtio-9p-pci,fsdev=r,mount_tag=root
-nographic
-m 256M
-machine pc-i440fx-2.1,accel=kvm
-netdev tap,id=net0 -device
virtio-net,netdev=net0,mac=52:54:00:12:36:34
-smp 1,sockets=1,cores=1
-append 'root=virtfs:root rootflags=trans=virtio,version=9p2000.u ro
rootfstype=9p console=ttyS0'
And here my libvirt VM config:
<domain
type='kvm'>
<name>irc</name>
<uuid>ffbd32eb-a693-eadd-8923-18de80137472</uuid>
<memory
unit='KiB'>262144</memory>
<currentMemory
unit='KiB'>262144</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-2.1'>hvm</type>
<kernel>/srv/overlay/kernels/grsec-3.14.33-101/vmlinuz-3.14.33-101.el6.x86_64</kernel>
<initrd>/srv/overlay/kernels/grsec-3.14.33-101/initramfs-3.14.33-101.el6.x86_64.img</initrd>
<cmdline>root=virtfs:root rootflags=trans=virtio,version=9p2000.u ro
rootfstype=9p</cmdline>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<controller type='usb'
index='0'>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x01'
function='0x2'/>
</controller>
<controller type='pci' index='0'
model='pci-root'/>
<filesystem type='mount' accessmode='passthrough'>
<source dir='/srv/overlay/run/irc'/>
<target dir='root'/>
<address
type='pci' domain='0x0000' bus='0x00' slot='0x05'
function='0x0'/>
</filesystem>
<interface type='bridge'>
<mac
address='52:54:00:00:36:34'/>
<source bridge='br0'/>
<model
type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target
port='0'/>
</serial>
<console type='pty'>
<target type='serial'
port='0'/>
</console>
<input type='mouse' bus='ps2'/>
<input
type='keyboard' bus='ps2'/>
<graphics type='vnc' port='-1'
autoport='yes'/>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x02'
function='0x0'/>
</video>
<memballoon model='virtio'>
<address
type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x0'/>
</memballoon>
</devices>
</domain>
My libvirt version is 1.2.9, and
qemu is 2.1.2.
Thanks for your help,
Olivier
Show replies by date