No, it's way more complex than that in virt-v2v. "yum
install kernel"
runs /sbin/new-kernel-pkg which (eventually) runs plain mkinitrd.
Unfortunately that just makes an initrd suitable for the current
(ie. pre-migration) hardware.
What you have to do is to run mkinitrd with all the right parameters
(by examining /sbin/new-kernel-pkg by hand) plus some extra parameters
to install the virtio drivers, something like 'mkinitrd --preload=virtio_blk
[...]'. You need at least the block driver in order to boot, and
after booting you should probably run /sbin/new-kernel-pkg again.
IMHO it would be better for the kernel to ship with a standard initrd
that does everything possible. dracut was meant to solve these
issues, but in reality it's just a much slower replacement for
mkinitrd. (Also they should have just used Debian's initramfs.)
Very interesting!
Anyway, I'd suggest you use virt-v2v. It supports file-based
guests
just fine.
Ahh. Now I see how it works. The migration is done entirely on the KVM
host when the guest is offline.
So I have actually the Xen guest locally on the KVM host connected
through the libvirt. Which is why I just can give virt-v2v the domain?
Thanks a bunch.