2010/1/18 Steve Brown <sbrown25(a)gmail.com>:
>> $ sudo virsh capabilities
>> <capabilities>
>> <host>
>> <cpu>
>> <arch>x86_64</arch>
>> </cpu>
>> <migration_features>
>> <live/>
>> <uri_transports>
>> <uri_transport>tcp</uri_transport>
>> </uri_transports>
>> </migration_features>
>> </host>
>> <guest>
>> <os_type>hvm</os_type>
>> <arch name='i686'>
>> <wordsize>32</wordsize>
>> <emulator>/usr/bin/qemu</emulator>
>> <machine>pc-0.11</machine>
>> <machine canonical='pc-0.11'>pc</machine>
>> <machine>pc-0.10</machine>
>> <machine>isapc</machine>
>> <domain type='qemu'>
>> </domain>
>> </arch>
>> <features>
>> <pae/>
>> <nonpae/>
>> <acpi default='on' toggle='yes'/>
>> <apic default='on' toggle='no'/>
>> </features>
>> </guest>
>> </capabilities>
>
> Ok, this confirms your host OS is x86_64, but it only shows a single
> guest entry for i386. This is because the 'qemu' binar is the 32-bit
> emulator. To make x86_64 guests work, you need to install the
> qemu-system-x86_64 binary, or a KVM binary called 'kvm' or
'qemu-kvm'.
>
> Once those are installed, you should see another <guest> appear in
> that capabilities XML
Unfortunately, I already have the 64bit emulator installed:
$ which qemu-system-x86_64
/usr/local/bin/qemu-system-x86_64
$ ls -l /usr/local/bin/qemu-*
-rwxr-xr-x 1 root root 217184 Jan 14 14:00 /usr/local/bin/qemu-img
-rwxr-xr-x 1 root root 229120 Jan 14 14:00 /usr/local/bin/qemu-io
-rwxr-xr-x 1 root root 210968 Jan 14 14:00 /usr/local/bin/qemu-nbd
-rwxr-xr-x 1 root root 2323328 Jan 14 14:01 /usr/local/bin/qemu-system-x86_64
This was done by building the qemu-kvm-0.12.1.1 package from source.
I am able to run this vm just fine using the qemu-system-x86_64
binary. I've tried rebuilding libvirt several times to make it aware
that the proper binaries are installed, but it can't seem to find them
for some reason.
libvirt expects the QEMU binaries in /usr/bin. e.g. it explicitly
checks for /usr/bin/qemu-system-x86_64. Try symlinking
/usr/local/bin/qemu-system-x86_64 to /usr/bin/qemu-system-x86_64.
I'm not sure why the paths are hardcoded instead of using the PATH to
find the QEMU binaries, like the storage driver does it already:
virFindFileInPath("qemu-img")
Maybe Daniel can explain.
Matthias