Skip to content

Commit 9474510

Browse files
authored
Merge branch 'main' into main
2 parents 8ba8f09 + 7ec90ab commit 9474510

File tree

3 files changed

+45
-26
lines changed

3 files changed

+45
-26
lines changed

Dockerfile.base

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ RUN python3 -m pip install -U --no-cache-dir pip && \
115115
-r https://raw.githubusercontent.com/zephyrproject-rtos/mcuboot/main/scripts/requirements.txt \
116116
GitPython imgtool junitparser junit2html numpy protobuf PyGithub \
117117
pylint sh statistics west \
118-
nrf-regtool~=7.0.0
118+
nrf-regtool~=9.0.1
119119
# Run pip check on x86 only for now, it fails on arm.
120120
RUN if [ "${HOSTTYPE}" = "x86_64" ]; then \
121121
pip3 check \

Dockerfile.ci

Lines changed: 40 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ ARG BASE_IMAGE
44
FROM ${BASE_IMAGE:-zephyrprojectrtos/ci-base:latest}
55

66
ARG USERNAME=user
7-
8-
ARG ZSDK_VERSION=0.17.0
7+
ARG ZSDK_VERSION=0.17.1-rc1
98
ENV ZSDK_VERSION=$ZSDK_VERSION
109
ARG KITWARE_NINJA_VERSION=1.11.1.g95dee.kitware.jobserver-1
1110
ENV KITWARE_NINJA_VERSION=$KITWARE_NINJA_VERSION
@@ -17,20 +16,24 @@ ARG RENODE_VERSION=1.15.3
1716
ENV RENODE_VERSION=$RENODE_VERSION
1817
ARG LLVM_VERSION=16
1918
ENV LLVM_VERSION=$LLVM_VERSION
20-
ARG BSIM_VERSION=v2.4
19+
ARG BSIM_VERSION=v2.5
2120
ENV BSIM_VERSION=$BSIM_VERSION
2221
ARG SPARSE_VERSION=9212270048c3bd23f56c20a83d4f89b870b2b26e
2322
ENV SPARSE_VERSION=$SPARSE_VERSION
2423
ARG PROTOC_VERSION=21.7
2524
ENV PROTOC_VERSION=$PROTOC_VERSION
26-
ARG FVP_BASE_REVC_VERSION=11.24_11
25+
ARG FVP_BASE_REVC_VERSION=11.27_19
2726
ENV FVP_BASE_REVC_VERSION=$FVP_BASE_REVC_VERSION
28-
ARG FVP_BASE_AEMV8R_VERSION=11.24_11
27+
ARG FVP_BASE_AEMV8R_VERSION=11.27_19
2928
ENV FVP_BASE_AEMV8R_VERSION=$FVP_BASE_AEMV8R_VERSION
30-
ARG FVP_CORSTONE300_VERSION=11.24_13
29+
ARG FVP_CORSTONE300_VERSION=11.27_42
3130
ENV FVP_CORSTONE300_VERSION=$FVP_CORSTONE300_VERSION
32-
ARG FVP_CORSTONE310_VERSION=11.24_13
31+
ARG FVP_CORSTONE310_VERSION=11.27_42
3332
ENV FVP_CORSTONE310_VERSION=$FVP_CORSTONE310_VERSION
33+
ARG FVP_CORSTONE315_VERSION=11.27_42
34+
ENV FVP_CORSTONE315_VERSION=$FVP_CORSTONE315_VERSION
35+
ARG FVP_CORSTONE320_VERSION=11.27_25
36+
ENV FVP_CORSTONE320_VERSION=$FVP_CORSTONE320_VERSION
3437
ARG WGET_ARGS="-q --show-progress --progress=bar:force:noscroll"
3538

3639
# Install Kitware ninja
@@ -86,7 +89,7 @@ RUN mkdir -p /opt/bsim_west && \
8689
ln -s /opt/bsim_west/bsim /opt/bsim
8790

8891
# Install cargo environment
89-
RUN wget -q -O- "https://sh.rustup.rs" | sh -s -- -y
92+
RUN wget -q -O- "https://sh.rustup.rs" | sh -s -- -y --default-toolchain 1.86
9093

9194
# Install uefi-run utility
9295
RUN ~/.cargo/bin/cargo install uefi-run --root /usr
@@ -137,23 +140,37 @@ RUN mkdir -p /opt/toolchains && \
137140
# Install FVP
138141
#
139142
# Ecosystem FVP License permits redistribution (refer to the relevant license available in the container).
140-
RUN if [ "${HOSTTYPE}" = "x86_64" ]; then \
143+
RUN set -o pipefail && \
141144
mkdir -p /opt/fvps && \
142145
cd /opt/fvps && \
143-
wget ${WGET_ARGS} -O- https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_RevC-2xAEMvA_${FVP_BASE_REVC_VERSION}_Linux64.tgz | tar xz && \
144-
wget ${WGET_ARGS} -O- https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_AEMv8R_${FVP_BASE_AEMV8R_VERSION}_Linux64.tgz | tar xz && \
145-
wget ${WGET_ARGS} -O- https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/Corstone-300/FVP_Corstone_SSE-300_${FVP_CORSTONE300_VERSION}_Linux64.tgz | tar xz && \
146-
wget ${WGET_ARGS} -O- https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/Corstone-310/FVP_Corstone_SSE-310_${FVP_CORSTONE310_VERSION}_Linux64.tgz | tar xz && \
147-
./FVP_Corstone_SSE-300.sh --no-interactive --i-agree-to-the-contained-eula && \
148-
./FVP_Corstone_SSE-310.sh --no-interactive --i-agree-to-the-contained-eula && \
149-
ln -s /opt/fvps/Base_RevC_AEMvA_pkg/models/Linux64_GCC-9.3/FVP_Base_RevC-2xAEMvA /usr/local/bin && \
150-
ln -s /opt/fvps/AEMv8R_base_pkg/models/Linux64_GCC-9.3/FVP_BaseR_AEMv8R /usr/local/bin && \
151-
ln -s /usr/local/FVP_Corstone_SSE-300/models/Linux64_GCC-9.3/FVP_Corstone_SSE-300_Ethos-U55 /usr/local/bin && \
152-
ln -s /usr/local/FVP_Corstone_SSE-300/models/Linux64_GCC-9.3/FVP_Corstone_SSE-300_Ethos-U65 /usr/local/bin && \
153-
ln -s /usr/local/FVP_Corstone_SSE-310/models/Linux64_GCC-9.3/FVP_Corstone_SSE-310 /usr/local/bin && \
154-
ln -s /usr/local/FVP_Corstone_SSE-310/models/Linux64_GCC-9.3/FVP_Corstone_SSE-310_Ethos-U65 /usr/local/bin && \
155-
rm FVP_Corstone_SSE-300.sh FVP_Corstone_SSE-310.sh \
156-
; fi
146+
if [ "${HOSTTYPE}" = "x86_64" ]; then SUFFIX=""; else SUFFIX="_armv8l"; fi && \
147+
\
148+
declare -A FVP_INSTALLABLE=( \
149+
["300"]="${FVP_CORSTONE300_VERSION}" \
150+
["310"]="${FVP_CORSTONE310_VERSION}" \
151+
["315"]="${FVP_CORSTONE315_VERSION}" \
152+
["320"]="${FVP_CORSTONE320_VERSION}" \
153+
) ; \
154+
for corstone in ${!FVP_INSTALLABLE[@]} ; \
155+
do version_build="${FVP_INSTALLABLE[$corstone]}" \
156+
&& echo "Downloading Corstone-${corstone} ${version_build}" \
157+
&& wget ${WGET_ARGS} -O- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Corstone-IoT/Corstone-${corstone}/FVP_Corstone_SSE-${corstone}_${version_build}_Linux64${SUFFIX}.tgz | tar xz \
158+
&& ./FVP_Corstone_SSE-${corstone}.sh --no-interactive --i-agree-to-the-contained-eula -d /opt/fvps/Corstone-${corstone} \
159+
&& rm FVP_Corstone_SSE-${corstone}.sh \
160+
&& ln -s /opt/fvps/Corstone-${corstone}/models/*/FVP_* /usr/local/bin ; \
161+
done && \
162+
\
163+
declare -A FVP_EXTRACTABLE=( \
164+
["RevC-2xAEMvA"]="${FVP_BASE_REVC_VERSION}" \
165+
["AEMv8R"]="${FVP_BASE_AEMV8R_VERSION}" \
166+
) && \
167+
for base in ${!FVP_EXTRACTABLE[@]} ; \
168+
do version_build="${FVP_EXTRACTABLE[$base]}" \
169+
&& echo "Downloading Base-${base} ${FVP_EXTRACTABLE[$base]}" \
170+
&& IFS="_" read version build <<< "${version_build}" \
171+
&& wget ${WGET_ARGS} -O- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-${version}/FVP_Base_${base}_${version_build}_Linux64${SUFFIX}.tgz | tar xz \
172+
; done && \
173+
ln -s /opt/fvps/*_pkg/models/*/FVP_* /usr/local/bin
157174

158175
# Clean up stale packages
159176
RUN apt-get clean -y && \

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,12 @@ docker run -ti -v $HOME/Work/zephyrproject:/workdir \
6363

6464
#### Building Developer Docker Image
6565

66-
The developer docker image can be built using the following command:
66+
The developer docker image can be built using the following commands:
6767

6868
```
69-
docker build -f Dockerfile.devel --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t zephyr-build:v<tag> .
69+
docker build -f Dockerfile.base --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t zephyr-ci-base:v<tag> .
70+
docker build -f Dockerfile.ci --build-arg BASE_IMAGE=zephyr-ci-base:v<tag> -t zephyr-ci:v<tag> .
71+
docker build -f Dockerfile.devel --build-arg BASE_IMAGE=zephyr-ci:v<tag> -t zephyr-build:v<tag> .
7072
```
7173

7274
It can be used for building Zephyr samples and tests by mounting the Zephyr workspace into it:

0 commit comments

Comments
 (0)