Scarica e crea

I repository Trusty sono disponibili nell'Android Open Source Project (AOSP).

Utilizza questi collegamenti per trovare i rami del kernel Trusty appropriati in AOSP:

Installazione del repository

Per scaricare Trusty, scarica e installa prima Repo .

Dopo che Repo è stato installato con successo puoi clonare il repository Android Trusty.

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

Costruire

Utilizzare quanto segue per creare l'immagine arm64 generica per Trusty.

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

I risultati della build si troveranno in build-root/build-generic-arm64/. Cerca lk.bin che è un'immagine TEE con tutte le app compilate in:

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

Installare

Puoi assemblare lk.bin in un'immagine firmware e installarla sul dispositivo. La generazione delle immagini del firmware varia a seconda della scheda utilizzata. Contatta il produttore della scheda per istruzioni.

Fiducia in QEMU

Installa i pacchetti necessari sull'host se non lo hai già fatto:

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

Costruisci (utilizzando gli script del server di compilazione) immagini fidate e qemu:

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

Verranno eseguiti anche tutti i test configurati per questo target.

Per eseguire manualmente un test del test runner (attivazione della porta) (com.android.ipc-unittest.ctrl):

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

Per eseguire un test del test runner (com.android.ipc-unittest.ctrl) con l'output di debug del kernel all'avvio:

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

ATF disabilita la console prima di tornare al test runner. Per disabilitarlo localmente commentare tutto il codice in bl31_plat_runtime_setup in external/arm-trusted-firmware/plat/common/aarch64/plat_common.c.

Per eseguire un test dalla shell Android,

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

Per avviare una shell interattiva (dalla versione predefinita archiviata)

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

Questo comando ha anche una varietà di altre sostituzioni disponibili: controlla --help per ulteriori informazioni.

Se adb devices -l fallisce durante l'esecuzione qmeu.py , la versione del server adb in esecuzione sul tuo sistema potrebbe essere la versione sbagliata.

adb kill-server

Per avviare una build Android che hai localmente,

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

Per creare Android per 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