कोर कर्नेल आवश्यकताएँ

एंड्रॉइड 8.0 और उच्चतर न्यूनतम कर्नेल संस्करण और कर्नेल कॉन्फ़िगरेशन को अनिवार्य करते हैं, जो वेंडर टेस्ट सूट (वीटीएस) और ओवर-द-एयर (ओटीए) अपडेट द्वारा सत्यापित होते हैं। एंड्रॉइड डिवाइस कर्नेल को कर्नेल .config समर्थन और procfs फ़ाइल सिस्टम के माध्यम से रनटाइम पर कर्नेल कॉन्फ़िगरेशन को पढ़ने का विकल्प सक्षम करना होगा।

कर्नेल .config समर्थन

सभी डिवाइस कर्नेल को संपूर्ण android-base.cfg को सक्षम करना होगा, जिसमें निम्नलिखित कर्नेल-कॉन्फिग विकल्प (या उनके कर्नेल-संस्करण समकक्ष) शामिल होने चाहिए:

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

कर्नेल संस्करण

एंड्रॉइड 9 के लिए, न्यूनतम दीर्घकालिक समर्थन (एलटीएस) कर्नेल संस्करण आवश्यकताएं 4.4.107, 4.9.84 और 4.14.42 हैं।

  • 2018 में उत्पादित सभी SoCs को कर्नेल 4.9.84 या उच्चतर के साथ लॉन्च किया जाना चाहिए।
  • एंड्रॉइड 9 पर चलने वाले एंड्रॉइड डिवाइस लॉन्च करने वाले अन्य सभी एसओसी को कर्नेल 4.4.107 या उच्चतर का उपयोग करना होगा।
  • 4.14 पर आधारित डिवाइस कर्नेल में 4.14.42 या उच्चतर एलटीएस रिलीज़ शामिल होना चाहिए।
  • लॉन्च की तारीख के बावजूद, एंड्रॉइड 8.0 और उच्चतर डिवाइस पर लॉन्च होने वाले सभी एसओसी ट्रेबल को सक्षम करने के लिए आवश्यक कर्नेल परिवर्तनों के अधीन रहते हैं।
  • एंड्रॉइड 8.0 या उच्चतर पर अपग्रेड करने वाले पुराने एंड्रॉइड डिवाइस अपने मूल बेस कर्नेल संस्करण का उपयोग जारी रख सकते हैं।

एलटीएस कर्नेल के विवरण के लिए, दीर्घकालिक स्थिर कर्नेल और एंड्रॉइड कॉमन कर्नेल देखें

डिवाइसट्री समर्थन

यदि प्लेटफ़ॉर्म उन्नत कॉन्फ़िगरेशन और पावर इंटरफ़ेस (एसीपीआई) विनिर्देश का समर्थन नहीं करता है, तो कर्नेल में डिवाइसट्री समर्थन सक्षम होना चाहिए और बूटलोडर्स को डिवाइसट्री के रूप में हार्डवेयर विवरण को कर्नेल में पास करना होगा। डिवाइसट्री को एंड्रॉइड के पढ़ने के लिए भी उपलब्ध होना चाहिए, और यह एंड्रॉइड को विक्रेता- और ODM-विशिष्ट पैरामीटर पास करने में सक्षम होना चाहिए। CONFIG_OF अन्य सभी डिवाइस- और सबसिस्टम-विशिष्ट CONFIG_OF_* कर्नेल कॉन्फ़िगरेशन विकल्पों के साथ अनिवार्य है।

डीबगएफएस का उपयोग करना

विक्रेता इंटरफ़ेस का कार्यान्वयन डिबग जानकारी तक पहुँचने के लिए DebugFS फ़ाइल सिस्टम पर निर्भर नहीं हो सकता है। ऐसा इसलिए है क्योंकि Android 7.0–10 में, DebugFS सक्षम किया जा सकता है , लेकिन VTS परीक्षण DebugFS अनमाउंट करके किया जा सकता है।

Android 11 में, DebugFS उत्पादन उपकरणों पर एक्सेस या माउंट नहीं किया जा सकता है, इसलिए डिवाइस निर्माताओं को इसे हटाना होगा। एंड्रॉइड 11 से पहले, dumpstate DebugFS से बाइंडर आंकड़ों तक पहुंच बनाई थी। क्योंकि एंड्रॉइड 11 या उच्चतर के साथ लॉन्च करने वाला उपयोगकर्ता DebugFS तक नहीं पहुंच सकता है, dumpstate binderfs से बाइंडर आंकड़ों तक पहुंचता है। Binderfs सक्षम करने के लिए, कर्नेल कॉन्फ़िगरेशन CONFIG_ANDROID_BINDERFS सक्षम करें।

Android 11 में, VTS इन दो आवश्यकताओं को लागू करता है:

  • CONFIG_DEBUG_FS डिवाइस के कर्नेल कॉन्फ़िगरेशन में सक्षम नहीं है।
  • DebugFS /proc/filesystems के अंतर्गत सूचीबद्ध नहीं है।

एंड्रॉइड 11 में डीबगएफएस

निम्न तालिका बताती है कि एंड्रॉइड 11 में इन तीन श्रेणियों में से प्रत्येक को कैसे समर्थित किया गया है। ध्यान दें कि निम्नलिखित केवल यूजरडीबग बिल्ड पर लागू होता है क्योंकि DebugFS यूजर बिल्ड में माउंट नहीं किया जा सकता है। Android 11 पर लॉन्च होने वाले डिवाइस के लिए उपयोगकर्ता बिल्ड में DebugFS कभी भी माउंट न करें

उदाहरण एंड्रॉइड 11 यूजरडिबग बिल्ड
स्टार्टअप के दौरान एक बार DebugFS फ़ाइलों का आरंभीकरण । यह एक्सेस बूट समय के दौरान केवल एक बार होता है विक्रेता init यह करता है.
बगरेपोर्ट पीढ़ी : डंपस्टेट एचएएल DebugFS फाइलों को पढ़ता है, जो बग रिपोर्ट का हिस्सा बन जाते हैं। डंपस्टेट टूल द्वारा बुलाए जाने पर DumpstateBoard() के भीतर डंपस्टेट एचएएल द्वारा किया गया।
डिवाइस-विशिष्ट परीक्षण और सत्यापन एडीबी जड़ और खोल