Download e creazione

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

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

Installa repository

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

Dopo aver installato Repo, 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 generica arm64 per Trusty:

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

I risultati di compilazione si trovano in build-root/build-generic-arm64/. Cerca lk.bin, un'immagine TEE con tutte le app compilate:

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

Installa

Puoi assemblare lk.bin in un'immagine del firmware ed eseguirne il flashing 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

Se non l'hai ancora fatto, installa i pacchetti necessari sull'host:

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) le immagini trusty e qemu:

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

Vengono eseguiti anche tutti i test configurati per questo target.

Per eseguire manualmente un test del test runner (attivazione 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 test runner. Per disattivare questo commento 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 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 dispone anche di una serie di altre sostituzioni disponibili. Per saperne di più, esegui --help.

Se adb devices -l non va a buon fine durante l'esecuzione di qmeu.py, la versione del server adb in esecuzione sul sistema potrebbe non essere corretta:

adb kill-server

Per avviare una build Android installata in locale:

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

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