Herunterladen und erstellen

Die Trusty-Repositories sind in der Android Open Quellprojekt (AOSP):

Über diese Links können Sie die entsprechenden Trusty-Kernel-Zweige in AOSP finden:

Repository installieren

Laden Sie zuerst Repo herunter und installieren Sie es, um Trusty herunterzuladen.

Nachdem Repo erfolgreich installiert wurde, können Sie das Android Trusty-Repository klonen.

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

Eine Community

Verwenden Sie Folgendes, um das generische arm64-Image für Trusty zu erstellen.

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

Build-Ergebnisse liegen unter build-root/build-generic-arm64/. Suchen Sie nach lk.bin, einem TEE-Image mit allen Apps, die hier kompiliert sind:

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

Installieren

Du kannst „lk.bin“ zu einem Firmware-Image zusammenfassen und auf dem Gerät flashen. Das Generieren von Firmware-Images hängt vom verwendeten Board ab. Wenden Sie sich an den Hersteller Ihrer Tafel, um eine Anleitung zu erhalten.

Trusty auf QEMU

Installieren Sie die erforderlichen Pakete auf dem Host, falls noch nicht geschehen:

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

Erstellen Sie (mithilfe der Build-Server-Skripts) vertrauenswürdige Images und qemu-Images:

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

Dadurch werden auch alle für dieses Ziel konfigurierten Tests ausgeführt.

So führen Sie manuell einen Test-Runner-Test (Portaktivierung) aus (com.android.ipc-unittest.ctrl):

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

So führen Sie einen Test-Runner-Test (com.android.ipc-unittest.ctrl) mit der Kernel-Debug-Ausgabe beim Booten aus:

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

ATF deaktiviert die Konsole, bevor zum Test-Runner zurückgekehrt wird. Um diese Funktion lokal zu deaktivieren, kommentieren Sie den gesamten Code in bl31_plat_runtime_setup in external/arm-trusted-firmware/plat/common/aarch64/plat_common.c aus.

So führen Sie einen Test über die Android-Shell aus:

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

Zum Starten einer interaktiven Shell (aus der eingecheckten vordefinierten)

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

Dieser Befehl bietet auch eine Vielzahl anderer Überschreibungen. Weitere Informationen finden Sie unter „--help“.

Wenn adb devices -l bei der Ausführung von qmeu.py fehlschlägt, ist die Version des ADB-Servers, der auf deinem System ausgeführt wird, möglicherweise die falsche Version.

adb kill-server

Um einen lokal installierten Android-Build zu starten,

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

Um Android for Trusty zu entwickeln,

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