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