Download e creazione

I repository Trusty sono disponibili nel file Android Open Progetto di origine (AOSP).

Usa questi link per trovare i rami del kernel Trusty appropriati in AOSP:

Installazione del repository

Per scaricare Trusty, devi prima scaricare e installare il Repo.

Una volta installato correttamente il repository, puoi clonare il repository Android Trusty.

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

Crea

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

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

I risultati della build saranno inferiori a 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

Installa

Puoi assemblare lk.bin in un'immagine firmware e scaricarla sul dispositivo. La generazione delle immagini del firmware varia in base alla scheda in uso. Per istruzioni, contatta il produttore della scheda.

Trusty su 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

Crea (utilizzando gli script del server di compilazione) immagini affidabili 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 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-runner test (com.android.ipc-unittest.ctrl) con 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 disattiva la console prima di tornare al runner del test. Per disattivare questa funzionalità, commenta localmente 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 di 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 casella predefinita selezionata)

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

Questo comando ha anche una serie di altri override disponibili; consulta --help per ulteriori informazioni.

Se adb devices -l non funziona quando viene eseguito qmeu.py, la versione dell'adb server in esecuzione sul sistema potrebbe essere errata.

adb kill-server

Per avviare una build Android in locale:

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

Per sviluppare Android for 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