Pobieranie i tworzenie

Zaufane repozytoria są dostępne w ramach Projektu Android Open Source (AOSP).

Aby znaleźć odpowiednie gałęzie jądra Trusty w AOSP, kliknij te linki:

Instalowanie repozytorium

Aby pobrać Trusty, najpierw pobierz i zainstaluj Repo.

Po zainstalowaniu Repo możesz sklonować repozytorium Trusty na Androida:

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

Budowanie

Aby utworzyć ogólny obraz arm64 dla Trusty:

./trusty/vendor/google/aosp/scripts/build.py generic-arm64

Wyniki kompilacji znajdują się w sekcji build-root/build-generic-arm64/.Znajdź lk.bin, czyli obraz TEE ze wszystkimi skompilowanymi aplikacjami:

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

Zainstaluj

Możesz zmontować lk.bin w obraz oprogramowania układowego i przekazać go na urządzenie. Generowanie obrazów oprogramowania sprzętowego różni się w zależności od używanej płyty głównej. Aby uzyskać instrukcje, skontaktuj się z producentem płyty głównej.

Trusty w QEMU

Zainstaluj potrzebne pakiety na hoście:

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

Utwórz (za pomocą skryptów serwera kompilacji) obrazy trusty i qemu:

trusty/vendor/google/aosp/scripts/build.py qemu-generic-arm64-test-debug

Spowoduje to też uruchomienie wszystkich testów skonfigurowanych dla tego celu.

Aby ręcznie uruchomić test test-runner (com.android.ipc-unittest.ctrl):

build-root/build-qemu-generic-arm64-test-debug/run --headless --boot-test "com.android.ipc-unittest.ctrl"

Aby uruchomić test test-runner (com.android.ipc-unittest.ctrl) z wyjściami debugowania jądra podczas uruchamiania:

build-root/build-qemu-generic-arm64-test-debug/run-qemu --boot-test "com.android.ipc-unittest.ctrl" --headless --verbose

ATF wyłącza konsolę przed powrotem do test-runnera. Aby wyłączyć tę funkcję lokalnie, skomentuj cały kod w pliku bl31_plat_runtime_setup in external/arm-trusted-firmware/plat/common/aarch64/plat_common.c.

Aby uruchomić test w powłoce Androida:

build-root/build-qemu-generic-arm64-test-debug/run-qemu --shell-command "/data/nativetest64/tipc-test/tipc-test -t ta2ta-ipc" --headless

Aby uruchomić interaktywną powłokę (z przeskanowanego wstępnie skompilowanego obrazu):

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

To polecenie ma też wiele innych dostępnych zastąpień. Aby dowiedzieć się więcej, wpisz --help.

Jeśli adb devices -l nie działa podczas wykonywania qmeu.py, wersja serwera adb działającego na Twoim systemie może być nieprawidłowa:

adb kill-server

Aby uruchomić kompilację Androida, którą masz lokalnie:

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

Aby utworzyć wersję Androida dla 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