Building core-specific ARM ports with QEMU
Douglas Beattie
beattidp at ieee.org
Sun Sep 15 18:19:55 UTC 2013
I'm still researching the issue of an ARM ports repository, whether it's a
private one for internal use, or eventually hosted on the Internet.
One question I have is: if Tinderbox is for building the kernel, what type
of automated build tools (with reporting/tracking), if any, are available for
the FreeBSD ports?
Anyway, here's my thought:
I have access to a dual-Xeon Proliant server, which I can provision any
reasonable number of FreeBSD VMs (virtual machines) within.
Many of you probably know of QEMU, the open-source processor emulator.
Using the executable 'qemu-system-arm' to simulate certain ARM cores,
dedicated ARM systems could run and build ports (or attempt to, and report
their result, and any failures).
Taking a look at the documentation, this strategy could provide a variety of
different ARM cores for building FreeBSD ports.
http://qemu.weilnetz.de/qemu-doc.html#ARM-System-emulator
- ARM Integrator/CP board emulation supports cores including
ARM926E, ARM1026E, ARM946E, ARM1136 or Cortex-A8 CPU
- Other board emulations support cores including ARM925T,
ARMv5TE, Cortex-M3, ARM11MPCore, and Cortex-A9 MPCore
As I mentioned previously, I used to boot debian-arm kernel this way, with disk,
network, and optional NFS access. (More links, http://wiki.qemu.org/Manual )
My reasoning here is that the effort to make solid ports for certain cores and board
emulations will pay for itself in the ability to build and validate FreeBSD ports for
ARM variants, built in parallel, by multiple virtual machines, in the cloud.
So, the big question I have at the moment is: which of these board emulations (if any),
and which ARM cores are currently supported to boot from?
--
Douglas Beattie
http://www.hytherion.com/beattidp/
More information about the freebsd-arm
mailing list