From 1230ee08aad6366e5a595479bd34cc5ec3b37a69 Mon Sep 17 00:00:00 2001 From: "Ben V. Brown" Date: Sun, 21 Mar 2021 22:13:37 +1100 Subject: [PATCH 1/2] Update to latest arm released compiler --- Dockerfile | 22 +++++++++++-------- ...-10-2020-q4-major-x86_64-linux.tar.bz2.md5 | 1 + ...-9-2020-q2-update-x86_64-linux.tar.bz2.md5 | 1 - setup.sh | 10 ++++----- 4 files changed, 19 insertions(+), 15 deletions(-) create mode 100644 ci/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2.md5 delete mode 100644 ci/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2.md5 diff --git a/Dockerfile b/Dockerfile index 79607ea0..e9c1aa57 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,24 +2,28 @@ FROM ubuntu:20.04 LABEL maintainer="Ben V. Brown " WORKDIR /build -# Setup the ARM GCC toolchain - -# Install any needed packages specified in requirements.txt -RUN apt-get update && \ - apt-get install -y \ +# Add extra mirrors for options +RUN echo "deb mirror://mirrors.ubuntu.com/mirrors.txt focal main restricted universe multiverse" > /etc/apt/sources.list && \ + echo "deb mirror://mirrors.ubuntu.com/mirrors.txt focal-updates main restricted universe multiverse" >> /etc/apt/sources.list && \ + echo "deb mirror://mirrors.ubuntu.com/mirrors.txt focal-security main restricted universe multiverse" >> /etc/apt/sources.list && \ + DEBIAN_FRONTEND=noninteractive apt-get update +# Install dependencies to build the firmware +RUN apt-get install -y \ make \ bzip2 \ git \ python3 \ python3-pip \ - wget && \ + wget --no-install-recommends && \ apt-get clean RUN python3 -m pip install bdflib -RUN wget -qO- https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 | tar -xj -RUN wget -qO- https://github.com/Ralim/nuclei-compiler/releases/download/2020.08/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2 | tar -xj +# Download the two compilers +RUN wget -qO- "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2" | tar -xj +# This is the same as the one from Nuclei, just mirrored on Github as their download server is horrifically slow +RUN wget -qO- "https://github.com/Ralim/nuclei-compiler/releases/download/2020.08/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2" | tar -xj # Add compiler to the path -ENV PATH "/build/gcc-arm-none-eabi-9-2020-q2-update/bin:$PATH" +ENV PATH "/build/gcc-arm-none-eabi-10-2020-q4-major/bin:$PATH" ENV PATH "/build/gcc/bin/:$PATH" COPY . /build/source COPY ./ci /build/ci diff --git a/ci/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2.md5 b/ci/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2.md5 new file mode 100644 index 00000000..ebc9ecaf --- /dev/null +++ b/ci/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2.md5 @@ -0,0 +1 @@ +8312c4c91799885f222f663fc81f9a31 gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 diff --git a/ci/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2.md5 b/ci/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2.md5 deleted file mode 100644 index a165cc93..00000000 --- a/ci/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2.md5 +++ /dev/null @@ -1 +0,0 @@ -2b9eeccc33470f9d3cda26983b9d2dc6 gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 diff --git a/setup.sh b/setup.sh index 713636c4..3d653398 100644 --- a/setup.sh +++ b/setup.sh @@ -12,25 +12,25 @@ cd /build MDPATH=${GITHUB_WORKSPACE:-/build/source/} sudo mkdir -p /build/cache cd /build/cache/ -if md5sum -c $MDPATH/ci/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2.md5; then +if md5sum -c $MDPATH/ci/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2.md5; then echo "Good MD5 ARM" else echo "ARM MD5 Mismatch, downloading fresh" - sudo wget -q https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 -O gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 + sudo wget -q "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2" -O gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 fi if md5sum -c $MDPATH/ci/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2.md5; then echo "Good MD5 RISCV" else echo "RISCV MD5 Mismatch, downloading fresh" - sudo wget -q https://github.com/Ralim/nuclei-compiler/releases/download/2020.08/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2 -O nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2 + sudo wget -q "https://github.com/Ralim/nuclei-compiler/releases/download/2020.08/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2" -O nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2 fi echo "Extracting compilers" -sudo tar -xj -f gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 -C /build/ +sudo tar -xj -f gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 -C /build/ sudo tar -xj -f nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2 -C /build/ echo "Link into PATH" -sudo ln -s /build/gcc-arm-none-eabi-9-2020-q2-update/bin/* /usr/local/bin +sudo ln -s /build/gcc-arm-none-eabi-10-2020-q4-major/bin/* /usr/local/bin sudo ln -s /build/gcc/bin/* /usr/local/bin From 6a09ba6a16db2052ba28275f19869ef050fe156b Mon Sep 17 00:00:00 2001 From: "Ben V. Brown" Date: Sun, 21 Mar 2021 22:16:52 +1100 Subject: [PATCH 2/2] Remove old compilers --- setup.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.sh b/setup.sh index 3d653398..ed53c481 100644 --- a/setup.sh +++ b/setup.sh @@ -17,6 +17,7 @@ if md5sum -c $MDPATH/ci/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2. else echo "ARM MD5 Mismatch, downloading fresh" sudo wget -q "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2" -O gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 + rm -rf $MDPATH/ci/gcc-arm*.bz2 || true fi if md5sum -c $MDPATH/ci/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2.md5; then @@ -24,6 +25,7 @@ if md5sum -c $MDPATH/ci/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2.md else echo "RISCV MD5 Mismatch, downloading fresh" sudo wget -q "https://github.com/Ralim/nuclei-compiler/releases/download/2020.08/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2" -O nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2 + rm -rf $MDPATH/ci/nuclei*.bz2 || true fi echo "Extracting compilers"