कोर कर्नेल के लिए ज़रूरी शर्तें

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

Kernel .config सहायता

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

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

कर्नेल वर्ज़न

Android 9 के लिए, कम से कम लंबे समय तक सहायता (एलटीएस) वाली होनी चाहिए कर्नेल वर्शन की ज़रूरी शर्तें 4.4.107, 4.9.84, और 4.14.42 हैं.

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

एलटीएस कर्नेल के बारे में जानकारी के लिए, इसे देखें लंबे समय तक स्टेबल कर्नेल और Android कॉमन कर्नेल

Devicetree सहायता

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

DebugFS का इस्तेमाल करें

वेंडर इंटरफ़ेस को लागू करने के लिए, DebugFS का इस्तेमाल नहीं किया जा सकता फ़ाइल सिस्टम का इस्तेमाल किया जा सकता है. ऐसा इसलिए है, क्योंकि Android 7.0 से लेकर 10 वर्शन में, DebugFS को चालू किया जा सकता है, हालांकि, DebugFS को अलग करके भी वीटीएस की जांच की जा सकती है.

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

Android 11 में, वीटीएस इन दो ज़रूरी शर्तों को लागू करता है:

  • डिवाइस के कर्नेल कॉन्फ़िगरेशन में CONFIG_DEBUG_FS चालू नहीं है.
  • DebugFS को /proc/filesystems में शामिल नहीं किया गया है.

Android 11 में DebugFS

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

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