qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
Alex Bennée d2467284e8 tests/docker: use --arch-only for installing deps
The Debian QEMU packages require a bunch of cross compilers for
building firmware which aren't available on all host architectures.
Using --arch-only skips this particular requirement and allows us to
install just the dependencies we need.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-09-10 14:14:31 +01:00

33 lines
993 B
Docker

#
# Docker arm64 cross-compiler target
#
# This docker target builds on the debian Buster base image.
#
FROM qemu:debian10
# Add the foreign architecture we want and install dependencies
RUN dpkg --add-architecture arm64
RUN apt update && \
DEBIAN_FRONTEND=noninteractive eatmydata \
apt install -y --no-install-recommends \
crossbuild-essential-arm64
RUN apt update && \
DEBIAN_FRONTEND=noninteractive eatmydata \
apt build-dep -yy -a arm64 --arch-only qemu
# Specify the cross prefix for this image (see tests/docker/common.rc)
ENV QEMU_CONFIGURE_OPTS --cross-prefix=aarch64-linux-gnu-
ENV DEF_TARGET_LIST aarch64-softmmu,aarch64-linux-user
RUN apt update && \
DEBIAN_FRONTEND=noninteractive eatmydata \
apt install -y --no-install-recommends \
libbz2-dev:arm64 \
liblzo2-dev:arm64 \
librdmacm-dev:arm64 \
libsnappy-dev:arm64 \
libxen-dev:arm64
# nettle
ENV QEMU_CONFIGURE_OPTS $QEMU_CONFIGURE_OPTS --enable-nettle