Arm ports build machines (was Re: Arch qualification for buster: call for DSA, Security, toolchain concerns)
On Fri, Jun 29, 2018 at 11:23:25AM +0200, Julien Cristau wrote:
>On 06/29/2018 09:16 AM, Uwe Kleine-König wrote:
>>> [DSA Sprint report]:
>> In this report Julien Cristau wrote:
>>> In short, the hardware (development boards) we're currently using to
>>> build armel and armhf packages aren't up to our standards, and we
>>> really, really want them to go away when stretch goes EOL (expected in
>>> 2020). We urge arm porters to find a way to build armhf packages in
>>> VMs or chroots on server-class arm64 hardware.
>> If the concerns are mostly about the hardware not being rackable, there
>> is a rackable NAS by Netgear:
>> with an armhf cpu. Not sure if cpu speed (1.2 GHz) and available RAM (2
>> GiB) are good enough. The machine can run mainline Linux. I think
>> U-Boot doesn't support this machine in mainline though.
>Rackable, while good, is only part of it. The main part is remote
>management. I'm not seeing any mention of ipmi or anything like that in
>2G is also way too little memory these days for a new buildd.
Nod - lots of packages are just too big for that now.
So, here's a summary of the current build/porter machines we have for
the arm ports.
armel/armhf *only* build machines
We're mostly using dev boards to build 32-bit arm stuff yet.
* 7 Marvell Armada XP machines: dev boards supplied in a box, 4GiB
RAM - see http://photos.einval.com/gallery/2014_marvell_buildd
These are nice powerful little machines, but they're a PITA to
manage for power (won't cold boot without a button push) and serial
(USB serial exposed only). We have 6 of these as build boxes and 1
porter box, and I have a spare ready to go into service if
desired. They *don't* have NEON, so we also still have:
* 1 Freescale imx53 dev board as a porter box - old, slow Cortex A8
machine with only 1GiB of RAM. This works better for serial, but
remote power issues again - needs a button push to cold boot. Will
happily retire this once we have NEON available by default.
Each of these dev boards only has support for 1 disk, so disk failures
arm64 build machines
These are all more normal computers, with better support for remote
power and serial, DIMM slots, multiple disks, etc.
* APM Mustang (X-Gene 1): officially EOL, but working fine for
now. Normal server-class machine (although supplied in a small
desktop case!) with some onboard server management stuff. We
currently have one of these. We used to have more loaned/hosted by
Linaro, and I've had an offer of more of these if we're
interested. They'll build and run A32 (32-bit instruction set) as
well as A64.
* Gigabyte MP30-AR0 (X-Gene 1): server systems based on the Mustang
core - see
Capable of building/running A32 and A64.
* AMD Seattle (Opteron A1100): officially EOL too, but working
fine. Same as the Softiron 3000, 2U rackmount case. Capable of
building/running A32 and A64. One of these has just been configured
to build armhf only.
I understand DSA's reluctance to continue supporting dev boards as
build platforms - I've been the one working on some of these machines
in the machine room at Arm, and it's painful when you can't reliably
reboot or get onto the console of crashed machines. We've also had a
spate of disk failures recently which has caused extended downtime.
I'm just in the middle of switching the arm64 machines here to using
SW RAID to mitigate that in future, and that's just not an option on
the dev boards. We want to move away from dev boards for these
reasons, at the very least.
So, at the moment as far as I can see we're happy with our current
arm64 build machines. They are ageing, so obviously I'm continuing to
look out for new options there as well. *But* my priority is new
options for 32-bit building too. Following standard Debian practice,
we want to build *natively* (i.e. not using cross-building or using
hardware emulation). Building 32-bit code on a 64-bit platform should
not be an issue so long as the platform can also execute that 32-bit
I am not aware of any 32-bit Arm *server* platforms shipping
today. Some have existed in the past (e.g. Calxeda), but almost
universally people have moved on to 64-bit now. The awkward thing that
is now becoming more common in the arm64 server world is that quite a
few of the vendors are not seeing any value in A32 support so they're
leaving it out of their CPUs. We'll need to be careful about that.
Options I can see today for new publically available machines are
here. I'm sure I'll have missed something obvious - please feel free
to improve on this list!
* Macchiatobin  - based on the Marvell 8040 SoC (4-core Cortex
A72), supports both A32 and A64. Standard format (mini-itx) board
mountable in a rack case. DIMM slot supports up to 16GiB, 3 SATA
ports, multiple onboard NICs. Supported in mainline upstream
kernel. Console on USB :-/. Readily available to buy.
* Synquacer  - based on the Socionext SC2A11 SoC (24-core Cortex
A53), supports both A32 and A64. Standard format (ATX) board
mountable in a rack case. DIMM slots supports up to 4x16GiB, 2 SATA
ports, onboard NIC. Supported in mainline upstream kernel. I'm
hoping to get some of these machines donated to us from Linaro.
* Qualcomm Centriq  - based on Qualcomm's Falkor CPU. Only
supports A64 - no A32 support. All the big features you'd want in a
big expensive server (management, RAM, I/O). Development machines
available, but difficult to get hold of for the general
public. Supported in mainline upstream kernel, some of it
backported for Stretch (9.5) in #896775.
* ThunderX 2  - Cavium's second generation of AArch64 server
CPU. Only supports A64 - no A32 support. All the big features you'd
want in a big expensive server (management, RAM, I/O). Development machines
available, but difficult to get hold of for the general
public. Supported in mainline upstream kernel.
* HiSilicon D05  - HiSilicon's latest AArch64 server CPU and
board. AFAIK only supports A64 - no A32 support. All the big
features you'd want in a big expensive server (management, RAM,
I/O). Development machines available, but difficult to get hold of
for the general public - I've been trying for a while with
HiSilicon. Not sure about upstream kernel support.
While they're on the lower end of this list, I think the Macchiatobin
and Synquacer are probably our best bets *at the moment*, particularly
when considering A32 support. In suitable rack cases with PDU and
serial console, would those work for DSA's needs?
Steve McIntyre, Cambridge, UK. firstname.lastname@example.org
Can't keep my eyes from the circling sky,
Tongue-tied & twisted, Just an earth-bound misfit, I...