mirror of
https://github.com/armel/uv-k1-k5v3-firmware-custom.git
synced 2026-10-02 03:15:37 +00:00
40 lines
1.5 KiB
Plaintext
40 lines
1.5 KiB
Plaintext
FROM mcr.microsoft.com/devcontainers/python:3.10-bookworm
|
|
|
|
# ---------------------------------------------
|
|
# Base build tools
|
|
# ---------------------------------------------
|
|
RUN rm -f /etc/apt/sources.list.d/yarn.list && \
|
|
apt-get update && apt-get install -y --no-install-recommends \
|
|
build-essential cmake ninja-build python3 curl xz-utils ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# ---------------------------------------------
|
|
# Install ARM GNU Toolchain (host autodetect)
|
|
# Works with or without TARGETARCH/BuildKit
|
|
# ---------------------------------------------
|
|
ARG ARM_GCC_VERSION=13.3.rel1
|
|
ARG TARGETARCH # may be unset under legacy builder
|
|
|
|
RUN set -e; \
|
|
# Derive base arch: prefer TARGETARCH if provided, fallback to uname -m
|
|
BASE_ARCH="${TARGETARCH:-}"; \
|
|
if [ -z "$BASE_ARCH" ]; then BASE_ARCH="$(uname -m)"; fi; \
|
|
case "$BASE_ARCH" in \
|
|
amd64|x86_64) HOSTARCH="x86_64" ;; \
|
|
arm64|aarch64) HOSTARCH="aarch64" ;; \
|
|
*) HOSTARCH="x86_64" ;; \
|
|
esac; \
|
|
TARBALL="arm-gnu-toolchain-${ARM_GCC_VERSION}-${HOSTARCH}-arm-none-eabi.tar.xz"; \
|
|
URL="https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/${ARM_GCC_VERSION}/binrel/${TARBALL}"; \
|
|
echo "Downloading ${URL}"; \
|
|
curl -fL -O "${URL}"; \
|
|
tar -xf "${TARBALL}"; \
|
|
rm "${TARBALL}"; \
|
|
DIR="$(ls -d arm-gnu-toolchain-${ARM_GCC_VERSION}-*-arm-none-eabi)"; \
|
|
mv "${DIR}" /opt/toolchain
|
|
|
|
# Toolchain in PATH
|
|
ENV PATH="/opt/toolchain/bin:${PATH}"
|
|
|
|
WORKDIR /src
|