ci/a64.Containerfile
# SPDX-License-Identifier: AGPL-3.0-only
# Heimdall is a defensive sandbox. This image cross-builds Heimdall for
# aarch64 (glibc and musl) on an x86_64 host: the seccomp/probe kernel tests
# and the aarch64 profiles then run on an aarch64 kernel
# (scripts/aarch64-tests.sh boots one under qemu-system-aarch64).
#
# Build (FROM the heim-ci image of ci/ci.Containerfile):
# podman build -t localhost/nordisk-cargo-toolchain:heim-a64 -f ci/a64.Containerfile ci
FROM localhost/nordisk-cargo-toolchain:heim-ci
RUN dpkg --add-architecture arm64 \
&& apt-get update \
&& apt-get install -y --no-install-recommends crossbuild-essential-arm64 \
libseccomp-dev:arm64 qemu-user \
&& rm -rf /var/lib/apt/lists/*
RUN rustup target add aarch64-unknown-linux-gnu aarch64-unknown-linux-musl
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-gnu-gcc \
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER=qemu-aarch64 \
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUNNER=qemu-aarch64 \
QEMU_LD_PREFIX=/usr/aarch64-linux-gnu \
PKG_CONFIG_aarch64_unknown_linux_gnu=aarch64-linux-gnu-pkg-config \
PKG_CONFIG_ALLOW_CROSS=1