1#
2# Docker arm64 cross-compiler target
3#
4# This docker target builds on the debian Buster base image.
5#
6FROM qemu:debian10
7
8# Add the foreign architecture we want and install dependencies
9RUN dpkg --add-architecture arm64
10RUN apt update && \
11    DEBIAN_FRONTEND=noninteractive eatmydata \
12    apt install -y --no-install-recommends \
13        crossbuild-essential-arm64
14RUN apt update && \
15    DEBIAN_FRONTEND=noninteractive eatmydata \
16    apt build-dep -yy -a arm64 --arch-only qemu
17
18# Specify the cross prefix for this image (see tests/docker/common.rc)
19ENV QEMU_CONFIGURE_OPTS --cross-prefix=aarch64-linux-gnu-
20ENV DEF_TARGET_LIST aarch64-softmmu,aarch64-linux-user
21
22RUN apt update && \
23    DEBIAN_FRONTEND=noninteractive eatmydata \
24    apt install -y --no-install-recommends \
25        libbz2-dev:arm64 \
26        liblzo2-dev:arm64 \
27        librdmacm-dev:arm64 \
28        libsnappy-dev:arm64 \
29        libxen-dev:arm64
30
31# nettle
32ENV QEMU_CONFIGURE_OPTS $QEMU_CONFIGURE_OPTS --enable-nettle
33