blob: ec6c2e406ac7f70c22505cecbf2cb53898f0fddc [file] [log] [blame]
Julian Halle76ade82020-11-25 03:07:21 +01001Software Requirements
2=====================
3
4As of today the only available normal-world interface for Trusted Services is available trough linux. Building and end-to-end
5firmware stack requires compiling the Linux Kernel and linux user space applications. This restricts the possible host
6environments to Linux distributions.
7While some TS components can be built under Windows this scenario is not mandated by this documentation.
8
9The preferred host environment is Ubuntu 18.04.
10
11The following tools are required:
12
13 * CMake, version 3.18.4. (See the `CMake download page`_.)
14 * GNU Make v4.1 or higher.
15 * Git v2.17 or newer.
16 * Python3.6 and the modules listed in ``<project>/requirements.txt``.
17 * GCC supporting the deployment.
18
19 * `opteesp` environment: a host to aarch64 cross-compiler is needed. Please use the compilers specified by the
20 `OP-TEE documentation`_.
21 * `arm-linux` environment: a host to aarch64 linux cross-compiler is needed. Please use the version `9.2-2019.12` of the
22 "aarch64-none-linux-gnu" compiler available from `arm Developer`_.
23 (Note: the compiler part of the OP-TEE build environment works too.)
24 * For `linux-pc` environment use the native version of GCC available in your Linux distribution.
25
26To build the documentation, please refer to :ref:`Building Documentation`.
27
28.. todo:: Add info on commit validation dependencies (checkpatch, uncrustify, etc...)
29
30--------------
31
32.. _OP-TEE documentation: https://optee.readthedocs.io/en/latest/building/gits/build.html#step-4-get-the-toolchains
33.. _arm Developer: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads
34.. _CMake download page: https://cmake.org/files/v3.18/
35
36*Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.*
37
38SPDX-License-Identifier: BSD-3-Clause