Les dépôts Trusty sont disponibles dans le projet Android Open Source (AOSP).
Utilisez ces liens pour trouver les branches de kernel Trusty appropriées dans AOSP:
Installer le dépôt
Pour télécharger Trusty, commencez par télécharger et installer Repo.
Une fois Repo installé, vous pouvez cloner le dépôt Android Trusty:
mkdir trusty
cd trusty
repo init -u https://android.googlesource.com/trusty/manifest -b main
repo sync -j32
Créer
Utilisez la commande suivante pour créer l'image arm64 générique pour Trusty:
./trusty/vendor/google/aosp/scripts/build.py generic-arm64
Les résultats de compilation se trouvent sous build-root/build-generic-arm64/.
. Recherchez lk.bin
, qui est une image TEE avec toutes les applications compilées:
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.
Trusty 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
Créez (à l'aide des scripts du serveur de compilation) des images trusty et qemu:
trusty/vendor/google/aosp/scripts/build.py qemu-generic-arm64-test-debug
Tous les tests configurés pour cette cible sont également exécutés.
Pour exécuter manuellement un test du testeur (activation de 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 du testeur (com.android.ipc-unittest.ctrl) avec la sortie de débogage du kernel 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 cette fonctionnalité localement, commentez tout le code dans bl31_plat_runtime_setup in 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 dans un shell interactif (à partir du précompilé enregistré):
build-root/build-qemu-generic-arm64-test-debug/run
De nombreuses autres options de forçage sont également disponibles pour cette commande. Pour en savoir plus, utilisez --help.
Si adb devices -l
échoue lors de l'exécution de qmeu.py
, la version du serveur adb exécutée sur votre système peut être incorrecte:
adb kill-server
Pour démarrer une version Android que vous avez en local:
build-root/build-qemu-generic-arm64-test-debug/run --android path/to/your/android/source/dir
Pour compiler 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