ARMv8 Fast Models 安裝 SierraTEE

一.安裝前的準備

軟件資源:
1.SierraTEE:Open Virtualication 官網提供的支持ARM v8的TEE框架,下載路徑爲http://openvirtualization.org/downloadsoftware.html
注意:此軟件資源需要進行註冊使用,不過註冊不會進行檢查,可以隨意填寫。

2.SierraVisor:同上,爲此官網提供的支持ARM v8 虛擬化功能,安裝路徑如下http://openvirtualization.org/downloadsoftware.html, 具體的壓縮包爲:
1.SDK_Sep25_2014_TEE.tar.gz TEE和Visor 源代碼
2.toolchain_sep_25_2014.tar.bz2 安裝使用工具
3.rootfs.bz2
4.Linux Linaro 3.14
http://releases.linaro.org/14.03/components/kernel/linux-linaro/linux-linaro-3.14-rc7-2014.03.tar.bz2
5.Rootfs.tar.bz2 安裝路徑
http://www.openvirtualization.org/Sep25_2014/rootfs.bz2
6.GCC linaro aarch64 linux gnu 4.9-2014.07 Linux
http://releases.linaro.org/14.07/components/toolchain/binaries

基本操作文件解壓
將SDK_Sep25_2014_TEE.tar.gz解壓到方便操作的地方。

#tar -zxvf SDK_Sep25_2014_TEE.tar.gz

二.編譯內核

1.normal kernel
將Linux Linaro 3.14的壓縮包移動到/trustzone/otz_linux路徑下並解壓

#cp linux-linaro-3.14-rc7-2014.03 trustzone/otz_linux
#tar –xvf linux-linaro-3.14-rc7-2014.03

重命名此解壓文件

#mv trustzone/otz_linux/linux-linaro-3.14-rc7-2014.03 stzone/otz_linux/linux

將壓縮包rootfs.bz2 移動並解壓至trustzone/otz_linux 路徑下:
注意:此壓縮包筆者解壓時遇到問題,可以手動解壓,然後使用以下命令

#tar -xvf rootfs.tar

啓動腳本

#sh setup.sh

設置環境變量

#export CROSS_COMPILE=<toolchain installed directory>/bin/aarch64-linux-gnu-
#export PATH=$PATH: <toolchain installed directory>/bin/

轉到/trustzone/otz_linux 路徑下,進行編譯

#cd trustzone/otz_linux
#make

2.secure kernel
同上設置環境變量:

#export CROSS_COMPILE=<toolchain installed directory>/bin/ aarch64-linux-gnu-
#export PATH=$PATH: <toolchain installed directory>/bin/

轉至/trustzone/tzone_sdk路徑下,清理上次編譯的文件,然後進行編譯:

#cd trustzone/tzone_sdk
#make clean
#make

三.相關軟件工具的安裝

1.下載安裝 openssl package

獲取openssl支持,筆者安裝的版本爲openssl1.0.1
安裝路徑: http://www.openssl.org/source/openssl-1.0.1c.tar.gz

修改tzone_SDK目錄下的Makefile的相關屬性,將ENABLE_LIBCRYPT的值和CRYPTO_BUILD的值修改爲y。

修改trustzone/package目錄下的config.package文件的相關屬性CONFIG_CRYPTO改爲y。

配製環境變量,將CROSS_COMPILE_NEWLIB和path指向可用的路徑

#export CROSS_COMPILE_NEWLIB=<supplied toolchain installed directory>/bin/arm-none-eabi-
#export PATH=$PATH: <supplied toolchain installed directory>/sierra_toolchain/bin

對otz_linux_32 和 tzone_sdk進行編譯
注意:otz_linux_32中並不包含Makefile文件中要求的linux kernel 壓縮包,需要進行下載,筆者使用的爲Makefile中設置的內核版本linux-2.6.38.7.tar.bz2。linux kernel的下載路徑如下:
https://www.kernel.org/pub/linux/kernel/v2.6/

#cd trustzone/otz_linux_32
#make
#cd trustzone/tzone_sdk
#make

2.安裝FFmpeg

首先下載安裝壓縮包,筆者使用的是ffmpeg.10.1.tar,這是和SierraTEE自帶的patch文件最爲匹配的ffmpeg版本。

安裝路徑:http://ffmpeg.org/releases/

但仍需要修改ffmpeg.patch文件,文件目錄:trustzone/package/patchs/ffmpeg.patch,第一次進行Make會出現有一個Patch補丁文件codec_names.h文件未找到的錯誤,此爲正常的,在選擇no後繼續make編譯,將會正常編譯。
注意:此次編譯需要aarch64編譯器和arm-none-eabi-gcc同時使用,筆者建議安裝gcc-arm-none-eabi,在出現gcc選項不匹配的時候可以進行切換,通過設置CROSS_COMPILE_NEWLIB環境變量的路徑。

修改Makefile.ffmpeg中設置的ffmpeg版本文件名,版本爲ffmpeg.10.1.tar.

修改完畢後開始安裝:

1.將下載好的壓縮包放置在目錄package/storage/下
2.將packages/config.package文件中的CONFIG_LIBSDL和CONFIG_FFMPEG選項修改成y。
3.設置環境變量:安裝openssl相似,不再累述。
4.執行下列命令:

#cd trustzone/otz_linux_32
#make
#cd trustzone/tzone_sdk
#make

完成安裝!!
注意:ARMv8的編譯文件Makefile.in需要otzon_ffmepg.elf文件,而實際上v8的編譯過程中並未使用到這個文件,可以將其註釋掉,否則將無法正常編譯生成monitor.elf和monitor.bin文件,將無法進一步加載測試。

四.安裝SierraTEE

安裝SierraTEE之前需要安裝ARMv8 Fast Models,具體安裝教程可參見筆者上一篇博客http://blog.csdn.net/u010071291/article/details/49639625

1.啓動FastModelTools/bin目錄下的sgcanvas可執行文件,啓動命令爲./sgcanvas,啓動後可能會出現PVLIB_HOME以及MAXCORE_HOME未設置的錯誤,MAXCORE_HOME環境變量設置爲FastModelsTool的路徑,PVLIB_HOME環境變量設置爲FastModelsPortfolio的路徑,其他錯誤請參見上一篇博客,啓動後效果如下圖:

這裏寫圖片描述

2.啓動成功後導入工程文件,SierraTEE的elf文件和配套的.bin文件指定的v8內核爲AEMV8a,所以筆者導入FastModelsPortfolio_9.4/examples/FVP_VE/Build_AEMv8A/FVP_VE_AEMv8A.sgproj文件,效果如下圖:

這裏寫圖片描述

3.gcc版本已經設置好了,請不要亂改,選擇Project目錄下的launch debugger Model,將會彈出如下界面:

這裏寫圖片描述
將以上幾步編譯生成的monitor.elf和monitor.bin文件路徑分別填寫到Application和Parameter file下,這兩個文件路徑爲:
/tzone_sdk/bin/monitor.elf
/tzone_sdk/bin/monitor.bin
然後點擊OK,彈出Configure Model Parameters窗體:

若彈出錯誤提示框如下:

這裏寫圖片描述

則證明Model Debugger設置路徑錯誤,修改路徑方法爲打開>file>preference 彈出窗體:

TEE05

在Application下,可以發現路徑默認爲$MAXVIEW_HOME/bin/modeldebugger,而MAXVIEW_HOME環境變量並未設置,所以出錯。修改Model Debugger路徑,就能成功啓動。

啓動後出現如下錯誤:
**

Error starting model_shell to get parameters for model '/home/qwm/ARM/FastModelsPortfolio_9.4/examples/FVP_VE/Build_AEMv8A/Linux64-Release-GCC-4.4/cadi_system_Linux64-Release-GCC-4.4.so'.
Check that model_shell is in PATH

**
經檢查cadi_system_Linux64-Release-GCC-4.4.so動態庫路徑正確,則爲model_shell問題,但筆者檢查後發現設置路徑未出錯,應將model_shell路徑添加至PATH中,具體命令如下:

#export PATH=$PATH:<The path of FastModelsTools>/bin

但仍未解決問題,後查詢Fast Models users guide 得知,Model_shell的啓動需要gdb 6.2以上版本的支持,筆者使用的是Ubuntu 14.04,未安裝gdb。安裝方法以及安裝路徑如下:
安裝路徑 :http://ftp.gnu.org/gnu/gdb/
安裝方法:
1.將下載的壓縮包解壓:

tar jxvf gdb7.6.tar.bz2

2.初始化並進行編譯:

 #./configure --target=arm-linux --prefix=/home/qwm -v
 #make

其中prefix中設置的是安裝路徑。

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