ダウンロードとビルド

Trusty リポジトリは Android オープンソース プロジェクト(AOSP)で入手できます。

次のリンクを使用して、AOSP で適切な Trusty カーネル ブランチを見つけてください。

Repo のインストール

Trusty をダウンロードするには、最初に Repo のダウンロードとインストールを行います。

Repo のインストールが正常に完了すると、Android Trusty リポジトリのクローンを作成できます。

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

ビルド

Trusty 用の汎用 arm64 イメージをビルドするには、次のコマンドを使用します。

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

ビルドの結果、build-root/build-generic-arm64/. の下にイメージが作成されます。次のコマンドで、lk.bin を探します。lk.bin は TEE イメージで、すべてのアプリがその中にコンパイルされています。

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

インストール

lk.bin をファームウェア イメージにアセンブルし、デバイスに書き込むことができます。 ファームウェア イメージの生成方法は、使用するボードによって異なります。 詳細はボードメーカーにお問い合わせください。

QEMU での Trusty

必要なパッケージをホストにインストールしていない場合は、インストールします。

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

ビルドサーバー スクリプトを使用して、trusty と qemu のイメージをビルドします。

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

それにより、このターゲットに対して構成されたテストもすべて実行されます。

テストランナー テスト(ポート アクティベーション)(com.android.ipc-unittest.ctrl)を手動で実行するには:

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

起動時にカーネルのデバッグ出力でテストランナー テスト(com.android.ipc-unittest.ctrl)を実行するには:

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

ATF はテストランナーに戻る前にコンソールを無効にします。これをローカルで無効にするには、external/arm-trusted-firmware/plat/common/aarch64/plat_common.c にある bl31_plat_runtime_setup のコードをすべてコメントアウトします。

Android シェルからテストを実行するには:

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

インタラクティブ シェルで起動するには(チェックイン済みプリビルドから):

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

このコマンドには、他にもさまざまなオーバーライドがあります。詳細については、--help をご確認ください。

qmeu.py の実行時に adb devices -l が失敗する場合は、システムで動作している adb サーバーのバージョンが正しくない可能性があります。

adb kill-server

ローカルにある Android ビルドを起動するには:

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

Trusty 向けに Android をビルドするには:

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