Herunterladen und erstellen

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

Verwenden Sie diese Links, um die entsprechenden Trusty-Kernel-Zweige in AOSP zu finden:

Repo installieren

Um Trusty herunterzuladen, laden Sie zunächst Repo herunter und installieren Sie es .

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

Bauen

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

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

Build-Ergebnisse befinden sich unter build-root/build-generic-arm64/. Suchen Sie nach lk.bin, einem TEE-Image mit allen kompilierten Apps in:

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

Installieren

Sie können lk.bin zu einem Firmware-Image zusammenstellen und es auf das Gerät flashen. Die Generierung von Firmware-Images variiert je nach verwendeter Karte. Wenden Sie sich für Anweisungen an Ihren Platinenhersteller.

Vertrauenswürdig auf QEMU

Installieren Sie die benötigten Pakete auf dem Host, falls Sie dies noch nicht getan haben:

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-Skripte) Trusty- 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 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 es zum Test-Runner zurückkehrt. Um dies 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.

Um einen Test über die Android-Shell auszuführen,

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 eine interaktive Shell (von der eingecheckten vorgefertigten)

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

Für diesen Befehl stehen auch zahlreiche andere Außerkraftsetzungen zur Verfügung. Weitere Informationen finden Sie unter --help.

Wenn adb devices -l beim Ausführen qmeu.py fehlschlägt, handelt es sich möglicherweise um die falsche Version des ADB-Servers, der auf Ihrem System ausgeführt wird.

adb kill-server

Um einen Android-Build zu starten, den Sie lokal haben,

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

Um Android für Trusty zu erstellen,

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