libguestfs now has experimental support for 32-bit ARM, including KVM
on ARM. You will need at least the following to make it all work:
- libguestfs 1.23.21 + 6e498461f6
Use ./configure --with-default-backend=direct. The libvirt backend
does not work (yet).
- supermin 4.1.5 + a55d9cf157
- kernel that supports virtio-mmio, virtio-scsi, virtio-serial
Note that the Fedora 20 kernel has missing virtio-serial support
(RHBZ#1005551) so you have to compile your own appliance kernel.
- qemu 1.6.0 or from git
To use KVM:
- Cortex-A15 hardware that boots into Hyp mode
- host kernel >= 3.11 with LPAE + KVM support
(You can also use regular ARM hardware w/o KVM support, or qemu.)
If you need different host and appliance kernels, then set
SUPERMIN_KERNEL to point to the appliance vmlinuz and SUPERMIN_DTB to
point to the device tree file called 'vexpress-v2p-ca9.dtb'. If host
kernel == appliance kernel (as on x86), then you shouldn't need to set
any environment variables.
It's expected that some tests in the libguestfs test suite will fail.
I'm working on fixing those. However the majority should run fine, as
should 'make quickcheck' (ie. libguestfs-test-tool) -- if
libguestfs-test-tool doesn't work then you're missing some dependency
above.
I'm also working on making the libvirt backend work.
The UML backend does not work on ARM (this is a limitation of UML).
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v