trustzone 和optee 出來挺久了未玻,android 系統(tǒng)也都已經(jīng)使用了。arm芯片基本上都支持trustzone技術(shù)和TEE,TEE將為系統(tǒng)提供一個(gè)安全的運(yùn)行環(huán)境元莫,用于保護(hù)系統(tǒng)中的重要數(shù)據(jù)和安全操作。這邊根據(jù)網(wǎng)上的一些資料贝淤,學(xué)習(xí)和構(gòu)建一個(gè)optee的環(huán)境柒竞。
準(zhǔn)備開發(fā)環(huán)境
新版本的optee 使用ubuntu 18.04 會比較好,某些版本的軟件安裝起來會比較簡單播聪。
如果是在國內(nèi)的話朽基,下載代碼什么的會比較慢,我直接用了aliyun的日本的vpc离陶,配置環(huán)境稼虎,安裝運(yùn)行都比較快。
登陸遠(yuǎn)程PC:
# 添加-Y 參數(shù)允許進(jìn)行遠(yuǎn)程X forwarding
ssh ubuntu@XXX.XXX.XXX.XXX -Y
官網(wǎng)要求安裝下面的軟件:
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
另外還需要補(bǔ)充:
sudo apt install python3-openssl python3-crypto python3-pyelftools python3-pycryptodom
下載代碼
# 使用3.8.0的招刨,運(yùn)行在qemu armv8上的代碼
repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml -b 3.8.0
repo sync
代碼編譯
更新toolchain
cd /mnt/optee/buildmake toolchains -j2
編譯代碼:
make -j `nproc`
運(yùn)行:
make run
運(yùn)行結(jié)果霎俩,因?yàn)槭沁h(yuǎn)程操作的,很本地的不太一樣
啟動(dòng)了兩個(gè)窗口沉眶,一個(gè)是normal world打却,一個(gè)是secure world, normal world這邊是個(gè)buildroot 做的linux谎倔, secure world就是optee了
trustzone與OP-TEE介紹-構(gòu)建optee qemu 運(yùn)行環(huán)境
qemu的監(jiān)控控制臺柳击,以前沒用過,目前也不知道有啥用片习,等待后續(xù)發(fā)掘
trustzone與OP-TEE介紹-構(gòu)建optee qemu 運(yùn)行環(huán)境