Paul Sokolovsky | 54e23d6 | 2022-09-26 21:49:59 +0300 | [diff] [blame] | 1 | # |
| 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 | |
| 7 | FROM ubuntu:22.04 |
| 8 | |
| 9 | ARG EclairVersion=3.12.0 |
| 10 | ARG EclairVariant=MC23P1-l64P |
| 11 | |
| 12 | ENV ECLAIR_LICENSE_SERVER flexnet.trustedfirmware.org |
| 13 | ENV ECLAIR_LICENSE_USER unguessable |
| 14 | |
| 15 | ARG SentinelVersion=8.23.1 |
| 16 | |
| 17 | ARG SetupDir=/tmp/eclair-${EclairVersion}-${EclairVariant} |
| 18 | ARG SetupFile=ECLAIR_${EclairVersion}-${EclairVariant}_Setup.run |
| 19 | |
| 20 | ENV ECLAIR_TOP_DIR /opt/bugseng/eclair-${EclairVersion} |
| 21 | ENV DEBIAN_FRONTEND noninteractive |
| 22 | ENV LANG C.UTF-8 |
| 23 | |
| 24 | COPY ${SetupFile} /tmp |
| 25 | |
| 26 | RUN apt-get update |
| 27 | |
| 28 | RUN apt-get install -y -q tzdata && \ |
| 29 | ln -fs /usr/share/zoneinfo/Europe/Rome /etc/localtime && \ |
| 30 | dpkg-reconfigure -f noninteractive tzdata |
| 31 | |
| 32 | RUN apt-get -y -q install xz-utils apt-utils socat |
| 33 | |
| 34 | RUN cd /tmp && \ |
Paul Sokolovsky | 70f56da | 2022-09-27 19:13:08 +0300 | [diff] [blame^] | 35 | chmod +x ${SetupFile} && \ |
Paul Sokolovsky | 54e23d6 | 2022-09-26 21:49:59 +0300 | [diff] [blame] | 36 | ./${SetupFile} --keep --noexec |
| 37 | |
| 38 | RUN 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 | |
| 45 | RUN 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 | |
| 52 | RUN rm -rf ${SetupDir} && \ |
| 53 | rm -rf /tmp/${SetupFile} |
| 54 | |
| 55 | ENV PATH ${PATH}:${ECLAIR_TOP_DIR}/../bin:${ECLAIR_TOP_DIR}/bin |
| 56 | |
| 57 | RUN 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 |
| 63 | ARG BUILDSLAVE_PASSWORD=buildslave |
| 64 | ENV ECLAIR_LICENSE_SERVER flexnet.trustedfirmware.org |
| 65 | ENV WORKSPACE "/home/buildslave/workspace/pfalcon-tf-a-eclair" |
| 66 | |
| 67 | COPY gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xz /tmp |
| 68 | |
| 69 | RUN mkdir -p /opt |
| 70 | RUN tar -xaf /tmp/gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xz -C /opt |
| 71 | RUN rm -rf /var/hasplm/storage |
| 72 | |
| 73 | RUN 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 | |
| 83 | COPY tf-*.install /tmp/ |
| 84 | COPY setup-sshd /usr/sbin/setup-sshd |
| 85 | COPY entrypoint.sh /usr/sbin/entrypoint.sh |
| 86 | |
| 87 | RUN 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 | |
| 97 | USER eclair |
| 98 | |
| 99 | COPY bin/ /opt/bugseng/bin |
| 100 | |
| 101 | EXPOSE 22 |
| 102 | |
| 103 | ENTRYPOINT ["/usr/sbin/entrypoint.sh"] |