Les dépôts Trusty sont disponibles dans le projet Android Open Source (AOSP).
Utilisez ces liens pour trouver les branches de noyau Trusty appropriées dans AOSP:
Installer Repo
Pour télécharger Trusty, commencez par télécharger et installer Repo.
Une fois le dépôt 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 le code suivant 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 compilation sont inférieurs à 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.
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 fiables 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 d'exécuteur (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 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 de l'environnement prédéfini coché), procédez comme suit :
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 d'adb
serveur exécuté sur votre système n'est peut-être pas la bonne version:
adb kill-server
Pour démarrer un build Android 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