[CentOS-virt] Where should CentOS users get /usr/share/virtio-win/drivers for virt-v2v?

Mon Jun 4 13:33:47 UTC 2012
Philip Durbin <philipdurbin at gmail.com>

I need to migrate a number of virtual machines from VMware ESX to CentOS 
6 KVM hypervisors. Ultimately, I wrote an RPM spec file that solved my 
problem at 
https://github.com/fasrc/virtio-win/blob/master/virtio-win.spec but I'm 
not sure if there's another RPM in base CentOS or EPEL (something 
standard) I should be using instead.

Originally, I was getting this "No root device found in this operating 
system image" error when attemting to migrate a Window 2008 VM. . .

     [root at kvm01b ~]# virt-v2v -ic 
'esx://my-vmware-hypervisor.example.com/' \
     -os transferimages --network default my-vm
     virt-v2v: No root device found in this operating system image.

. . . but I solved this with a simply `yum install 
libguestfs-winsupport` since [the docs][v2v-guide] say:

 > If you attempt to convert a virtual machine using NTFS without the
 > libguestfs-winsupport package installed, the conversion will fail.

Next I got an error about missing drivers for Windows 2008. . .

     [root at kvm01b ~]# virt-v2v -ic 
'esx://my-vmware-hypervisor.example.com/' \
     -os transferimages --network default my-vm
     my-vm_my-vm: 100% [====================================]D
     virt-v2v: Installation failed because the following files referenced in
     the configuration file are required, but missing:
     /usr/share/virtio-win/drivers/amd64/Win2008

. . . and I resolved this by grabbing an iso from Fedora at 
http://alt.fedoraproject.org/pub/alt/virtio-win/latest/ as recommended 
by http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers 
and building an RPM from it with this spec file: 
https://github.com/fasrc/virtio-win/blob/master/virtio-win.spec

Now, virt-v2v exits without error:

     [root at kvm01b ~]# virt-v2v -ic 
'esx://my-vmware-hypervisor.example.com/' \
     -os transferimages --network default my-vm
     my-vm_my-vm: 100% [====================================]D
     virt-v2v: my-vm configured with virtio drivers.
     [root at kvm01b ~]#

Now, my question is, rather that the [virtio-win RPM from the spec file 
I 
wrote](https://github.com/fasrc/virtio-win/blob/master/virtio-win.spec), 
is there some other more standard RPM in base CentOS or EPEL that will 
resolve the error above?

Here's a bit more detail about my setup:

     [root at kvm01b ~]# cat /etc/redhat-release
     CentOS release 6.2 (Final)
     [root at kvm01b ~]# rpm -q virt-v2v
     virt-v2v-0.8.3-5.el6.x86_64

See also [Bug 605334 – VirtIO driver for windows does not show specific 
OS: Windows 7, Windows 
2003](https://bugzilla.redhat.com/show_bug.cgi?id=605334)

[v2v-guide]: 
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/V2V_Guide/sect-V2V_Guide-Configuration_Changes-Configuration_Changes_for_Windows_Virtual_Machines.html

Thanks,

Phil

p.s. I also posted this on Server Fault.  If you prefer to answer there, 
I would be happy to summarize the answers and report back to the list: 
http://serverfault.com/questions/395347/where-should-centos-users-get-usr-share-virtio-win-drivers-for-virt-v2v