Arm TrustZone 學習 - 0.2 Qemu - OPTEE 虛擬運行環境搭建

感謝 帥峯雲 博主的教程,書已購買講的很細緻:https://blog.csdn.net/shuaifengyun/article/details/71499619

感謝 技術宅阿棍兒 up主的視頻,已三連投幣:https://www.bilibili.com/video/av55057371/

 

虛擬機環境是我一直做 Linux驅動開發的環境,Ubuntu 16.04.5

一、準備開發環境並安裝開發工具:

time sudo apt-get install android-tools-adb android-tools-fastboot autoconf \
automake bc bison build-essential cscope curl device-tree-compiler \
expect flex ftp-upload gdisk iasl libattr1-dev libc6:i386 libcap-dev \
libfdt-dev libftdi-dev libglib2.0-dev libhidapi-dev libncurses5-dev \
libpixman-1-dev libssl-dev libstdc++6:i386 libtool libz1:i386 make \
mtools netcat python-crypto python-serial python-wand unzip uuid-dev \
xdg-utils xterm xz-utils zlib1g-dev -y

找了個大家都不在公司的時間,下載安裝需要的時間很少。

 

二、下載 OP-TEE的源碼

mkdir optee

cd optee

repo init -u https://github.com/OP-TEE/manifest.git -m default_stable.xml --repo-url=git://codeaurora.org/tools/repo.git -b 2.6.0

//初始化repo,這是官方源,會有很多問題,改下 url,改爲清華的鏡像,https://mirrors.tuna.tsinghua.edu.cn/help/git-repo/

repo init -u https://github.com/OP-TEE/manifest.git -m default_stable.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -b 2.6.0

提示 repo未安裝,那麼先安裝下 repo,再去執行上面命令。

過了一會兒,出現這句話。詢問 git的郵箱和姓名。按照格式填寫自己賬號信息。

git config --global user.email [email protected]

git config --global user.name ZhiliangMa

填寫自己賬號信息後,再進行一次上一步命令。

輸入 y,git 源碼就可以啦。

(因爲按照up主使用的國內的鏡像,沒有博主後面那麼多的錯誤)

 

三、同步代碼

按照 up的方法,修改一些配置,大大節省時間。

打開 ~/optee/.repo/manifest.xml

我的打開只有這幾句話,顯然我的並不適用 up主的方法。乖乖按照 博主的弄,時間長就長吧。

time repo sync -j8 -f

因爲趕在公司沒人的時候弄的,網速比較快,平均3~10M,下載資源用的時間不多。大多數時間都花在了本地解析配置上。

 

四、獲取工具鏈

cd build

time make -f toolchain.mk toolchains

 

五、編譯。

使用 qemu 運行 OP-TEE 工程(在 build 目錄下編譯)

time make -f qemu.mk all

編譯後並未出現 up主視頻中出錯的現象,看來應該是最新版本的 OP-TEE 將上個Bug修復過了。

 

六、啓動 Qemu(在 build目錄下啓動),運行 OP-TEE 和 Linux

啓動 Qemu。

make -f qemu.mk run-only

在 Qemu 界面中敲入字母 'c',就會運行 OP-TEE 和 Linux。

並且同時會彈出兩個終端窗口,一個是 OP-TEE的,一個是 Linux的。

(圖中,坐上角的終端是 Qemu的,左下角的終端是 Qemu虛擬出的 Linux,右下角的是 Qemu虛擬出的 OP-TEE)

(很好區分,OP-TEE的信息行首是 DEBUG:)

 

七、運行 optee_example_hello_world

在 Qemu虛擬出的 Linux終端中,輸入 optee_hello_world 命令就會執行示例代碼 optee_example_hello_world。

現象正確,OPTEE 虛擬環境搭建成功。

 

整個搭建過程花費了約兩小時,建議大家一定要找網速快的地方弄。

第三步下載因爲公司沒人,網速比較快,將近3個G的各種包不到10分鐘下載完,剩下的時間看個人電腦配置。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章