感谢 帅峰云 博主的教程,书已购买讲的很细致:https://blog.csdn.net/shuaifengyun/article/details/71499619
感谢 技术宅阿棍儿 up主的视频,已三连投币:https://www.bilibili.com/video/av55057371/
虚拟机环境是我一直做 Linux驱动开发的环境,Ubuntu 16.04.5
time 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 libhidapi-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 zlib1g-dev -y
找了个大家都不在公司的时间,下载安装需要的时间很少。
mkdir optee
cd optee
repo init -u https://github.com/OP-TEE/manifest.git -m default_stable.xml --repo-url=git://codeaurora.org/tools/repo.git -b 2.6.0
//初始化repo,这是官方源,会有很多问题,改下 url,改为清华的镜像,https://mirrors.tuna.tsinghua.edu.cn/help/git-repo/
repo init -u https://github.com/OP-TEE/manifest.git -m default_stable.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -b 2.6.0
提示 repo未安装,那么先安装下 repo,再去执行上面命令。
过了一会儿,出现这句话。询问 git的邮箱和姓名。按照格式填写自己账号信息。
git config --global user.email [email protected]
git config --global user.name ZhiliangMa
填写自己账号信息后,再进行一次上一步命令。
输入 y,git 源码就可以啦。
(因为按照up主使用的国内的镜像,没有博主后面那么多的错误)
按照 up的方法,修改一些配置,大大节省时间。
打开 ~/optee/.repo/manifest.xml
我的打开只有这几句话,显然我的并不适用 up主的方法。乖乖按照 博主的弄,时间长就长吧。
time repo sync -j8 -f
因为赶在公司没人的时候弄的,网速比较快,平均3~10M,下载资源用的时间不多。大多数时间都花在了本地解析配置上。
cd build
time make -f toolchain.mk toolchains
使用 qemu 运行 OP-TEE 工程(在 build 目录下编译)
time make -f qemu.mk all
编译后并未出现 up主视频中出错的现象,看来应该是最新版本的 OP-TEE 将上个Bug修复过了。
启动 Qemu。
make -f qemu.mk run-only
在 Qemu 界面中敲入字母 'c',就会运行 OP-TEE 和 Linux。
并且同时会弹出两个终端窗口,一个是 OP-TEE的,一个是 Linux的。
(图中,坐上角的终端是 Qemu的,左下角的终端是 Qemu虚拟出的 Linux,右下角的是 Qemu虚拟出的 OP-TEE)
(很好区分,OP-TEE的信息行首是 DEBUG:)
在 Qemu虚拟出的 Linux终端中,输入 optee_hello_world 命令就会执行示例代码 optee_example_hello_world。
现象正确,OPTEE 虚拟环境搭建成功。
整个搭建过程花费了约两小时,建议大家一定要找网速快的地方弄。
第三步下载因为公司没人,网速比较快,将近3个G的各种包不到10分钟下载完,剩下的时间看个人电脑配置。