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