Fetch OP-TEE (4.7.0) and build it with Firmware Handoff enabled.

Signed-off-by: Raymond Mao <raymond....@linaro.org>
---
 tools/docker/Dockerfile | 77 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index 5b4c75f8400..02a8a2fb37c 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -54,6 +54,83 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \
                wget -O - 
https://github.com/foss-xtensa/toolchain/releases/download/2020.07/x86_64-2020.07-xtensa-dc233c-elf.tar.gz
 | tar -C /opt -xz; \
        fi
 
+# Build OP-TEE
+RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
+    --mount=type=cache,target=/var/lib/apt,sharing=locked \
+    apt-get update && apt-get install -y \
+       adb \
+       acpica-tools \
+       autoconf \
+       automake \
+       bc \
+       bison \
+       build-essential \
+       ccache \
+       cpio \
+       cscope \
+       curl \
+       device-tree-compiler \
+       e2tools \
+       expect \
+       fastboot \
+       flex \
+       ftp-upload \
+       gdisk \
+       git \
+       libgnutls28-dev \
+       libattr1-dev \
+       libcap-ng-dev \
+       libfdt-dev \
+       libftdi-dev \
+       libglib2.0-dev \
+       libgmp3-dev \
+       libhidapi-dev \
+       libmpc-dev \
+       libncurses5-dev \
+       libpixman-1-dev \
+       libslirp-dev \
+       libssl-dev \
+       libtool \
+       libusb-1.0-0-dev \
+       make \
+       mtools \
+       netcat \
+       ninja-build \
+       python3-cryptography \
+       python3-pip \
+       python3-pyelftools \
+       python3-serial \
+       python3-tomli \
+       python-is-python3 \
+       rsync \
+       swig \
+       unzip \
+       uuid-dev \
+       wget \
+       xdg-utils \
+       xsltproc \
+       xterm \
+       xz-utils \
+       zlib1g-dev
+
+RUN git clone https://github.com/OP-TEE/optee_os.git /tmp/optee_os && \
+       cd /tmp/optee_os/ && \
+       git checkout 4.7.0 && \
+       make 
CROSS_COMPILE=/opt/gcc-${TCVER}-nolibc/aarch64-linux/bin/aarch64-linux- \
+               
CROSS_COMPILE_core=/opt/gcc-${TCVER}-nolibc/aarch64-linux/bin/aarch64-linux- \
+               
CROSS_COMPILE32=/opt/gcc-${TCVER}-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-
 \
+               
CROSS_COMPILE_ta_arm32=/opt/gcc-${TCVER}-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-
 \
+               
CROSS_COMPILE_ta_arm64=/opt/gcc-${TCVER}-nolibc/aarch64-linux/bin/aarch64-linux-
 \
+               ARCH=arm \
+               CFG_ARM64_core=y \
+               CFG_TRANSFER_LIST=y CFG_MAP_EXT_DT_SECURE=y \
+               PLATFORM=vexpress-qemu_armv8a CFG_RPMB_FS=y \
+               CFG_RPMB_FS_DEV_ID=0 CFG_CORE_HEAP_SIZE=524288 
CFG_RPMB_WRITE_KEY=y \
+               CFG_CORE_HEAP_SIZE=524288 CFG_CORE_DYN_SHM=y CFG_RPMB_TESTKEY=y 
\
+               CFG_RPMB_WRITE_KEY=1 \
+               CFG_REE_FS=n CFG_CORE_ARM64_PA_BITS=48  \
+               CFG_TEE_CORE_LOG_LEVEL=4 CFG_TEE_TA_LOG_LEVEL=1 DEBUG=y
+
 # Update and install things from apt now
 RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
     --mount=type=cache,target=/var/lib/apt,sharing=locked \
-- 
2.25.1

Reply via email to