通过proxychains代理搭建optee
宿主操作系统#
- ubuntu 18.04 LTS
参考链接#
搭建流程#
添加依赖#
# 直接执行以下命令
$ 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 cscope curl device-tree-compiler \
expect flex ftp-upload gdisk iasl libattr1-dev libcap-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 python-serial python3-serial \
rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev
$ pip3 install --user pycryptodome
获取源码#
# 创建工程文件夹
mkdir optee
cd optee
# 下载repo工具
curl https://storage.googleapis.com/git-repo-downloads/repo-1 > repo
chmod a+x repo
# 下载.repo文件,-m指明目标xml文件,-b指明版本分支,--repo-url使用镜像源
python3 repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml -b 3.12.0 --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
# 同步代码,j4表示开启4个线程
repo sync -j4 # 直接repo sync会由于连接不稳定而失败
解决repo sync连接不稳定的问题#
由于optee工程的代码量很大,国内似乎没有相应的镜像,所以同步optee的代码非常耗时,而且会因为连接不稳定而失败,异常痛苦……尝试通过系统命令export http_proxy=192.168.253.1:7890
设置代理(绕过GFW),但是repo sync的网络连接并不会经过设置好的代理……最后我利用proxychains解决了代理失败的问题。proxychains安装过程参考另一篇博客。
# 利用proxychains来通过代理同步代码
proxychains ./repo sync -j4
获取toolchains#
cd build
# 这里会下载两个工具,所以还是使用proxychains
# 如果失败,删掉toolchains文件夹下的所有文件后重新执行命令
proxychains make toolchains
编译并运行代码#
# 第一次执行的时候会下载一些文件,所以最好还是使用proxychains
# 若失败则关掉proxychains重试
make run
启动框架#
在启动的qemu交互环境中输入c
并回车,即可生成一个TEE和一个REE终端
作者:yuxiayizhengwan
出处:https://www.cnblogs.com/yuxiayizhengwan/p/15149704.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库