一、搭建时需要的工具和库
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
二、下载OP-TEE的源代码
$ mkdir optee //创建文件夹
$ cd optee //切换到创建的文件夹
$ 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时,会出现如下问题:
使用sudo apt install repo即可。后面再次初始化repo出现:
解决方法:
$ curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ./repo
$ chmod a+x repo
$ python3 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
三、同步代码
$ python3 repo sync -j8
四、获取toolchain
$ cd build //切换到build目录下
$ make -f toolchain.mk toolchains //下载toolchain
五、开始编译使用qemu运行optee工程
首先运行:
$ cd optee
$ cd qemu
$ git cherry-pick 75e5b70e6b5dcc4f2219992d7cffa462aa406af0
然后运行:
$ cd optee
$ cd build
$ make -f qemu.mk all //编译工程
直接运行make -f qemu.mk all会出现如下问题:
六、启动qemu
$ make -f qemu.mk run-only //启动qemu并运行OP-TEE
七、运行optee和linux
在qemu界面中输入字母“c”回车之后,就会启动两个terminal,一个是OP-TEE的terminal,另外一个是linux的terminal。
八、运行optee_example_hello_world
在linux的terminal端输入optee_hello_world指令就会执行,示例完整的界面如下:
九、退出qemu
新建一个终端窗口,在命令行中输入$ ps -elf | grep qemu,可以得到进程号,终端命令行中输入“kill -9 进程号”
即可杀死进程,退出qemu
附:参考视频及链接: