I've added some commits to ensure libguestfs can compile on Fedora/ARM
(with all options and bindings enabled except Haskell).
However it doesn't quite run yet:
(1) The Fedora qemu package is broken. Don't use it; compile qemu
from source instead.
(2) You have to configure libguestfs to pass extra qemu options.
Currently you should use:
PATH=/path/to/your/qemu/arm-softmmu:$PATH \
./autogen.sh \
--with-qemu=qemu-system-arm \
--with-qemu-options="-M versatilepb -cpu arm926"
(3) The versatilepb emulated system only supports memory < 512MB, and
will only boot the standard kernel, so when running you need something
like this:
FEBOOTSTRAP_KERNEL=/boot/vmlinuz-3.3.4-4.fc17.armv7hl \
FEBOOTSTRAP_MODULES=/lib/modules/3.3.4-4.fc17.armv7hl \
LIBGUESTFS_MEMSIZE=256 \
LIBGUESTFS_DEBUG=1 \
make check
(4) Currently this will fail because the virtio-pci driver doesn't
work on ARM. The characteristic stack trace starts with:
[ 4.841052] [<c0230a08>] (vp_reset+0x14/0x64) from [<c022fa48>]
(register_virtio_device+0x4c/0x94)
[ 4.844047] [<c022fa48>] (register_virtio_device+0x4c/0x94) from
[<c04277bc>] (virtio_pci_probe+0x100/0x168)
[ 4.846966] [<c04277bc>] (virtio_pci_probe+0x100/0x168) from [<c02138e0>]
(pci_device_probe+0x90/0x120)
[ 4.850258] [<c02138e0>] (pci_device_probe+0x90/0x120) from [<c025fe98>]
(driver_probe_device+0x148/0x2c4)
(Note that you cannot work around this by choosing a different block
driver, because eventually virtio-serial is required which will fail
in the same way).
(5) To fix (4), it is planned to move to vexpress emulation. This
also lifts the memory limit to <= 2GB. vexpress doesn't have PCI at
all, but it has a non-upstream virtio-mmio transport which allegedly
works (I've not tried it). This also requires a new kernel for
Fedora/ARM build with vexpress support. The configure options
mentioned in step (2) will change to:
--with-qemu-options="-M vexpress-a9 -cpu cortex-a9"
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming blog:
http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora