当前位置:网站首页>基於 QEMUv8 搭建 OP-TEE 開發環境

基於 QEMUv8 搭建 OP-TEE 開發環境

2022-07-06 22:20:00 stone8761

開發環境:Ubuntu 22.04 desktop 虛擬機

1、環境需求

$ sudo dpkg --add-architecture i386 $ sudo apt-get update

$ sudo apt-get install android-tools-adb android-tools-fastboot autoconf automake bc bison build-essential ccache codespell cpio cscope curl device-tree-compiler expect flex ftp-upload gdisk iasl libattr1-dev libcap-dev libcap-ng-dev libfdt-dev libftdi-dev libglib2.0-dev libgmp-dev libhidapi-dev libmpc-dev libncurses5-dev libpixman-1-dev libssl-dev libtool make mtools netcat ninja-build python-crypto python3-crypto python-pyelftools python3-pycryptodome python3-pyelftools rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev

2、安裝 repo

$ mkdir ~/bin

$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo

$ chmod a+x ~/bin/repo

$ export PATH=~/bin:$PATH

更改 repo 獲取源,在 /etc/profile 文件最後添加如下內容,然後重啟系統

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

3、獲取 OP-TEE 代碼

$ mkdir OP-TEE

$ cd OP-TEE/

$ repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml

$ repo sync -j4 --no-clone-bundle

備注1:提示 “Failed to connect to boringssl.googlesource.com port 443: Connection timed out” 錯誤是因為相關網址無法訪問,可使用如下命令替換網址源:

$ git config --global url."https://github.com/google/boringssl.git".insteadOf "https://boringssl.googlesource.com/boringssl"

$ git config --global url."https://hub.fastgit.org/google/boringssl.git".insteadOf "https://boringssl.googlesource.com/boringssl"

備注2:sync 操作會因為 github 鏈接失敗而報錯,報錯後重新執行即可。但 sync 每次都會更新所有庫,只要有一個庫鏈接失敗都會報錯,但可能這個庫已經下載完成了。因此可以查看對應的 manifest 文件,檢查是不是所有庫都已經下載完成。如果都已經下載完成即可以進入到下一步驟。manifest.xml 文件在 .repo 目錄下。

4、編譯

$ cd ./build

$ make -j2 toolchains

$ make -j `nproc`

5、運行 qemu

依然在 build/ 目錄下

$ make run

正確運行後會彈出兩個虛擬的串口終端,其中端口號為 54320 的是非安全系統,端口號為 54321 的為安全系統:

進入 qemu 終端後輸入 c 啟動系統:

(qemu) c

非安全系統(Linux)可以通過 root 用戶登錄

安全系統:

備注1:運行過程中可能會報 python 命令找不到的錯誤,但是 ubuntu 下已經安裝了 python。這是因為名稱問題,安裝的是 python2 和 python3,這裏可以創建一條鏈接解决問題:

$ sudo ln -s /usr/bin/python3 /usr/bin/python

備注2:第一次執行 make run 會編譯相關組件再運行 qemu,之後可以直接運行 make run-only 直接運行。

6、運行測試程序

使用 ps 命令檢查 tee-supplicant 進程是否存在

 運行 xtest 測試例程

$ xtest

原网站

版权声明
本文为[stone8761]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/07/202207061425312094.html