التنزيل والإنشاء

تتوفّر مستودعات Trusty في "مشروع Android المفتوح المصدر" ‏ (AOSP).

استخدِم الروابط التالية للعثور على فروع Trusty kernel المناسبة في 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 في صورة برنامج ثابت وفلاشها على الجهاز. يختلف إنشاء صور البرامج الثابتة حسب اللوحة المستخدَمة. يُرجى التواصل مع الشركة المصنّعة للوحة للحصول على التعليمات.

Trusty على QEMU

ثبِّت الحِزم المطلوبة على المضيف إذا لم يسبق لك ذلك:

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) مع إخراج تصحيح أخطاء kernel عند بدء التشغيل:

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.

لإجراء اختبار من shell في 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 للحصول على مزيد من المعلومات.

إذا تعذّر تنفيذ adb devices -l عند تشغيل qmeu.py، قد يكون إصدار خادم adb الذي يتم تشغيله على نظامك غير صحيح:

adb kill-server

لتشغيل إصدار Android لديك على الجهاز، اتّبِع الخطوات التالية:

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

لإنشاء نظام التشغيل Android لأجهزة 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