تنزيل وبناء

تتوفر المستودعات الموثوقة في مشروع Android مفتوح المصدر (AOSP).

استخدم هذه الروابط للعثور على فروع Trusty kernel المناسبة في AOSP:

تثبيت الريبو

لتنزيل 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

سيؤدي هذا أيضًا إلى تشغيل جميع الاختبارات التي تم تكوينها لهذا الهدف.

لتشغيل اختبار عداء الاختبار يدويًا (تنشيط المنفذ) (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 في External/arm-trusted-firmware/plat/common/aarch64/plat_common.c.

لإجراء اختبار من Android Shell،

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