इस पेज पर, काम करने की जांच के लिए, कर्नेल बिल्ड आर्टफ़ैक्ट के साथ बूट इमेज पाने का तरीका बताया गया है.
बूट इमेज पाना
AOSP में, ci.android.com से पहले से बने बूट इमेज मिल सकते हैं. ये बूट इमेज, aosp_arm64
बिल्ड टारगेट में aosp_arm64-img-*.zip
संग्रह में इस तरह मौजूद होती हैं:
android11-gsi
शाखा सेandroid11-5.4
.android12-gsi
शाखा सेandroid12-5.4
.
android12-5.4
के आधार पर,aosp-main
शाखा से हस्ताक्षर नहीं की गई बूट इमेज पाएं. इसके लिए, ci.android.com पर जाएं औरaosp_arm64
बिल्ड टारगेट देखें. इन बूट इमेज में, AOSPmain
शाखा से बनाई गई रैमडिस्क शामिल होती है.boot-debug
इमेज का इस्तेमाल न करें. ये सिर्फ़ जीकेआई से पहले के डिवाइसों के लिए हैं.- partner.android.com से,
android11-5.4
पर आधारित हस्ताक्षर वाली बूट इमेज पाएं. इन बूट इमेज में,r-fs-release
शाखा से बनाई गई रामडिस्क शामिल होती है.boot.img
साइन करने की प्रोसेस, जीएसआई साइन करने की प्रोसेस जैसी ही है.
हस्ताक्षर की गई और हस्ताक्षर नहीं की गई, दोनों तरह की बूट इमेज में, कर्नेल कंप्रेस करने के ये विकल्प होते हैं:
boot-5.4.img
एक अनकंप्रेस किया गया कर्नेल है.boot-5.4-gz
, gzip से कंप्रेस किया गया कर्नेल है.boot-5.4-lz4
, lz4 से कंप्रेस किया गया कर्नेल है.
trimmed
होते हैं.
डेवलपमेंट के लिए, ऐसे कर्नेल प्रीबिल्ट और GKI बूट इमेज का इस्तेमाल किया जा सकता है जो कर्नेल में मौजूद सभी सिंबल एक्सपोर्ट करती हैं. ये सिंबल untrimmed
होते हैं. ci.android.com पर किसी खास कर्नेल बिल्ड के लिए, बिना काटे गए कर्नेल प्रीबिल्ट, kernel_debug_aarch64
टारगेट में जनरेट किए जाते हैं. बिना काटे गए GKI बूट इमेज, सामान्य तौर पर काटी गई GKI बूट इमेज के साथ-साथ userdebug बिल्ड में जनरेट की जाती हैं. इनके फ़ाइल नाम -allsyms.img
पर खत्म होते हैं.
कर्नेल बिल्ड आर्टफ़ैक्ट पाना
GKI boot.img
फ़ाइल में समस्याओं को डीबग करते समय, उस फ़ाइल में मौजूद कर्नेल से जुड़े बिल्ड आर्टफ़ैक्ट का भी होना फ़ायदेमंद होता है. उदाहरण के लिए, डिबग करने के लिए, बिना हटाए गए vmlinux
का इस्तेमाल किया जा सकता है. साथ ही, GKI के कर्नेल को स्थानीय तौर पर फिर से बनाने के लिए, मेनिफ़ेस्ट का इस्तेमाल किया जा सकता है. बिल्ड आर्टफ़ैक्ट पाने के लिए:
उस पहले से बने कर्नेल के बिल्ड नंबर का पता लगाएं जिसका इस्तेमाल GKI
boot.img
बनाने के लिए किया गया था. बिल्ड नंबर, कर्नेल वर्शन के आखिर में दिखता है. इसके पहलेab
अक्षर होते हैं. नीचे दिए गए उदाहरण में, बिल्ड नंबर को बोल्ड में दिखाया गया है:[ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab6638796
grep
का इस्तेमाल करके, बिना कंप्रेस किए गए कर्नेल वाली बूट इमेज ढूंढकर, कर्नेल के बिल्ड नंबर का पता लगाया जा सकता है:grep -a "Linux version " boot-5.4.img
नीचे दिए गए यूआरएल में मौजूद बिल्ड नंबर का इस्तेमाल करके, पहले से बने कर्नेल का बिल्ड खोलें:
https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest
उदाहरण के लिए, पहले चरण में दिए गए बिल्ड नंबर का इस्तेमाल करके, यूआरएल इस तरह दिखेगा:
https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest
बिना काटे गए वर्शन का इस्तेमाल करते समय, लिंक में
kernel_aarch64
कोkernel_debug_aarch64
से बदलें.