GKI 1.0: कंपैटबिलिटी टेस्टिंग

इस पेज पर, काम करने की जांच के लिए, कर्नेल बिल्ड आर्टफ़ैक्ट के साथ बूट इमेज पाने का तरीका बताया गया है.

बूट इमेज पाना

AOSP में, ci.android.com से पहले से बने बूट इमेज मिल सकते हैं. ये बूट इमेज, aosp_arm64 बिल्ड टारगेट में aosp_arm64-img-*.zip संग्रह में इस तरह मौजूद होती हैं:

हस्ताक्षर की गई और हस्ताक्षर नहीं की गई, दोनों तरह की बूट इमेज में, कर्नेल कंप्रेस करने के ये विकल्प होते हैं:

  • boot-5.4.img एक अनकंप्रेस किया गया कर्नेल है.
  • boot-5.4-gz, gzip से कंप्रेस किया गया कर्नेल है.
  • boot-5.4-lz4, lz4 से कंप्रेस किया गया कर्नेल है.

डेवलपमेंट के लिए, ऐसे कर्नेल प्रीबिल्ट और GKI बूट इमेज का इस्तेमाल किया जा सकता है जो कर्नेल में मौजूद सभी सिंबल एक्सपोर्ट करती हैं. ये सिंबल untrimmed होते हैं. ci.android.com पर किसी खास कर्नेल बिल्ड के लिए, बिना काटे गए कर्नेल प्रीबिल्ट, kernel_debug_aarch64 टारगेट में जनरेट किए जाते हैं. बिना काटे गए GKI बूट इमेज, सामान्य तौर पर काटी गई GKI बूट इमेज के साथ-साथ userdebug बिल्ड में जनरेट की जाती हैं. इनके फ़ाइल नाम -allsyms.img पर खत्म होते हैं.

कर्नेल बिल्ड आर्टफ़ैक्ट पाना

GKI boot.img फ़ाइल में समस्याओं को डीबग करते समय, उस फ़ाइल में मौजूद कर्नेल से जुड़े बिल्ड आर्टफ़ैक्ट का भी होना फ़ायदेमंद होता है. उदाहरण के लिए, डिबग करने के लिए, बिना हटाए गए vmlinux का इस्तेमाल किया जा सकता है. साथ ही, GKI कर्नेल बिल्ड को स्थानीय तौर पर फिर से बनाने के लिए, मेनिफ़ेस्ट का इस्तेमाल किया जा सकता है. बिल्ड आर्टफ़ैक्ट पाने के लिए:

  1. उस पहले से बने कर्नेल के बिल्ड नंबर का पता लगाएं जिसका इस्तेमाल GKI boot.img बनाने के लिए किया गया था. बिल्ड नंबर, कर्नेल वर्शन के आखिर में दिखता है. इसके पहले ab अक्षर होते हैं. नीचे दिए गए उदाहरण में, बिल्ड नंबर को बोल्ड में दिखाया गया है:

    [ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab6638796

    grep का इस्तेमाल करके, बिना कंप्रेस किए गए कर्नेल वाली बूट इमेज ढूंढकर, कर्नेल के बिल्ड नंबर का पता लगाया जा सकता है:

    grep -a "Linux version " boot-5.4.img
  2. नीचे दिए गए यूआरएल में मौजूद बिल्ड नंबर का इस्तेमाल करके, पहले से बने कर्नेल का बिल्ड खोलें: 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 से बदलें.