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 main
repo sync -j32
ビルド
Trusty 用の汎用 arm64 イメージをビルドするには、次のコマンドを使用します。
./trusty/vendor/google/aosp/scripts/build.py generic-arm64
ビルドの結果は build-root/build-generic-arm64/.
で、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 はテストランナーに戻る前にコンソールを無効にします。これをローカルで無効にするには、bl31_plat_runtime_setup in external/arm-trusted-firmware/plat/common/aarch64/plat_common.c
のコードをすべてコメントアウトします。
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 main repo sync -j32 source build/envsetup.sh lunch qemu_trusty_arm64-userdebug m