Baixe e construa

Os repositórios Trusty estão disponíveis no Android Open Source Project (AOSP).

Use estes links para encontrar as ramificações do kernel Trusty apropriadas no AOSP:

Instalando o repositório

Para baixar o Trusty, primeiro baixe e instale o Repo .

Depois que o Repo for instalado com sucesso, você poderá clonar o repositório Android Trusty.

mkdir trusty
cd trusty
repo init -u https://android.googlesource.com/trusty/manifest -b master
repo sync -j32

Construir

Use o seguinte para criar 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 por lk.bin que é uma imagem TEE com todos os aplicativos compilados em:

ls build-root/build-generic-arm64/lk.bin

Instalar

Você pode montar o lk.bin em uma imagem de firmware e fazer o flash no dispositivo. A geração de imagens de firmware varia dependendo da placa que está sendo usada. Entre em contato com o fabricante da placa para obter instruções.

Confiável no QEMU

Instale os pacotes necessários no host se você ainda não o fez:

sudo apt install libpixman-1-dev libstdc++-8-dev pkg-config libglib2.0-dev libusb-1.0-0-dev

Compile (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 de execução de teste (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 de execução de teste (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 testes. Para desabilitar 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 do 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 (do pré-compilado com check-in)

build-root/build-qemu-generic-arm64-test-debug/run

Este comando também tem uma variedade de outras substituições disponíveis - verifique --help para mais.

Se adb devices -l falhar ao executar qmeu.py , a versão do servidor adb que está sendo executada em seu sistema pode ser a versão errada.

adb kill-server

Para inicializar uma versão do Android que você tem localmente,

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

Para criar o 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