[libvirt] hvm/x86_64 combination not allowed

Daniel P. Berrange berrange at redhat.com
Sun Jan 17 13:06:20 UTC 2010


On Thu, Jan 14, 2010 at 01:26:35PM -0600, Steve Brown wrote:
> I have a VM that I am able to run using qemu form a command prompt
> with no problems.  I want to run it from within libvirt, so I
> converted my qemu command to XML using 'virsh domxml-from-native ...'
> My problem is that my libvirt does not seem to support the x86_64
> architecture, so when I try to launch the VM, the kernel won't built
> since it was installed on x86_64.  My os container is as follows (as
> imported by virsh):
> 
> <os>
>   <type arch='i686' machine='pc-0.11'>hvm</type>
>   <boot dev='hd'/>
> </os>
> 
> However, when I try to change it to this:
> 
> <os>
>   <type arch='x86_64'>hvm</type>
>   <boot dev='hd'/>
> </os>
> 
> I get the following message:
> 
> error: internal error os type 'hvm' & arch 'x86_64' combination is not supported
> 
> I've searched for a proper command line switch to build this option
> into libvirt, but I have not had any success.  So how do I get libvirt
> to support the x86_64 arch?
> 
> Thanks,
> Steve
> 
> PS:
> $ 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


daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list