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 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 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 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 main repo sync -j32 source build/envsetup.sh lunch qemu_trusty_arm64-userdebug m