blob: ec963c3c772e9eb23f802c945fb5e93c17ab25ad [file] [log] [blame]
Paul Sokolovsky54e23d62022-09-26 21:49:59 +03001#
2# Copyright (c) 2021-2022 BUGSENG srl. All rights reserved.
3# Copyright (c) 2022 Arm Limited. All rights reserved.
4#
5# SPDX-License-Identifier: BSD-3-Clause
6
7FROM ubuntu:22.04
8
9ARG EclairVersion=3.12.0
10ARG EclairVariant=MC23P1-l64P
11
12ENV ECLAIR_LICENSE_SERVER flexnet.trustedfirmware.org
13ENV ECLAIR_LICENSE_USER unguessable
14
15ARG SentinelVersion=8.23.1
16
17ARG SetupDir=/tmp/eclair-${EclairVersion}-${EclairVariant}
18ARG SetupFile=ECLAIR_${EclairVersion}-${EclairVariant}_Setup.run
19
20ENV ECLAIR_TOP_DIR /opt/bugseng/eclair-${EclairVersion}
21ENV DEBIAN_FRONTEND noninteractive
22ENV LANG C.UTF-8
23
24COPY ${SetupFile} /tmp
25
26RUN apt-get update
27
Paul Sokolovsky54e23d62022-09-26 21:49:59 +030028RUN apt-get -y -q install xz-utils apt-utils socat
29
30RUN cd /tmp && \
Paul Sokolovsky70f56da2022-09-27 19:13:08 +030031 chmod +x ${SetupFile} && \
Paul Sokolovsky54e23d62022-09-26 21:49:59 +030032 ./${SetupFile} --keep --noexec
33
34RUN cd /tmp && \
35 tar xzf "${SetupDir}/reqs/Sentinel_LDK_RTE/aksusbd-${SentinelVersion}.tar.gz" && \
36 cd aksusbd-${SentinelVersion} && \
37 ./dinst && \
38 cd .. && \
39 rm -rf aksusbd-${SentinelVersion}
40
41RUN cd ${SetupDir} && \
42 mkdir -m 755 -p "${ECLAIR_TOP_DIR}" && \
43 mv * "${ECLAIR_TOP_DIR}" && \
44 cd "${ECLAIR_TOP_DIR}/.." && \
45 ln -sf "$(basename "${ECLAIR_TOP_DIR}")" eclair && \
46 "${ECLAIR_TOP_DIR}/bin/postinstall.sh"
47
48RUN rm -rf ${SetupDir} && \
49 rm -rf /tmp/${SetupFile}
50
51ENV PATH ${PATH}:${ECLAIR_TOP_DIR}/../bin:${ECLAIR_TOP_DIR}/bin
52
53RUN apt-get install -y -q sudo && \
54 useradd -m eclair -s /bin/bash && \
55 echo "eclair ALL=NOPASSWD: ALL" > /etc/sudoers.d/eclair
56
57
58# Can be overriden at build time
59ARG BUILDSLAVE_PASSWORD=buildslave
60ENV ECLAIR_LICENSE_SERVER flexnet.trustedfirmware.org
61ENV WORKSPACE "/home/buildslave/workspace/pfalcon-tf-a-eclair"
62
63COPY gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xz /tmp
64
65RUN mkdir -p /opt
66RUN tar -xaf /tmp/gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xz -C /opt
67RUN rm -rf /var/hasplm/storage
68
69RUN apt-get update && \
70 apt-get -y -q --no-install-recommends install \
71 device-tree-compiler \
72 git \
73 make \
74 nano \
75 openjdk-11-jre-headless \
76 openssh-server \
77 python3
78
79COPY tf-*.install /tmp/
80COPY setup-sshd /usr/sbin/setup-sshd
81COPY entrypoint.sh /usr/sbin/entrypoint.sh
82
83RUN set -e ;\
84 # Setup buildslave user for Jenkins
85 useradd -m -s /bin/bash buildslave ;\
86 echo "buildslave:$BUILDSLAVE_PASSWORD" | chpasswd ;\
87 echo 'buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins ;\
88 chmod 0440 /etc/sudoers.d/jenkins ;\
89 mkdir -p /var/run/sshd ;\
90 bash -ex /tmp/tf-environment.install
91
92
93USER eclair
94
95COPY bin/ /opt/bugseng/bin
96
97EXPOSE 22
98
99ENTRYPOINT ["/usr/sbin/entrypoint.sh"]