d2467284e8
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>
33 lines
993 B
Docker
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
|