[OP-TEE开发学习-0]Ubuntu 20.04搭建OPTEE开发环境(基于QEMU)

Ubuntu 20.04搭建OPTEE开发环境(基于QEMU)

这几天在完成毕业设计的过程中接触到了基于Linux环境下的OPTEE开发环境,由于我此前从未系统学习过Ubuntu系统,这次的OPTEE开发环境配置也是基于全新安装的VMware的Ubuntu20.04版本的虚拟机实现的,全部依赖项均为从0开始配置。
在开始搭配环境之前,我先搜集了一些网络上OPTEE环境搭建的教程,但也遇到了各种各样奇怪的问题,这些教程时间一般都比较早,使用的大多为Ubuntu18.04,因此教程参考价值一般,最终在实验室师兄的帮助下,我参考QEMU说明文档的部分内容,最终完成了OPTEE开发环境的配置。
本文的定位是一个从我个人视角来看的OPTEE编译过程。
①安装Ubuntu虚拟机之后,先安装依赖环境(这一步不确定是否需要,我是做了的)
桌面右键运行终端,输入命令:

sudo apt-get install android-tools-adb android-tools-fastboot autoconf \
automake bc bison build-essential cscope curl device-tree-compiler \
expect flex ftp-upload gdisk iasl libattr1-dev libc6:i386 libcap-dev \
libfdt-dev libftdi-dev libglib2.0-dev libattr1-dev libncurses5-dev \
libpixman-1-dev libssl-dev libstdc++6:i386 libtool libz1:i386 make \
mtools netcat python-crypto python-serial python-wand unzip uuid-dev \
xdg-utils xterm xz-utils zliblg-dev 

运行之后不管结果,继续进行下一步骤。
②桌面新建用于OPTEE安装的文件件,准备进行环境配置

mkdir optee
cd optee

③依次输入以下命令进行OPTEE编译

repo init -u https://github.com/OP-TEE/manifest.git
repo sync
cd build
make toolchains
make run

在此步骤中,可能会因为缺少依赖项而若干次报错,可以采用sudo apt-intsall 命令安装缺失的依赖项。
以下展示部分有记录的报错内容和解决办法:

*openssl/evp.h: No such file or directory
-sudo apt-get install libssl-dev

*fatal error: gmp.h: No such file or directory
–sudo apt-get install libgmp-dev

*fatal error: mpc.h: No such file or directory
–sudo apt-get install libmpc-dev

*ERROR: Cannot find Ninja
–apt-get install ninja-build

*ERROR: glib-2.48 gthread-2.0 is required to compile QEMU
–sudo apt-get install build-essential zlib1g-dev pkg-config libglib2.0-dev

*ERROR: Dependency “pixman-1” not found, tried pkgconfig
–sudo apt-get install libpixman-1-dev

*make[2]: Entering directory ‘/home/abc/Desktop/optee/qemu/build’
config-host.mak is out-of-date, running configure
bash: line 3: ./config.status: No such file or directory
–删除“/home/abc/Desktop/optee/qemu/build/config-host.mak”文件后重新编译

*/bin/bash: line 0: cd: /home/abc/Desktop/optee/build/…/u-boot: No such file or directory
–https://github.com/OP-TEE/build/issues/325(可能有效的解决方案,未尝试)

最终完成OPTEE编译后,系统输出:
[OP-TEE开发学习-0]Ubuntu 20.04搭建OPTEE开发环境(基于QEMU)_第1张图片系统弹出一个代表REE的终端:
[OP-TEE开发学习-0]Ubuntu 20.04搭建OPTEE开发环境(基于QEMU)_第2张图片

和一个代表TEE的终端:
[OP-TEE开发学习-0]Ubuntu 20.04搭建OPTEE开发环境(基于QEMU)_第3张图片

编译完成,可以进行xtest和optee_example_hello_world命令操作等

大功告成

你可能感兴趣的:(区块链,可信执行环境,ubuntu,linux,运维)