Los repositorios de Trusty están disponibles en el módulo Proyecto fuente (AOSP).
Usa estos vínculos para encontrar las ramas de kernel de Trusty adecuadas en AOSP:
Cómo instalar Repo
Para descargar Trusty, primero descarga e instala Repo.
Después de instalar Repo correctamente, puedes clonar el repositorio de Android Trusty:
mkdir trusty
cd trusty
repo init -u https://android.googlesource.com/trusty/manifest -b main
repo sync -j32
Compilación
Usa lo siguiente para compilar la imagen genérica de arm64 para Trusty:
./trusty/vendor/google/aosp/scripts/build.py generic-arm64
Los resultados de la compilación se encuentran en build-root/build-generic-arm64/.
. Busca lk.bin
, que es una imagen de TEE con todas las apps compiladas en:
ls build-root/build-generic-arm64/lk.bin
Instalar
Puedes ensamblar lk.bin
en una imagen de firmware e instalarla en el dispositivo.
La generación de imágenes de firmware varía según la placa que se use.
Comunícate con el fabricante de la placa para obtener instrucciones.
Trusty en QEMU
Instala los paquetes necesarios en el host si aún no lo hiciste:
sudo apt install libpixman-1-dev libstdc++-8-dev pkg-config libglib2.0-dev libusb-1.0-0-dev
Compila (con las secuencias de comandos del servidor de compilación) imágenes de trusty y qemu:
trusty/vendor/google/aosp/scripts/build.py qemu-generic-arm64-test-debug
Esto también ejecuta todas las pruebas configuradas para este destino.
Para ejecutar manualmente una prueba del ejecutor de pruebas (activación de puertos) (com.android.ipc-unittest.ctrl), haz lo siguiente:
build-root/build-qemu-generic-arm64-test-debug/run --headless --boot-test "com.android.ipc-unittest.ctrl"
Para ejecutar una prueba de test-runner (com.android.ipc-unittest.ctrl) con el resultado de depuración del kernel durante el inicio, haz lo siguiente:
build-root/build-qemu-generic-arm64-test-debug/run-qemu --boot-test "com.android.ipc-unittest.ctrl" --headless --verbose
ATF inhabilita la consola antes de volver a test-runner. Para inhabilitar esta función de forma local, comenta todo el código en bl31_plat_runtime_setup in external/arm-trusted-firmware/plat/common/aarch64/plat_common.c
.
Para ejecutar una prueba desde la shell de Android, haz lo siguiente:
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 una shell interactiva (a partir de la compilación previa registrada), haz lo siguiente:
build-root/build-qemu-generic-arm64-test-debug/run
Este comando también tiene una variedad de otras anulaciones disponibles. Consulta --help para obtener más información.
Si adb devices -l
falla cuando se ejecuta qmeu.py
, es posible que la versión del servidor de adb que se ejecuta en tu sistema sea incorrecta:
adb kill-server
Para iniciar una compilación de Android que tengas de forma local, haz lo siguiente:
build-root/build-qemu-generic-arm64-test-debug/run --android path/to/your/android/source/dir
Para compilar Android para Trusty, haz lo siguiente:
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