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