Skip to content

QEMU Virtual Armory

ckuethe edited this page Jan 4, 2015 · 27 revisions

#Introduction

It is often useful to have a test environment independent of hardware. This environment is based on a Versatile Express board with a Cortex-A9 cpu; this hardware was chosen for Trustzone support in QEMU-tz which requires either and A9 or A15, and Versatile Express with A9 support in uBoot. This should provide a low risk way to test Secure Boot, for example.

Procedure

QEMU-Trustzone

QEMU-Trustzone is Linaro's patch of QEMU with TrustZone support.

$ git clone git://git.linaro.org/people/greg.bellows/qemu.git --branch qemutz qemutz-git
$ cd qemutz-git
$ ./configure --target-list=arm-softmmu --enable-seccomp --extra-ldflags="-fPIC" --extra-cflags="-fPIC"
$ make -j4
$ cp arm-softmmu/qemu-system-arm ~/bin/qemu-system-arm-trustzone

To test the new qemu binary without using trustzone

$ ~/bin/qemu-system-arm-trustzone -kernel $PATH_TO_KERNEL/zImage -M vexpress-a9 -dtb PATH_TO_DTB/vexpress-v2p-ca9.dtb -m 512 -append 'console=ttyAMA0,38400n8' -serial stdio -initrd $PATH_TO_INITRD/initrd.img

To test the new qemu with trustzone (not sure if this works yet) $ ~/bin/qemu-system-arm-trustzone -bios $PATH_TO_IMAGE/image -M vexpress-a9 -cpu cortex-a9 -m 1024 -append 'console=ttyAMA0,38400n8' -serial stdio

QEMU-uBoot

QEMU-Kernel

QEMU-Storage

References

Clone this wiki locally