המאגרים המהימנים זמינים בפרויקט הקוד הפתוח של Android (AOSP).
אפשר להשתמש בקישורים הבאים כדי למצוא את ההסתעפויות המתאימות של ליבה של Trusty ב-AOSP:
התקנת המאגר
כדי להוריד את Trusty, קודם צריך להוריד ולהתקין את Repo.
אחרי ש-Repo מותקן, אפשר לשכפל את המאגר Android Trusty:
mkdir trusty
cd trusty
repo init -u https://android.googlesource.com/trusty/manifest -b main
repo sync -j32
Build
כדי ליצור את קובץ האימג' הגנרי ל-arm64 עבור Trusty:
./trusty/vendor/google/aosp/scripts/build.py generic-arm64
תוצאות ה-build נמצאות בקטע build-root/build-generic-arm64/.
מחפשים את lk.bin
, שהוא קובץ אימג' של TEE עם כל האפליקציות שעברן הידור:
ls build-root/build-generic-arm64/lk.bin
התקנה
אפשר להרכיב את lk.bin
לתמונה של קושחת ולבצע לה את הפעולה של שחזור (flash) במכשיר.
יצירת קובצי אימג' של קושחת משתנה בהתאם ללוח שבו נעשה שימוש.
יש לפנות ליצרן הלוח לקבלת הוראות.
Trusty ב-QEMU
מתקינים את החבילות הנדרשות במארח, אם עדיין לא עשיתם זאת:
sudo apt install libpixman-1-dev libstdc++-8-dev pkg-config libglib2.0-dev libusb-1.0-0-dev
יצירת קובצי אימג' של trusty ו-qemu (באמצעות הסקריפטים של שרת ה-build):
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 משבית את המסוף לפני שהוא חוזר ל-test-runner. כדי להשבית את האפשרות הזו באופן מקומי, צריך להוסיף הערה לכל הקוד בקובץ 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
כדי לאתחל למעטפת אינטראקטיבית (מהגרסה המוכנה מראש שסומנה ב-checkin):
build-root/build-qemu-generic-arm64-test-debug/run
יש גם מגוון אפשרויות אחרות לשינוי ההגדרות של הפקודה הזו. אפשר למצוא מידע נוסף באפשרות --help.
אם הפקודה adb devices -l
נכשלת כשמריצים את qmeu.py
, יכול להיות שגרסת שרת adb שפועלת במערכת היא לא הנכונה:
adb kill-server
כדי להפעיל גרסה מקומית של Android build:
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