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 && \ |
| 35 | ./${SetupFile} --keep --noexec |
| 36 | |
| 37 | RUN 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 | |
| 44 | RUN 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 | |
| 51 | RUN rm -rf ${SetupDir} && \ |
| 52 | rm -rf /tmp/${SetupFile} |
| 53 | |
| 54 | ENV PATH ${PATH}:${ECLAIR_TOP_DIR}/../bin:${ECLAIR_TOP_DIR}/bin |
| 55 | |
| 56 | RUN 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 |
| 62 | ARG BUILDSLAVE_PASSWORD=buildslave |
| 63 | ENV ECLAIR_LICENSE_SERVER flexnet.trustedfirmware.org |
| 64 | ENV WORKSPACE "/home/buildslave/workspace/pfalcon-tf-a-eclair" |
| 65 | |
| 66 | COPY gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xz /tmp |
| 67 | |
| 68 | RUN mkdir -p /opt |
| 69 | RUN tar -xaf /tmp/gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xz -C /opt |
| 70 | RUN rm -rf /var/hasplm/storage |
| 71 | |
| 72 | RUN 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 | |
| 82 | COPY tf-*.install /tmp/ |
| 83 | COPY setup-sshd /usr/sbin/setup-sshd |
| 84 | COPY entrypoint.sh /usr/sbin/entrypoint.sh |
| 85 | |
| 86 | RUN 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 | |
| 96 | USER eclair |
| 97 | |
| 98 | COPY bin/ /opt/bugseng/bin |
| 99 | |
| 100 | EXPOSE 22 |
| 101 | |
| 102 | ENTRYPOINT ["/usr/sbin/entrypoint.sh"] |