Pobierz i zbuduj

Repozytoria Trusty są dostępne w ramach projektu Android Open Source Project (AOSP).

Użyj tych łączy, aby znaleźć odpowiednie gałęzie jądra Trusty w AOSP:

Instalowanie repozytorium

Aby pobrać Trusty, najpierw pobierz i zainstaluj Repo .

Po pomyślnym zainstalowaniu Repo możesz sklonować repozytorium Android Trusty.

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

Zbudować

Użyj poniższego, aby zbudować ogólny obraz arm64 dla Trusty.

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

Wyniki kompilacji będą znajdować się w build-root/build-generic-arm64/. Poszukaj lk.bin, który jest obrazem TEE ze wszystkimi aplikacjami skompilowanymi w:

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

zainstalować

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

Zaufany QEMU

Zainstaluj potrzebne pakiety na hoście, jeśli jeszcze tego nie zrobiłeś:

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

Zbuduj (używając skryptów serwera kompilacji) obrazy zaufane i qemu:

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

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

Aby ręcznie uruchomić test modułu testowego (aktywacja portu) (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 w trybie testowym (com.android.ipc-unittest.ctrl) z wynikami debugowania jądra podczas rozruchu:

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 programu uruchamiającego test. Aby wyłączyć to lokalnie, skomentuj cały kod w bl31_plat_runtime_setup w external/arm-trusted-firmware/plat/common/aarch64/plat_common.c.

Aby uruchomić test z powłoki 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 zaznaczonej wstępnie wbudowanej)

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

To polecenie udostępnia także wiele innych nadpisań — sprawdź --help, aby uzyskać więcej informacji.

Jeśli adb devices -l nie powiedzie się podczas uruchamiania qmeu.py , wersja serwera adb działającego w twoim systemie może być niewłaściwą wersją.

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 zbudować 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