دانلود کنید و بسازید

مخازن Trusty در پروژه منبع باز اندروید (AOSP) در دسترس هستند.

از این پیوندها برای یافتن شاخه های هسته Trusty مناسب در AOSP استفاده کنید:

در حال نصب Repo

برای دانلود Trusty ابتدا Repo را دانلود و نصب کنید .

پس از اینکه Repo با موفقیت نصب شد، می توانید مخزن Android Trusty را کلون کنید.

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

ساختن

برای ساختن تصویر عمومی arm64 برای Trusty از موارد زیر استفاده کنید.

./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

اگر قبلاً این کار را نکرده اید بسته های مورد نیاز را روی هاست نصب کنید:

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

ساخت (با استفاده از اسکریپت های سرور ساخت) تصاویر قابل اعتماد و qemu:

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

این همچنین تمام تست های پیکربندی شده برای این هدف را اجرا می کند.

برای اجرای دستی یک تست test-runner (فعال سازی پورت) (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 را در external/arm-trusted-firmware/plat/common/aarch64/plat_common.c ارسال کنید.

برای اجرای تست از پوسته اندروید،

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 را بررسی کنید.

اگر adb devices -l هنگام اجرای qmeu.py از کار بیفتد، ممکن است نسخه سرور adb که روی سیستم شما اجرا می شود نسخه اشتباه باشد.

adb kill-server

برای بوت کردن یک بیلد اندرویدی که به صورت محلی دارید،

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

برای ساخت اندروید برای 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