Descargar y construir

Los repositorios de Trusty están disponibles en el Proyecto de código abierto de Android (AOSP).

Use estos enlaces para encontrar las ramas del kernel Trusty apropiadas en AOSP:

Instalación de repositorio

Para descargar Trusty, primero descargue e instale Repo .

Después de 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 master
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 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 en pc

Puede ensamblar lk.bin en una imagen de firmware y actualizarla 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

Compile (usando los scripts del servidor de compilación) imágenes de confianza 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 corredor de prueba (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 corredor de prueba (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 volver al corredor 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 en un shell interactivo (desde el check-in preconstruido)

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 ejecuta en su sistema puede ser la versión incorrecta.

adb kill-server

Para iniciar una compilación de Android que tiene localmente,

build-root/build-qemu-generic-arm64-test-debug/run --android path/to/your/android/source/dir

Para compilar Android para Trusty,

mkdir android
cd android
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j32
source build/envsetup.sh
lunch qemu_trusty_arm64-userdebug
m