OPTEE 3.15运行在QEMU ARMv8上

发布时间:2026/10/16 1:19:03

OPTEE 3.15运行在QEMU ARMv8上 系统信息uname -a Linux rtos 5.11.0-37-generic #41-Ubuntu SMP Mon Sep 20 16:39:20 UTC 2021 x86_64 x86_64 x86_64 GNU/LinuxGit配置~/.bashrc中开启git的调试模式export GIT_TRACE_PACKET1 export GIT_TRACE1 export GIT_CURL_VERBOSE1 git config --global user.email yourmailxx.com git config --global user.name yourname编译依赖sudo apt install automake bc bison build-essential cscope curl device-tree-compiler expect flex autoconf ftp-upload gdisk acpica-tools libattr1-dev libc6:i386 libcap-dev libfdt-dev libftdi-dev libglib2.0-dev libhidapi-dev libncurses5-dev libpixman-1-dev libssl-dev libstdc6:i386 libtool ninja-build zlib1g:i386 make mtools netcat unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev adb fastboot meson libgnutls28-dev autoconf -f sudo apt install -y python3-pyelftools sudo apt install -y python3-pip sudo apt install -y python3-pwntools python3-pycryptodome python3 -m pip install --user --break-system-packages \ pwntools pycryptodome pycryptodomex下载代码mkdir tee3.15 cd tee3.15 repo init -u https://github.com/OP-TEE/manifest.git --depth 1 -m qemu_v8.xml --repo-urlhttps://mirrors.tuna.tsinghua.edu.cn/git/git-repo -b 3.15.0 repo sync -j4 --no-clone-bundle如果没有意外下载成功截图如下获取交叉编译工具cd build/ make -f toolchain.mk toolchains -j4编译OP-TEEcd build/ make -f qemu_v8.mk -j4需要做的就是耐心等待编译完成如图所示给虚拟机分配了4颗CPU编译过程可以看到CPU占用率比较高。还可以运行make check测试编译是否成功会运行xtest用例。运行观察soc_term.py源码可以看到支持端口入参。可以开启两个shell命令行分别使用python3 soc_term.py 54320和python3 sco_term.py 54321分别监听Normal World和Secure World两个世界的端口。然后进入到build目录运行make run-only即可进入到交互状态然后按照提示输入c字母,回车确认接着Normal World以root用户登录并运行xtest进行测试如果顺利你将会看到参考资料OP-TEE Documentation — OP-TEE documentation documentation (optee.readthedocs.io)FAQRPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was receivedsudo apt-get purge git sudo apt-get install gitModuleNotFoundError: No module named Cryptodome#pycrypto、pycrytodome和crypto是一个东西crypto在python上面的名字是pycryptopip3 uninstall pycryptodome pip3 install pycryptodomeedk2相关错误编译edk2 提示莫名奇怪错误可能是编译过程中没能正常下载相关依赖导致。进edk2 执行下载相即可。git submodule update --init --recursiveedk2 boringssl下载失败tianocore/edk2.git/CryptoPkg/Library/OpensslLib/openssl/boringssl: fatal: unable to access https://hub.fastgit.org/google/boringssl.git/: gnutls_handshake() failed: Error in the pull function. error: Cannot fetch tianocore/edk2.git/CryptoPkg/Library/OpensslLib/openssl/boringssl from https://boringssl.googlesource.com/boringssl Fetching: 100% (1/1), done in 4.610s 解决思路是使用git config --global url.A.insteadOf B 命令将boringssl.googlesource.com替换为谷歌的github镜像库 https://github.com/google/boringssl.git方法如下 git config --global url.https://github.com/google/boringssl.git.insteadOf https://boringssl.googlesource.com/boringssl
延伸阅读

更多相关文章

2026/10/16 1:16:17

Webpack 4.0 样式中静态资源处理全链路解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 1:16:17

科学家的工具箱:如何在日常推演中建立无可挑剔的数学直觉

在深度学习与大模型工程的快速迭代中,许多同行习惯于将精力聚焦在框架 API 的调用、分布式集群的拓扑搭建或是超参数的网格搜索上。把注意力仅停留在工程调优层面,往往会把模型视为一座充满不确定性的黑盒“炼丹炉”。每当遇到损失发散、梯度消失或是注意…

2026/10/16 1:16:17

源SQL怎么写与目标库怎么执行:KFS异构DDL重构机制

在某大型医院的数据同步项目中,260条同步链路同时运行,源端涉及Oracle、MySQL、SQL Server、KES V8R6、Vastbase等10多种数据库,并持续向目标库汇聚数据。 在这样的环境里,把数据同步过去并不难。真正让链路“卡住”的&#xff0c…

2026/10/16 1:16:17

C++第二章课后题全拆解:数据类型、运算符与表达式求值

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 1:11:17

DS18B20单总线时序避坑指南:从85℃到精准测温的实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 11:31:03

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/14 17:41:07

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/15 13:42:16

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/16 0:01:11

Cephadm实战指南:Linux系统工程师的生产级Ceph集群部署与排障

简介:本资源是一份完整的Ceph分布式存储系统中文技术文档合集,面向Linux系统运维工程师、云平台架构师及存储方向开发者,帮助读者系统掌握Ceph集群的部署、配置与运维核心能力。文档覆盖对象存储(RGW)、块设备&#xf…

2026/10/16 0:01:11

ITK中SpatialObject几何体系解析:坐标系、变换与管道集成

1. 空间对象的定位:为什么 ITK 需要一套几何描述体系很多刚开始接触 ITK 的朋友,包括我自己,最初都是被它的图像滤波、配准、分割这些“正统”功能吸引进来的。等真正上手做点实际项目,比如把分割出来的器官边界做量化分析、给血管…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑