下載及建構

Trusty 存放區可在 Android 開放原始碼計畫 (AOSP) 中取得。

請透過下列連結,在 AOSP 中尋找適當的 Trusty 核心分支:

安裝存放區

如要下載 Trusty,請先下載並安裝 Repo

Repo 安裝完成後,您可以複製 Android Trusty 存放區:

mkdir trusty
cd trusty
repo init -u https://android.googlesource.com/trusty/manifest -b main
repo sync -j32

建構

請使用以下指令建構 Trusty 的一般 arm64 映像檔:

./trusty/vendor/google/aosp/scripts/build.py generic-arm64

建構結果位於 build-root/build-generic-arm64/. 下方。請找出 lk.bin,這是一個 TEE 映像檔,其中包含所有編譯的應用程式:

ls build-root/build-generic-arm64/lk.bin

安裝

您可以將 lk.bin 組裝成韌體映像檔,然後將其刷新至裝置。產生韌體映像檔的方式會因所使用的電路板而異。如需操作說明,請與板卡製造商聯絡。

QEMU 上的 Trusty

如果主機尚未安裝所需套件,請現在安裝:

sudo apt install libpixman-1-dev libstdc++-8-dev pkg-config libglib2.0-dev libusb-1.0-0-dev

使用建構伺服器指令碼建構 trusty 和 qemu 映像檔:

trusty/vendor/google/aosp/scripts/build.py qemu-generic-arm64-test-debug

這麼做也會執行為此目標設定的所有測試。

如要手動執行測試執行器測試 (通訊埠啟用) (com.android.ipc-unittest.ctrl):

build-root/build-qemu-generic-arm64-test-debug/run --headless --boot-test "com.android.ipc-unittest.ctrl"

如要在啟動時搭配核心偵錯輸出執行測試執行程式測試 (com.android.ipc-unittest.ctrl),請按照下列步驟操作:

build-root/build-qemu-generic-arm64-test-debug/run-qemu --boot-test "com.android.ipc-unittest.ctrl" --headless --verbose

ATF 會在傳回測試執行程式前停用控制台。如要停用這個功能,請在本機註解掉 bl31_plat_runtime_setup in external/arm-trusted-firmware/plat/common/aarch64/plat_common.c 中的所有程式碼。

如何透過 Android 殼層執行測試:

build-root/build-qemu-generic-arm64-test-debug/run-qemu --shell-command "/data/nativetest64/tipc-test/tipc-test -t ta2ta-ipc" --headless

如要啟動互動式殼層 (從已建構的已檢查項目):

build-root/build-qemu-generic-arm64-test-debug/run

這個指令也提供各種其他覆寫值,請查看 --help 進一步瞭解。

如果 adb devices -l 在執行 qmeu.py 時失敗,系統上執行的 ADB 伺服器版本可能不正確:

adb kill-server

如要啟動本機中的 Android 版本,請按照下列步驟操作:

build-root/build-qemu-generic-arm64-test-debug/run --android path/to/your/android/source/dir

如要建構 Trusty 專用的 Android:

mkdir android
cd android
repo init -u https://android.googlesource.com/platform/manifest -b main
repo sync -j32
source build/envsetup.sh
lunch qemu_trusty_arm64-userdebug
m