add ARM compatibility

This commit is contained in:
Mason Rowe
2021-06-05 03:12:29 -04:00
parent 02dc401e58
commit 857e14efe8
8 changed files with 124 additions and 10 deletions

View File

@@ -9,6 +9,15 @@ This directory contains all of the binaries required to run the benchmarking tes
* **iperf_x64** - v3.10 (compiled 28 May 2021) - 64-bit version
* **iperf_x86** - v3.10 (compiled 28 May 2021) - 32-bit version
### ARM Binaries
ARM compatibilty is considered experimental. Static binaries for ARM-based machines are cross-compiled within a Holy Build Box container using the [musl toolchain](https://musl.cc/).
* **fio_aarch64** - v3.27 (compiled 05 June 2021) - ARM 64-bit version
* **fio_arm** - v3.27 (compiled 05 June 2021) - ARM 32-bit version
* **iperf_aarch64** - v3.10 (compiled 05 June 2021) - ARM 64-bit version
* **iperf_arm** - v3.10 (compiled 05 June 2021) - ARM 32-bit version
### Compile Notes
**Pre-reqs**:
@@ -27,3 +36,21 @@ docker run -t -i --rm -v `pwd`:/io phusion/holy-build-box-32:latest linux32 bash
```
64-bit and 32-bit binaries will be placed in the current directory.
### ARM Compile Notes
Compilation of ARM-compatible binaries requires additional environment variables to identify the proper musl toolchain and architecture to target for cross-compilation.
**Compiling 64-bit binaries**:
```sh
docker run -t -i --rm -v `pwd`:/io --env ARCH=aarch64 --env CROSS=aarch64-linux-musl --env HOST=aarch64-linux-gnu phusion/holy-build-box-64:latest bash /io/compile-arm.sh
```
**Compiling 32-bit binaries**:
```sh
docker run -t -i --rm -v `pwd`:/io --env ARCH=arm --env CROSS=arm-linux-musleabihf --env HOST=arm-linux-gnueabihf phusion/holy-build-box-64:latest bash /io/compile-arm.sh
```
64-bit (aarch64) and 32-bit (arm) binaries will be placed in the current directory.