1# 2# Docker cross-compiler target 3# 4# This docker target builds on the debian stretch base image, 5# using a prebuilt toolchains for Xtensa cores from: 6# https://github.com/foss-xtensa/toolchain/releases 7# 8FROM docker.io/library/debian:11-slim 9 10RUN apt-get update && \ 11 DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ 12 DEBIAN_FRONTEND=noninteractive eatmydata \ 13 apt-get install -y --no-install-recommends \ 14 build-essential \ 15 ca-certificates \ 16 curl \ 17 gettext \ 18 git \ 19 python3-minimal && \ 20 dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt 21 22ENV CPU_LIST dc232b dc233c de233_fpu dsp3400 23ENV TOOLCHAIN_RELEASE 2020.07 24 25RUN for cpu in $CPU_LIST; do \ 26 curl -#SL http://github.com/foss-xtensa/toolchain/releases/download/$TOOLCHAIN_RELEASE/x86_64-$TOOLCHAIN_RELEASE-xtensa-$cpu-elf.tar.gz \ 27 | tar -xzC /opt; \ 28 done 29 30ENV PATH $PATH:/opt/$TOOLCHAIN_RELEASE/xtensa-dc232b-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dc233c-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-de233_fpu-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dsp3400-elf/bin 31ENV MAKE /usr/bin/make 32# As a final step configure the user (if env is defined) 33ARG USER 34ARG UID 35RUN if [ "${USER}" ]; then \ 36 id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi 37