Herunterladen und erstellen

Die Trusty-Repositories sind im Android Open Source Project (AOSP) verfügbar.

Über die folgenden Links finden Sie die entsprechenden Trusty-Kernel-Branches in AOSP:

Repo installieren

Wenn Sie Trusty herunterladen möchten, müssen Sie zuerst Repo herunterladen und installieren.

Nachdem Repo 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

Entwickeln

So erstellen Sie das generische Arm64-Image für Trusty:

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

Die Build-Ergebnisse finden Sie unter build-root/build-generic-arm64/.Suchen nach lk.bin. Dies ist ein TEE-Image mit allen kompilierten Apps:

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

Installieren

Sie können lk.bin in ein Firmware-Image zusammenstellen und auf das Gerät flashen. Das Generieren von Firmware-Images hängt vom verwendeten Board ab. Eine Anleitung dazu erhalten Sie vom Hersteller des Boards.

Trusty unter 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-Scripts die Images „trusty“ und „qemu“:

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 einen Test-Runner-Test (Portaktivierung) (com.android.ipc-unittest.ctrl) manuell aus:

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 Kernel-Debugausgabe beim Starten 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 er zum Test-Runner zurückkehrt. Wenn Sie diese Funktion lokal deaktivieren möchten, 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

So starten Sie in einer interaktiven Shell (über die eingecheckte Prebuilt-Datei):

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

Für diesen Befehl gibt es auch eine Vielzahl anderer Überschreibungen. Weitere Informationen finden Sie unter „–help“.

Wenn adb devices -l beim Ausführen von qmeu.py fehlschlägt, ist die Version des adb-Servers, die auf Ihrem System ausgeführt wird, möglicherweise falsch:

adb kill-server

So starten Sie einen lokal vorhandenen Android-Build:

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

So erstellen Sie Android für Trusty:

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