Descargar y construir

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