blob: 0cc90df6d2592474b5a4813e77881f27d411ab31 [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
28RUN apt-get install -y -q tzdata && \
29 ln -fs /usr/share/zoneinfo/Europe/Rome /etc/localtime && \
30 dpkg-reconfigure -f noninteractive tzdata
31
32RUN apt-get -y -q install xz-utils apt-utils socat
33
34RUN cd /tmp && \
Paul Sokolovsky70f56da2022-09-27 19:13:08 +030035 chmod +x ${SetupFile} && \
Paul Sokolovsky54e23d62022-09-26 21:49:59 +030036 ./${SetupFile} --keep --noexec
37
38RUN cd /tmp && \
39 tar xzf "${SetupDir}/reqs/Sentinel_LDK_RTE/aksusbd-${SentinelVersion}.tar.gz" && \
40 cd aksusbd-${SentinelVersion} && \
41 ./dinst && \
42 cd .. && \
43 rm -rf aksusbd-${SentinelVersion}
44
45RUN cd ${SetupDir} && \
46 mkdir -m 755 -p "${ECLAIR_TOP_DIR}" && \
47 mv * "${ECLAIR_TOP_DIR}" && \
48 cd "${ECLAIR_TOP_DIR}/.." && \
49 ln -sf "$(basename "${ECLAIR_TOP_DIR}")" eclair && \
50 "${ECLAIR_TOP_DIR}/bin/postinstall.sh"
51
52RUN rm -rf ${SetupDir} && \
53 rm -rf /tmp/${SetupFile}
54
55ENV PATH ${PATH}:${ECLAIR_TOP_DIR}/../bin:${ECLAIR_TOP_DIR}/bin
56
57RUN apt-get install -y -q sudo && \
58 useradd -m eclair -s /bin/bash && \
59 echo "eclair ALL=NOPASSWD: ALL" > /etc/sudoers.d/eclair
60
61
62# Can be overriden at build time
63ARG BUILDSLAVE_PASSWORD=buildslave
64ENV ECLAIR_LICENSE_SERVER flexnet.trustedfirmware.org
65ENV WORKSPACE "/home/buildslave/workspace/pfalcon-tf-a-eclair"
66
67COPY gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xz /tmp
68
69RUN mkdir -p /opt
70RUN tar -xaf /tmp/gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xz -C /opt
71RUN rm -rf /var/hasplm/storage
72
73RUN apt-get update && \
74 apt-get -y -q --no-install-recommends install \
75 device-tree-compiler \
76 git \
77 make \
78 nano \
79 openjdk-11-jre-headless \
80 openssh-server \
81 python3
82
83COPY tf-*.install /tmp/
84COPY setup-sshd /usr/sbin/setup-sshd
85COPY entrypoint.sh /usr/sbin/entrypoint.sh
86
87RUN set -e ;\
88 # Setup buildslave user for Jenkins
89 useradd -m -s /bin/bash buildslave ;\
90 echo "buildslave:$BUILDSLAVE_PASSWORD" | chpasswd ;\
91 echo 'buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins ;\
92 chmod 0440 /etc/sudoers.d/jenkins ;\
93 mkdir -p /var/run/sshd ;\
94 bash -ex /tmp/tf-environment.install
95
96
97USER eclair
98
99COPY bin/ /opt/bugseng/bin
100
101EXPOSE 22
102
103ENTRYPOINT ["/usr/sbin/entrypoint.sh"]