如何在QEMU中模拟TrustZone?

时间:2015-04-01 12:23:21

标签: android linux arm qemu trust-zone

我正在尝试在Qemu中模拟TrustZone功能。 我找到了两个似乎可以解释这个过程的链接。

The First Reference没有附加支持TrustZone的图像内核(我在哪里可以找到它?)

The Second Reference解释了我如何编译内核但它不是从第一个网站编写的命令行开始的,如下所示

./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模拟器?

2 个答案:

答案 0 :(得分:3)

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

我写了blog post,说明为什么QEMU是进行TrustZone开发的不错选择。

答案 1 :(得分:0)

您可以查看以下链接:https://github.com/OP-TEE/build和文档(https://optee.readthedocs.io/building/gits/build.html),以构建运行Linux所需的所有映像和BSP。

  

是否有另一种方法来运行TrustZone仿真器?

除QEMU之外,您还可以查看使用Fastmodel(https://developer.arm.com/ip-products/system-ip/reference-design)的Arm System Guidance。还有一个make食谱可以构建所有需要的BSP。