Pobierz i utwórz

Repozytoria Zaufane są dostępne w Androidzie Open Projekt źródłowy (AOSP).

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

Zainstaluj repozytorium

Aby pobrać Trusty, najpierw pobierz i zainstaluj Repo.

Po zainstalowaniu Repo możesz skopiować repozytorium Android Trusty:

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 są poniżej build-root/build-generic-arm64/. Szukaj elementu lk.bin, czyli obrazu TEE zawierającego wszystkie aplikacje skompilowane w ten sposób:

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

Zainstaluj

Możesz zmontować lk.bin w obraz oprogramowania układowego i przekazać go do urządzenia. 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 również uruchomienie wszystkich testów skonfigurowanych dla tego miejsca docelowego.

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 uruchamiający (com.android.ipc-unittest.ctrl) z danymi wyjściowymi debugowania jądra podczas rozruchu:

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

Część strony widoczna na ekranie wyłącza konsolę, zanim wróci do mechanizmu uruchamiania testów. Aby wyłączyć tę funkcję lokalnie, dodaj komentarz do całego kodu 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 zaznaczonej gotowej powłoki):

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 wystąpi błąd adb devices -l podczas uruchamiania qmeu.py, wersja adb Serwer działający w Twoim systemie może mieć nieprawidłową 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 skompilować aplikację na 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