Os repositórios Trusty estão disponíveis no Android Open Source Project (AOSP).
Use estes links para encontrar as ramificações apropriadas do kernel Trusty no AOSP:
Instalando Repo
Para baixar o Trusty, primeiro baixe e instale o Repo .
Após a instalação bem-sucedida do Repo, você pode clonar o repositório Android Trusty.
mkdir trusty
cd trusty
repo init -u https://android.googlesource.com/trusty/manifest -b main
repo sync -j32
Construir
Use o seguinte para construir a imagem arm64 genérica para Trusty.
./trusty/vendor/google/aosp/scripts/build.py generic-arm64
Os resultados da compilação estarão em build-root/build-generic-arm64/.
Procure lk.bin que é uma imagem TEE com todos os aplicativos compilados em:
ls build-root/build-generic-arm64/lk.bin
Instalar
Você pode montar lk.bin em uma imagem de firmware e atualizá-lo no dispositivo. A geração de imagens de firmware varia dependendo da placa usada. Entre em contato com o fabricante da placa para obter instruções.
Confiável no QEMU
Instale os pacotes necessários no host, caso ainda não o tenha feito:
sudo apt install libpixman-1-dev libstdc++-8-dev pkg-config libglib2.0-dev libusb-1.0-0-dev
Crie (usando os scripts do servidor de compilação) imagens confiáveis e qemu:
trusty/vendor/google/aosp/scripts/build.py qemu-generic-arm64-test-debug
Isso também executará todos os testes configurados para este destino.
Para executar manualmente um teste do executor de testes (ativação de porta) (com.android.ipc-unittest.ctrl):
build-root/build-qemu-generic-arm64-test-debug/run --headless --boot-test "com.android.ipc-unittest.ctrl"
Para executar um teste do executor de testes (com.android.ipc-unittest.ctrl) com saída de depuração do kernel na inicialização:
build-root/build-qemu-generic-arm64-test-debug/run-qemu --boot-test "com.android.ipc-unittest.ctrl" --headless --verbose
O ATF desativa o console antes de retornar ao executor de teste. Para desativar isso localmente, comente todo o código em bl31_plat_runtime_setup em external/arm-trusted-firmware/plat/common/aarch64/plat_common.c.
Para executar um teste no shell do Android,
build-root/build-qemu-generic-arm64-test-debug/run-qemu --shell-command "/data/nativetest64/tipc-test/tipc-test -t ta2ta-ipc" --headless
Para inicializar em um shell interativo (a partir do pré-construído com check-in)
build-root/build-qemu-generic-arm64-test-debug/run
Este comando também possui uma variedade de outras substituições disponíveis - verifique --help para obter mais informações.
Se adb devices -l
falhar ao executar qmeu.py
, a versão do servidor adb que está sendo executado em seu sistema pode ser a versão errada.
adb kill-server
Para inicializar uma versão do Android que você possui localmente,
build-root/build-qemu-generic-arm64-test-debug/run --android path/to/your/android/source/dir
Para construir o 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