通过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 国际」许可协议进行许可。

posted @   雨下yi整晚  阅读(240)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示