ARMv8-A QEMU运行OP-TEE/ATF环境搭建

关键词:OP-TEE、ATF、xtest、Linux等等。

 

下面记录通过ARMv8-A QEMU运行OP-TEE、ARM Trusted Firmware、Linux环境搭建过程。

1. 编译环境准备

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 libhidapi-dev libncurses5-dev \
        libpixman-1-dev libssl-dev libtool make mtools netcat python-crypto python3-crypto python-pyelftools \
        python3-pyelftools python-serial python3-serial rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev

安装pycryptodome:

pip install pycryptodome

2. 代码下载

由于访问github.com速度非常慢,并且连接不稳定。

所已经github.com相关仓库,镜像到gitee.com;并且手动下载toolchains;手动下载linaro-swg/linux.git。 

2.1 镜像github.com相库到gitee.com

repo init -u https://gitee.com/arnoldlu/manifest.git -m qemu_v8.xml --repo-url=git://codeaurora.org/tools/repo.git -b 3.6.0
repo sync -j4

修改manifest.xml:

sed -i "s/\.git//g" .repo/manifest.xml

2.2 下载linaro-swg/linux.git

https://hub.fastgit.org/linaro-swg/linux

2.3 创建Makefile软链接

ln -s build/qemu_v8.xml build/Makefile

2.4 下载toolchains

通过下载工具可以加速工具链下载:

https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz
https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz

修改build/toolchains.mk,执行make toolchains。

diff --git a/toolchain.mk b/toolchain.mk
index 8bc4b16..fc36394 100644
--- a/toolchain.mk
+++ b/toolchain.mk
@@ -21,8 +21,6 @@ SRC_AARCH64_GCC               ?= https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3
 define dltc
        @if [ ! -d "$(1)" ]; then \
                mkdir -p $(1); \
-               echo "Downloading $(3) ..."; \
-               curl -s -L $(2) -o $(TOOLCHAIN_ROOT)/$(3).tar.xz; \
                tar xf $(TOOLCHAIN_ROOT)/$(3).tar.xz -C $(1) --strip-components=1; \
        fi
 endef

3. 编译运行

在build目录下编译:

make -j8
或者
make -f qemu_v8.mk -j8

在build目录下运行:

make run-only
make -f qemu_v8.mk run-only

 在shell中输入“c”,可以看到弹出两个shell,分别是安全的OP-TEE和非安全的Linux。

 ARMv8-A QEMU运行OP-TEE/ATF环境搭建ARMv8-A QEMU运行OP-TEE/ATF环境搭建

 在Linux终端中输入root登录,然后执行xtest进行OP-TEE测试。

 ARMv8-A QEMU运行OP-TEE/ATF环境搭建ARMv8-A QEMU运行OP-TEE/ATF环境搭建

上一篇:dedecms 复制word里面带图文的文章,图片可以直接显示


下一篇:常用webshell提权方法总结