Virt-v2v is a program that converts a single guest from a foreign hypervisor to run on KVM. It can read Linux and Windows guests running on VMware, Xen, Hyper-V and some other hypervisors, and convert them to KVM managed by libvirt, OpenStack, oVirt, Red Hat Virtualisation (RHV) or several other targets. It can modify the guest to make it bootable on KVM and install virtio drivers so it will run quickly. There is also a companion front-end called virt-p2v (https://github.com/libguestfs/virt-p2v) which comes as an ISO, CD or PXE image that can be booted on physical machines to virtualize those machines (physical to virtual, or p2v). Virt-v2v and virt-p2v have been in continuous development since 2007. For more information about virt-v2v and virt-p2v please read the respective manual pages. For virt-v2v, see the docs/ subdirectory in the source tree. BUILDING FROM SOURCE ====================================================================== To build from git: git submodule update --init autoreconf -i ./configure make To build from tarball: ./configure make You can run virt-v2v without installing it: ./run virt-v2v ... To run the tests: make check REQUIREMENTS ====================================================================== * libguestfs (https://libguestfs.org) * OCaml bindings for libguestfs * OCaml bindings for libvirt (https://gitlab.com/libvirt/libvirt-ocaml) * libnbd >= 1.10 (https://gitlab.com/nbdkit/libnbd) * The 'nbdinfo' and 'nbdcopy' programs from libnbd. * OCaml bindings for libnbd * nbdkit >= 1.27.4 (https://gitlab.com/nbdkit/nbdkit) * These nbdkit plugins and filters: + nbdkit-curl-plugin + nbdkit-file-plugin + nbdkit-nbd-plugin + nbdkit-null-plugin + nbdkit-python-plugin + nbdkit-ssh-plugin + nbdkit-vddk-plugin + nbdkit-cacheextents-filter + nbdkit-cow-filter + nbdkit-multi-conn-filter + nbdkit-rate-filter + nbdkit-retry-filter * qemu-nbd * qemu-img Optional, for enhancements to the basic program: * OCaml gettext * virtio-win (Windows virtio device drivers) Optional, used by the test suite: * guestfish * OCaml oUnit2