Télécharger et créer

Les référentiels Trusty sont disponibles dans le projet Android Open Source (AOSP).

Utilisez ces liens pour trouver les branches du noyau Trusty appropriées dans AOSP :

Installation du dépôt

Pour télécharger Trusty, commencez par télécharger et installer Repo .

Une fois Repo installé avec succès, vous pouvez cloner le référentiel Android Trusty.

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

Construire

Utilisez ce qui suit pour créer l’image générique arm64 pour Trusty.

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

Les résultats de la construction seront sous build-root/build-generic-arm64/. Recherchez lk.bin qui est une image TEE avec toutes les applications compilées dans :

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

Installer

Vous pouvez assembler lk.bin dans une image de micrologiciel et la flasher sur l'appareil. La génération d'images de micrologiciel varie en fonction de la carte utilisée. Contactez le fabricant de votre carte pour obtenir des instructions.

Fiable sur QEMU

Installez les packages nécessaires sur l'hôte si ce n'est pas déjà fait :

sudo apt install libpixman-1-dev libstdc++-8-dev pkg-config libglib2.0-dev libusb-1.0-0-dev

Construisez (à l'aide des scripts du serveur de build) des images trusty et qemu :

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

Cela exécutera également tous les tests configurés pour cette cible.

Pour exécuter manuellement un test de test (activation du port) (com.android.ipc-unittest.ctrl) :

build-root/build-qemu-generic-arm64-test-debug/run --headless --boot-test "com.android.ipc-unittest.ctrl"

Pour exécuter un test d'exécution de test (com.android.ipc-unittest.ctrl) avec la sortie de débogage du noyau au démarrage :

build-root/build-qemu-generic-arm64-test-debug/run-qemu --boot-test "com.android.ipc-unittest.ctrl" --headless --verbose

ATF désactive la console avant de revenir au testeur. Pour désactiver cela localement, commentez tout le code dans bl31_plat_runtime_setup dans external/arm-trusted-firmware/plat/common/aarch64/plat_common.c.

Pour exécuter un test à partir du shell Android,

build-root/build-qemu-generic-arm64-test-debug/run-qemu --shell-command "/data/nativetest64/tipc-test/tipc-test -t ta2ta-ipc" --headless

Pour démarrer sur un shell interactif (à partir du pré-construit archivé)

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

Cette commande propose également une variété d'autres remplacements disponibles - consultez --help pour en savoir plus.

Si adb devices -l échoue lors de l'exécution qmeu.py , la version du serveur adb qui s'exécute sur votre système est peut-être incorrecte.

adb kill-server

Pour démarrer une version Android que vous avez localement,

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

Pour construire Android pour 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