TrustZone——运行环境—QEMU—OP-TEE (新办法)

运行效果参见另一篇博客《TrustZone——运行环境—QEMU—OP-TEE

   

最新OPTEE更新很快,整个系统编译方式为了兼容Android,提供了Android.mk。不过整体还是挺简单的。我们看一下,还是使用QEMU。

准备工具repo。

mkdir ~/bin

PATH=~/bin:$PATH

也可以将 export PATH=~/bin:$PATH 加到 ~/.bashrc可永久保存PATH环境变量。

获取repo,repo是一个python脚本。

1.repo1.2.1 下载地址http://download.csdn.net/detail/enjosun/8068347,cp repo ~/bin/repo

2.curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

chmod u+x ~/bin/repo


1.获取源码

$ mkdir -p $HOME/devel/optee
$ cd $HOME/devel/optee
$ repo init -u https://github.com/OP-TEE/manifest.git -m ${TARGET}.xml [-b ${BRANCH}]
$ repo sync

建议不要更换目录。

repo init -u https://github.com/OP-TEE/manifest.git -m default.xml -b master

repo sync

大部分人应该下载不了。

解决无法下载的问题:

repo init -u https://github.com/OP-TEE/manifest.git -m default.xml --repo-url=git://codeaurora.org/tools/repo.git

这样应该可以下载了。不过仅仅是配置文件。

repo sync

开始下载代码了?

怎么可能这么容易呢?需要替换.repo目录下的manifest.xml的所有.git为空。

注释:由于OP-TEE官方git上的qemu.xml配置有问题。所以需要在optee的repo init后,运行命令sed -i "s/\.git//g" .repo/manifest.xml,之后运行repo sync

linux的git速度很慢,建议早上下载或独立下载。这次使用的是4.1内核,具体版本可以参见.repo目录下的manifest.xml。

2.终于进入了第二阶段了,编译。

cd ~/devel/optee/build

make all run

我的系统ubuntu14.03无法成功运行这个命令。解决办法如下:

2.1 安装工具链,make -f toolchain.mk,出现目录~/devel/optee/toolchain

2.2 编译系统make all run -f qemu.mk,可以编译无法运行。

2.3 运行模拟器。这个和以前不一样了。也困惑了我好久。运行方法make run-only -f qemu.mk。


3.运行系统

启动之后的效果应该能够看到两个窗口,一个是linux,一个是optee-os

在qemu终端输入c,即可启动两个系统。qemu会等待输入。

测试功能:

1.加载驱动 modprobe optee_armtz,没有驱动的文件啊?又被坑了?这个不能怪说明,应该怪你自己选择分支的时候没看。stable分支,应该直接tab就会出现optee_armtz。这次怎么办啊?找呗,还能怎么办。在lib/modules/xxx/optee_armtz.ko。先cd到那个目录再运行命令即可。顺便看一下运行是否有错误。

2.运行tee-client的deamon,如果没有明显错误应该就算运行成功,运行后光标需要回车才能出现,tee-supplicant &

3.可以运行单元测试程序啦。xtest,建议带一些参数。xtest 9000。测试用例会少一些。也避免太多输出。


好啦。整个功能就运行起来了。







你可能感兴趣的:(TrustZone)