भरोसेमंद रिपॉज़िटरी, Android ओपन सोर्स प्रोजेक्ट (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