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