[libvirt-users] problem with disk virtio driver

Andrea Bolognani abologna at redhat.com
Wed Oct 5 13:45:39 UTC 2016

On Wed, 2016-10-05 at 12:13 +0100, Andrei Perietanu wrote:
> I just ran into a problem I can't make heads or tails of,
> so I'm hoping to get some help here.
> I have a custom built Embedded Linux running qemu-kvm
> 1.1.2 and libvirt 1.2.20
> I'm creating a domain with the following config:
> <domain type='kvm'>
>   <name>myVM</name>  
>   <memory unit='KiB'>2097152</memory>  
>   <vcpu placement='static'>2</vcpu>  
>   <os>
>     <type arch='x86_64'>hvm</type>
>     <boot dev='hd'/>  
>     <boot dev='cdrom'/>    
>   </os>
>   <features>
>     <acpi/>
>     <apic/>
>   </features>
>   <cpu mode='host-model'/>
>   <clock offset='utc'>
>     <timer name='rtc' tickpolicy='catchup'/>
>     <timer name='pit' tickpolicy='delay'/>
>     <timer name='hpet' present='no'/>
>   </clock>
>   <on_poweroff>destroy</on_poweroff>
>   <on_reboot>restart</on_reboot>
>   <on_crash>restart</on_crash>  
>   <devices>
>     <disk type='file' device='cdrom'>
>       <driver name='qemu' type='raw'/>
>       <target dev='hdb' bus='ide'/>
>       <source file='custom.iso'/>
>       <readonly/>
>     </disk>
>     <disk type='file' device='disk'>
>       <driver name='qemu' type='qcow2'/>
>       <source file='/path/to/vdisk.img'/>
>       <target dev='vda' bus='virtio'/>      
>     </disk>
>     <controller type='pci' model='pci-root'/>
>     <controller type='usb'/>
>     <controller type='ide'/>
>    <interface type='bridge'>
>       <source bridge='virbr0'/>      
>       <model type='virtio'/>
>     </interface>
>     <serial type='pty'>
>       <target port='0'/>
>     </serial>
>     <console type='pty'>
>       <target type='serial' port='0'/>
>     </console>
>     <input type='tablet' bus='usb'/>
>     <input type='mouse' bus='ps2'/>
>     <input type='keyboard' bus='ps2'/>
>     <graphics type='vnc' port='-1' autoport='yes'/>
>     <video>
>       <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/>
>     </video>
>     <watchdog model='i6300esb' action='reset'/>
>     <memballoon model='none'/>   
>   </devices>
> </domain>

There doesn't seem to be anything obviously wrong with your
guest configuration.

> Granted the OS I'm installing is again a custom Linux with
> some software running on top ..so It's not a well known
> OS...but I'm hoping that does not matter much. 

It shouldn't.

> After installation I get all sorts of kernel panics and
> errors about services not being able to start. 

Wait, so the OS installer is perfectly happy and runs to
completion, but once you boot the installed OS you get a
bunch of errors?

That sounds more like a faulty guest OS configuration than
anything wrong with the virtual hardware. It most certainly
doesn't sound like it could be anything disk related,
because if that was the case the installer wouldn't have
been able to access it in the first place.

"All sorts of kernel panics and errors about services not
being able to start" is *extremely* generic though, you'll
have to be way more specific if you hope to get any help :)

> So I tried the same thing on ubuntu 14.04.2 LTS which
> installed qemu-kvm 2.0.0 and libvirt 1.2.2
> Same config xml, but this time it worked better -I was
> not getting the kernel panics.

Did you perform a new installation on the Ubuntu host?
Or did you copy the qcow2 image over from the custom
Linux host? Did you try going the other way around, eg.
copy the working guest from the Ubuntu host to the
custom Linux host?

> The OS I'm installing does not support IDE disks, it
> needs a virtio disk.

And your guest configuration supplies one, so you should
be all set on that front.

> The obvious solution here would be to try and get a newer
> version of qemu, but since we're talking about a custom
> built Linux I'd have to add the package manually and
> compile from source...which cakes a long time to do. So
> before attempting that....just wondering....is there a
> better way? Anything I can try?

I think you're seriously overestimating the time it would
take to compile QEMU or libvirt from source ;)

An hour or so should be plenty to rebuild both components
from source, and most of that time would be spent figuring
out and gathering the build requirements rather than

Andrea Bolognani / Red Hat / Virtualization

More information about the libvirt-users mailing list