Scarica e crea

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