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, scarica e installa Repo.
Dopo aver installato correttamente 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 a seconda della scheda utilizzata.
Contatta il produttore della scheda per conoscere le istruzioni.
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 di 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 disattiva la console prima di tornare al test runner. Per disattivare questa opzione localmente, commenta 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 (dal precompilato sottoposto a check-in):
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 che hai localmente:
build-root/build-qemu-generic-arm64-test-debug/run --android path/to/your/android/source/dir
Per compilare 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