arm64 as Tier 1 for FreeBSD 13

greg at unrelenting.technology greg at unrelenting.technology
Tue Dec 3 15:12:54 UTC 2019


December 3, 2019 1:57 PM, "Ed Maste" <emaste at freebsd.org> wrote:

>> Developers should be able to build packages on commonly available,
>> non-embedded Tier 1 systems. This can mean either native builds if
>> non-embedded systems are commonly available for the platform in question,
>> or it can mean cross-builds hosted on some other Tier 1 architecture.
> 
> This is somewhat of a challenge today - there aren't many arm64
> platforms readily available in a configuration most suited to
> developer use, such as a 4- or 8-core system with 16GB of RAM and
> SATA- or NVMe-connected storage. Smaller systems (e.g. Pine64) are
> readily available but not quite capable enough; larger systems (e.g.
> Marvell ThunderX and Ampere eMAG) are out of reach for typical
> developer use. User-mode QEMU cross-builds are a possibility, but this
> item is one that should resolve over time as new platforms become
> available.

The Marvell/SolidRun MACCHIATObin is an affordable 4-core (Cortex A72)
with DDR4 (takes one full size DIMM), SATA, USB 3.0 and PCIe.
And most importantly, excellent firmware support (upstream EDK2+TrustedFirmware).
The PCIe is rather quirky (I really should make a proper blog post already)
but I have it working with a Radeon RX 480.
It can be a decent developer desktop if you're fine with
"2013 era ultrabook" levels of performance :D

Though honestly if we're talking just about build machines, the RPi4 is also
a 4xA72.. Of course the elephant in the room is the RAM :(
But at least it has USB 3.0 for I/O, and we won't actually need to support PCIe:
https://github.com/pftf/edk2-platforms/commit/f6469886e216390f460494b81a4a4bf78cb66ba8

Also, nothing in "non-embedded systems" says "hardware you physically own", right?
An EC2 a1.4xlarge (spot) instance is an excellent way to build big software.


More information about the freebsd-arch mailing list