הורדה ויצירה

המאגרים המהימנים זמינים בפרויקט הקוד הפתוח של 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