Los repositorios de Trusty están disponibles en el Proyecto de código abierto de Android (AOSP).
Utilice estos enlaces para encontrar las ramas del kernel Trusty adecuadas en AOSP:
Instalación del repositorio
Para descargar Trusty, primero descargue e instale Repo .
Una vez que Repo se haya instalado correctamente, puede clonar el repositorio de Android Trusty.
mkdir trusty
cd trusty
repo init -u https://android.googlesource.com/trusty/manifest -b main
repo sync -j32
Construir
Utilice lo siguiente para crear la imagen genérica arm64 para Trusty.
./trusty/vendor/google/aosp/scripts/build.py generic-arm64
Los resultados de la compilación estarán en build-root/build-generic-arm64/.
Busque lk.bin, que es una imagen TEE con todas las aplicaciones compiladas en:
ls build-root/build-generic-arm64/lk.bin
Instalar
Puede ensamblar lk.bin en una imagen de firmware y actualizarlo en el dispositivo. La generación de imágenes de firmware varía según la placa que se utilice. Comuníquese con el fabricante de su placa para obtener instrucciones.
Confiable en QEMU
Instale los paquetes necesarios en el host si aún no lo ha hecho:
sudo apt install libpixman-1-dev libstdc++-8-dev pkg-config libglib2.0-dev libusb-1.0-0-dev
Construya (usando los scripts del servidor de compilación) imágenes confiables y qemu:
trusty/vendor/google/aosp/scripts/build.py qemu-generic-arm64-test-debug
Esto también ejecutará todas las pruebas configuradas para este objetivo.
Para ejecutar manualmente una prueba de ejecución de pruebas (activación de puerto) (com.android.ipc-unittest.ctrl):
build-root/build-qemu-generic-arm64-test-debug/run --headless --boot-test "com.android.ipc-unittest.ctrl"
Para ejecutar una prueba de ejecución de pruebas (com.android.ipc-unittest.ctrl) con salida de depuración del kernel en el arranque:
build-root/build-qemu-generic-arm64-test-debug/run-qemu --boot-test "com.android.ipc-unittest.ctrl" --headless --verbose
ATF desactiva la consola antes de regresar al ejecutor de pruebas. Para deshabilitar esto localmente, comente todo el código en bl31_plat_runtime_setup en external/arm-trusted-firmware/plat/common/aarch64/plat_common.c.
Para ejecutar una prueba desde el shell de Android,
build-root/build-qemu-generic-arm64-test-debug/run-qemu --shell-command "/data/nativetest64/tipc-test/tipc-test -t ta2ta-ipc" --headless
Para iniciar desde un shell interactivo (desde el prediseñado registrado)
build-root/build-qemu-generic-arm64-test-debug/run
Este comando también tiene una variedad de otras anulaciones disponibles; consulte --help para obtener más información.
Si adb devices -l
falla al ejecutar qmeu.py
, la versión del servidor adb que se está ejecutando en su sistema puede ser la versión incorrecta.
adb kill-server
Para iniciar una compilación de Android que tienes localmente,
build-root/build-qemu-generic-arm64-test-debug/run --android path/to/your/android/source/dir
Para construir Android para 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