Herunterladen und erstellen

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

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

Repo installieren

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

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

Entwickeln

Verwenden Sie folgenden Code, 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/. Suche nach lk.bin. Dabei handelt es sich um ein TEE-Bild 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 das 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 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-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 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, wird die ADB-Version verwendet. Server, der auf Ihrem System ausgeführt wird, hat möglicherweise die falsche Version:

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