[libvirt-users] Using custom QEMU binaries with libvirt

Joaquim Barrera jbarrera at ac.upc.edu
Thu Sep 18 09:51:03 UTC 2014


On 18/09/14 11:06, Daniel P. Berrange wrote:
> On Thu, Sep 18, 2014 at 10:57:23AM +0200, Joaquim Barrera wrote:
>> Hi all,
>>
>> I compiled a custom version of QEMU 2.0.0 and I am having hard times to make
>> it available to libvirt. Just to clarify, if I execute
>>
>> /usr/local/bin/qemu-system-x86_64
>>
>> it does performs good. But when I put this very same path to <emulator> tag
>> in a domain configutation, when i start the domain I get
>>
>> error: Failed to start domain vm1
>> error: internal error: process exited while connecting to monitor: libvirt:
>> error : cannot execute binary /usr/local/bin/qemu-system-x86_64: Permission
>> denied
>>
>> I tried setting +x permission to all the binaries in /usr/local/bin,
>> disabling apparmor profile for libvirtd, creating and putting to complain a
>> profile for
>> /usr/local/bin/qemu-system-x86_64, creating a softlink to /usr/bin/kvm-spice
>> to the custom binary and leaving <emulator> as default...
>>
>> At the end of http://www.gossamer-threads.com/lists/openstack/dev/40033 I
>> found something about AppArmor, and  enabling bios.bin reading somewhere,
>> but I got a little confused here.
>>
>> The most disapointing thing here, is that using qemu 1.7 I could use my
>> custom build, but apparently something changed with 2.0 (or with libvirt
>> integration).
>  From libvirt's POV the only things that should matter are
>
>   - Permission for 'qemu:qemu' user/group to execute the binary (and access
>     parent directories)
>   - AppArmour profile support, or SELinux label (as appropriate for disto)
>
>
>
> Regards,
> Daniel

Thanks Daniel. When you say qemu:qemu I understant libvirt-qemu:kvm 
user/group? Because in my system there is no qemu user nor qemu group.

Nevertheless, trying to move on, I recompiled QEMU with --prefix=/usr, 
to just override the original binaries (despite my will), and it worked 
partially. virsh start vm1 boots the VM but at the time to migrate it to 
another host:

virsh migrate --persistent --verbose --copy-storage-inc vm1 
qemu+ssh://gco-4:17179/system
error: Unable to read from monitor: Connection reset by peer

At this point, if the VM starts and I can open VNC connection) I guess 
that the answer will be that it's something QEMU related, and that 
libvirt doesn't have anything to do, but I just want to be sure about that.

Thanks a lot.




More information about the libvirt-users mailing list