@@ -4,8 +4,7 @@ ARG BASE_IMAGE
4
4
FROM ${BASE_IMAGE:-zephyrprojectrtos/ci-base:latest}
5
5
6
6
ARG USERNAME=user
7
-
8
- ARG ZSDK_VERSION=0.17.0
7
+ ARG ZSDK_VERSION=0.17.1-rc1
9
8
ENV ZSDK_VERSION=$ZSDK_VERSION
10
9
ARG KITWARE_NINJA_VERSION=1.11.1.g95dee.kitware.jobserver-1
11
10
ENV KITWARE_NINJA_VERSION=$KITWARE_NINJA_VERSION
@@ -17,20 +16,24 @@ ARG RENODE_VERSION=1.15.3
17
16
ENV RENODE_VERSION=$RENODE_VERSION
18
17
ARG LLVM_VERSION=16
19
18
ENV LLVM_VERSION=$LLVM_VERSION
20
- ARG BSIM_VERSION=v2.4
19
+ ARG BSIM_VERSION=v2.5
21
20
ENV BSIM_VERSION=$BSIM_VERSION
22
21
ARG SPARSE_VERSION=9212270048c3bd23f56c20a83d4f89b870b2b26e
23
22
ENV SPARSE_VERSION=$SPARSE_VERSION
24
23
ARG PROTOC_VERSION=21.7
25
24
ENV PROTOC_VERSION=$PROTOC_VERSION
26
- ARG FVP_BASE_REVC_VERSION=11.24_11
25
+ ARG FVP_BASE_REVC_VERSION=11.27_19
27
26
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
29
28
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
31
30
ENV FVP_CORSTONE300_VERSION=$FVP_CORSTONE300_VERSION
32
- ARG FVP_CORSTONE310_VERSION=11.24_13
31
+ ARG FVP_CORSTONE310_VERSION=11.27_42
33
32
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
34
37
ARG WGET_ARGS="-q --show-progress --progress=bar:force:noscroll"
35
38
36
39
# Install Kitware ninja
@@ -86,7 +89,7 @@ RUN mkdir -p /opt/bsim_west && \
86
89
ln -s /opt/bsim_west/bsim /opt/bsim
87
90
88
91
# 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
90
93
91
94
# Install uefi-run utility
92
95
RUN ~/.cargo/bin/cargo install uefi-run --root /usr
@@ -137,23 +140,37 @@ RUN mkdir -p /opt/toolchains && \
137
140
# Install FVP
138
141
#
139
142
# 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 && \
141
144
mkdir -p /opt/fvps && \
142
145
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
157
174
158
175
# Clean up stale packages
159
176
RUN apt-get clean -y && \
0 commit comments