[Libguestfs] Notes on libguestfs on Fedora/ARM

Richard W.M. Jones rjones at redhat.com
Sat May 19 12:11:32 UTC 2012


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




More information about the Libguestfs mailing list