如何在 QEMU 中模拟 TrustZone?

2024-01-29

我正在尝试在 Qemu 中模拟 TrustZone 功能。 我发现两个链接似乎解释了这个过程。

第一个参考 http://www.linaro.org/blog/core-dump/arm-trustzone-qemu/未附加支持 TrustZone 的映像内核(在哪里可以找到它?)

第二个参考 https://github.com/ckuethe/usbarmory/wiki/QEMU-Virtual-Armory解释了如何编译内核,但它不是从第一个网站中编写的命令行开始,如下所示

./arm-softmmu/qemu-system-arm -kernel $PATH_TO_KERNEL/zImage -M vexpress-a15 -cpu cortex-a15 -dtb PATH_TO_DTB/vexpress-v2p-ca15-tc1.dtb -m 1024 -append 'console=ttyAMA0,38400n8' -serial stdio -initrd $PATH_TO_INITRD/initrd.img

是否有其他方法来运行 TrustZone 模拟器?


With OP-TEE https://github.com/OP-TEE/optee_os(一个开源 TEE)在 QEMU 上运行 TrustZone 非常容易。您可以让整个堆栈运行从正常世界用户空间和 Linux 内核到安全世界的代码,同时运行 TEE 本身以及受信任的应用程序。 QEMU + OP-TEE 适用于 ARMv7-A 和 ARMv8-A。如果您想在本地 PC 上尝试一下,我建议您前往optee_os/README.md https://github.com/OP-TEE/optee_os并按照第 4.1、5(仅与 QEMU 相关)和 6 节中的说明进行操作。总而言之,我们正在讨论 shell 中的不到 10 个命令,您将下载、编译所有源代码并启动并运行所有内容在您的 PC 本地。

我写了一个博客文章 https://www.linaro.org/blog/tee-development-with-no-hardware-is-that-possible/关于为什么 QEMU 是进行 TrustZone 开发的一个不错的选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 QEMU 中模拟 TrustZone? 的相关文章

随机推荐

  • 在 Windows 上使用 Makefile 进行编译

    我想在 Windows 环境中使用 MakeFile 编译我的代码 我已经在 Linux 中创建了 Makefile 但不知道如何在 Windows 中创建和运行 我已经安装了 MinGW 并编辑了环境变量路径 我尝试像在 Linux 环境
  • 第二次“显示”后引导工具提示消失

    我想根据一些用户输入生成手动工具提示 最简单的方法是隐藏所有工具提示 然后显示相关的工具提示 我已将代码减少到最基本的部分 并且我的工具提示在第二次 显示 后不断消失 我正在使用 bootstrap 3 3 4 和 jquery 2 1 3
  • 需要 zend 框架 URL 重写帮助

    我需要 zend 框架中 URL 重写的帮助 如果我打印以下 URL echo this gt url array controller gt guestbook action gt edit id gt entry gt id null
  • 使用 XJC 生成 Java 源代码时使用 JAXWS enableWrapperStyle

    我正在尝试从 XSD 生成 Java 源代码 并且必须使用 JAXWS 禁用包装器样式 我已经编写了自定义绑定 但 JAXWS 似乎不适用于 XJC 我使用的绑定非常简单
  • 动态间接 Bash 数组

    我有这种格式的日志 log1 john time etc log2 peter time etc log3 jack time etc log4 peter time etc 我想为每个人创建一个以下格式的列表 name no lines
  • 在 MongoDB 中按 id 查找返回 null

    我对NodeJS and MongoDB 我正在尝试做一些非常基本的事情 但它似乎不起作用 我确信我在某个地方遗漏了一些东西 基本上 我试图根据 id 从数据库中查找用户 这是我的代码 function findUser id cb Mon
  • std::atomic 内存屏障可用于在线程之间传输非原子数据吗?

    以下代码是否符合标准 或者可以使其合规而不进行x原子或volatile 这类似于之前的一个问题 https stackoverflow com questions 19680757 in c11 can stdatomic be used
  • 是否可以使用 mod_rewrite htaccess 将 url 从名称重写为 id。

    如果我有一个网址http www domain com listing php company id 1我可以将其重写为http www domain com company name使用该 id 从数据库中提取名称 或者我是否必须更改li
  • ASP.NET MVC:构建控制器

    所以我正在着手ASP NET MVC虽然整体体验不错 但我对我的控制器变得像意大利面条一样乱七八糟不太满意 我在网上查看过 CodeCampServer 等 它们似乎都遇到了同样的问题 其中控制器方法非常一致地违反了 SRP 单一责任原则
  • RichFaces 中的服务器端数据表排序

    我有一个包含可变数量列和数据滚动器的数据表 如何启用服务器端排序 我更喜欢由用户单击列标题来触发它
  • 自定义进度条小部件

    我正在尝试做类似的事情this https stackoverflow com questions 3682021 uislider with certain possible values但在安卓中 在Android中我可以扩展Progr
  • Bootstrap CSS/HTML 背景图像调整大小

    当我调整浏览器大小时使用引导程序 背景中的图片会缩小 而背景颜色不会缩小 以下是包含 HTML 代码的网站链接 http code Differently com crest html http codedifferently com cr
  • 如何使 python urllib2 遵循重定向并保留 post 方法

    我正在使用 urllib2 将数据发布到表单 问题是表单回复了 302 重定向 根据Python HTTPRedirectHandler http docs python org library urllib2 html urllib2 H
  • SQLite.Interop 无法删除干净的文件解决方案

    我正在使用 Nuget 包System Data SQLite在 MVC Web 应用程序中 当我尝试清理解决方案并重建时 似乎存在锁定问题 我收到的错误消息是 Unable to delete file bin x64 SQLite In
  • Terraform:在 EKS/ECS 上部署 Docker Compose 应用程序

    TL DR 我使用开源服务器应用程序在 Docker Compose 上运行 它有一些服务 包括 PostgreSQL DB 和 Redis 如何使用 Terraform 以完整的 IaC 方式最好地将此应用程序部署到 AWS 到目前为止的
  • 如何在没有 EventMessageFile 的情况下读取 Windows 事件日志?

    我有读取 Windows 事件日志的代码 它使用 OpenEventLog ReadEventLog 并获取事件源和事件 ID 然后它在下面查找源 HKEY LOCAL MACHINE SYSTEM CurrentControlSet Se
  • 如何从 NSApplication 事件循环中启动 Go 的 main 函数?

    我正在尝试添加Sparkle https sparkle project org进入我的 Qt Go 的绑定 https github com therecipe qt 应用程序使其可以自动更新 问题 运行最新版本时没有弹出对话框 http
  • Ansible 随机 UUID 生成

    在我的 Ansible 脚本中 我想动态生成 UUID 并稍后使用它们 这是我的方法 shell echo uuidgen with sequence count 5 register uuid list uri url http www
  • PHP sprintf 转义%

    我想要以下输出 即将从您的充值账户中扣除 27 59 欧元的 50 当我做这样的事情时 variablesArray 0 variablesArray 1 27 59 stringWithVariables About to deduct
  • 如何在 QEMU 中模拟 TrustZone?

    我正在尝试在 Qemu 中模拟 TrustZone 功能 我发现两个链接似乎解释了这个过程 第一个参考 http www linaro org blog core dump arm trustzone qemu 未附加支持 TrustZon