Ubuntu 20.04 64bit编译OP-TEE 3.15.0
注意:这里我们运行平台是QEMU-v7
- 首先建立~/optee作为后面编译OP-TEE的工程目录,进入该目录;
- 配置dpkg支持i386的包,并安装依赖:
$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install android-tools-adb android-tools-fastboot autoconf \
automake bc bison build-essential ccache codespell \
cscope curl device-tree-compiler expect flex ftp-upload gdisk iasl \
libattr1-dev libcap-dev libcap-ng-dev \
libfdt-dev libftdi-dev libglib2.0-dev libgmp-dev libhidapi-dev \
libmpc-dev libncurses5-dev libpixman-1-dev libssl-dev libtool make \
mtools netcat ninja-build python-crypto python3-crypto python-pyelftools \
python3-pycryptodome python3-pyelftools python3-serial \
rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev
- 由于Ubuntu 20.04默认装的是python3,所以需要在/usr/bin中建立一个指向/usr/bin/python3的符号链接/usr/bin/python
- 安装pycryptodome
$ python3 -m pip install --user pycryptodome
- 如果没有安装repo的话需要安装repo,网上相关的文章很多,不过如果有条件能出墙,建议直接下载程序,这样就不用编译安装了。
- 执行下列命令开始编译OP-TEE
$ repo init -u https://github.com/OP-TEE/manifest.git -m default.xml
$ sed -i "s/\.git//g" .repo/manifest.xml
$ repo sync -j4
$ cd build
$ make -f toolchain.mk toolchains
$ make run
这个过程可能比较漫长,特别是在下载qemu和toolchains的时候,即使有代理速度可能仍然比较慢。建议toolchains通过代理下载好以后放入toolchains目录。下面给出两个toolchians的地址,其实如果只是编译QEMU-v7,那么32位的gcc就够了
https://developer.arm.com/-/media/Files/downloads/gnu-a/10.2-2020.11/binrel/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf
https://developer.arm.com/-/media/Files/downloads/gnu-a/10.2-2020.11/binrel/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz