डाउनलोड और बिल्ड करना

Android Open में Trusty डेटा स्टोर करने की जगहें उपलब्ध हैं सोर्स प्रोजेक्ट (AOSP).

AOSP में सही Trusty kernel branches ढूंढने के लिए, इन लिंक का इस्तेमाल करें:

Repo इंस्टॉल करना

Trusty ऐप्लिकेशन डाउनलोड करने के लिए, पहले Repo डाउनलोड करें और उसे इंस्टॉल करें.

Repo के सही से इंस्टॉल होने के बाद, Android Trusty डेटा स्टोर करने की जगह का क्लोन बनाएं:

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

बनाएं

Trusty के लिए सामान्य arm64 इमेज बनाने के लिए, इनका इस्तेमाल करें:

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

बिल्ड के नतीजे build-root/build-generic-arm64/. lk.bin में दिखते हैं. यह एक टीईई इमेज है, जिसमें सभी ऐप्लिकेशन को कंपाइल किया गया है:

ls build-root/build-generic-arm64/lk.bin

इंस्टॉल करें

lk.bin को फ़र्मवेयर इमेज में असेंबल किया जा सकता है और इसे डिवाइस पर फ़्लैश किया जा सकता है. फ़र्मवेयर इमेज जनरेट करने की सुविधा, इस्तेमाल किए जा रहे बोर्ड के हिसाब से अलग-अलग होती है. निर्देशों के लिए, बोर्ड बनाने वाली कंपनी से संपर्क करें.

QEMU पर Trusty

अगर आपने पहले से ज़रूरी पैकेज इंस्टॉल नहीं किए हैं, तो होस्ट पर ये पैकेज इंस्टॉल करें:

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) को कर्नेल डीबग आउटपुट के साथ चलाने के लिए:

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 में मौजूद सभी कोड.

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 देखें.

अगर qmeu.py को चलाते समय adb devices -l काम नहीं करता, तो adb का वर्शन आपके सिस्टम पर चल रहे सर्वर का वर्शन शायद गलत है:

adb kill-server

किसी Android बिल्ड को बूट करने के लिए आपके पास स्थानीय रूप से:

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

Trusty के लिए Android बनाने के लिए:

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