कर्नेल सिंहावलोकन

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

एंड्रॉइड कर्नेल अपस्ट्रीम लिनक्स लॉन्ग टर्म सपोर्टेड (LTS) कर्नेल पर आधारित है। Google में, एलटीएस कर्नेल को एंड्रॉइड-विशिष्ट पैच के साथ जोड़ा जाता है, जिसे एंड्रॉइड कॉमन कर्नेल (एसीके) के रूप में जाना जाता है।

नए एसीके (संस्करण 5.4 और ऊपर) को जीकेआई कर्नेल के रूप में भी जाना जाता है क्योंकि वे हार्डवेयर-अज्ञेय जेनेरिक कोर कर्नेल कोड और हार्डवेयर-अज्ञेय जीकेआई मॉड्यूल के पृथक्करण का समर्थन करते हैं। GKI कर्नेल एक चिप (SoC) और बोर्ड-विशिष्ट कोड पर सिस्टम युक्त हार्डवेयर-विशिष्ट विक्रेता मॉड्यूल के साथ इंटरैक्ट करता है। GKI कर्नेल और विक्रेता मॉड्यूल के बीच की बातचीत को कर्नेल मॉड्यूल इंटरफ़ेस (KMI) द्वारा सक्षम किया जाता है, जिसमें वेंडर मॉड्यूल द्वारा आवश्यक कार्यों और वैश्विक डेटा की पहचान करने वाली प्रतीक सूचियाँ होती हैं। चित्र 1 GKI कर्नेल और विक्रेता मॉड्यूल आर्किटेक्चर को दर्शाता है: GKI कर्नेल और विक्रेता मॉड्यूल आर्किटेक्चर

चित्र 1. GKI कर्नेल और विक्रेता मॉड्यूल आर्किटेक्चर

कर्नेल शब्दावली

इस खंड में पूरे कर्नेल दस्तावेज़ीकरण में प्रयुक्त शब्द शामिल हैं।

कर्नेल प्रकार

एंड्रॉइड कॉमन कर्नेल (एसीके)
एक कर्नेल जो एलटीएस कर्नेल के डाउनस्ट्रीम है और इसमें एंड्रॉइड समुदाय के लिए रुचि के पैच शामिल हैं जिन्हें लिनक्स मेनलाइन या लॉन्ग टर्म सपोर्टेड (एलटीएस) कर्नेल में विलय नहीं किया गया है। नए एसीके (संस्करण 5.4 और ऊपर) को जीकेआई कर्नेल के रूप में भी जाना जाता है क्योंकि वे हार्डवेयर अज्ञेयवादी जेनेरिक कर्नेल कोड और हार्डवेयर अज्ञेयवादी जीकेआई मॉड्यूल के पृथक्करण का समर्थन करते हैं।
Android ओपन सोर्स प्रोजेक्ट (AOSP) कर्नेल
एंड्रॉइड कॉमन कर्नेल देखें।
फ़ीचर कर्नेल
एक कर्नेल जिसके लिए प्लेटफ़ॉर्म रिलीज़ सुविधाओं को लागू करने की गारंटी है। उदाहरण के लिए, एंड्रॉइड 12 में, दो फीचर कर्नेल android12-5.4 और android12-5.10 थे। Android 12 सुविधाओं को 4.19 कर्नेल में बैकपोर्ट नहीं किया जा सकता; फीचर सेट एक डिवाइस के समान होगा जो आर पर 4.19 के साथ लॉन्च हुआ और एस में अपग्रेड किया गया)।
जेनेरिक कोर कर्नेल
GKI कर्नेल का वह भाग जो सभी उपकरणों में समान होता है।
जेनेरिक कर्नेल इमेज (GKI) कर्नेल
कोई भी नया (5.4 और ऊपर) ACK कर्नेल (वर्तमान में केवल aarch64)। इस कर्नेल के दो भाग हैं: सभी उपकरणों में कोड के साथ कोर GKI कर्नेल और Google द्वारा विकसित GKI कर्नेल मॉड्यूल जिन्हें लागू होने पर डिवाइस पर गतिशील रूप से लोड किया जा सकता है।
कर्नेल मॉड्यूल इंटरफ़ेस (KMI) कर्नेल
जीकेआई कर्नेल देखें।
कर्नेल लॉन्च करें
एक कर्नेल जो किसी दिए गए Android प्लेटफ़ॉर्म रिलीज़ के लिए डिवाइस लॉन्च करने के लिए मान्य है। उदाहरण के लिए, एंड्रॉइड 12 में, वैध लॉन्च कर्नेल 4.19, 5.4 और 5.10 थे।
लॉन्ग टर्म सपोर्टेड (LTS) कर्नेल
एक Linux कर्नेल जो 2 से 6 वर्षों तक समर्थित है। LTS कर्नेल प्रति वर्ष एक बार जारी किए जाते हैं और Google के प्रत्येक ACK के लिए आधार होते हैं।

शाखा के प्रकार

एसीके केएमआई कर्नेल शाखा
वह शाखा जिसके लिए GKI गुठली बनाई गई है। उदाहरण के लिए, android12-5.10 और android13-5.15.
एंड्रॉइड-मेनलाइन
Android सुविधाओं के लिए प्राथमिक विकास शाखा। जब एक नया एलटीएस कर्नेल अपस्ट्रीम घोषित किया जाता है, तो संबंधित नया जीकेआई कर्नेल एंड्रॉइड-मेनलाइन से ब्रांच किया जाता है।
लिनक्स मेनलाइन
एलटीएस कर्नेल सहित अपस्ट्रीम लिनक्स कर्नेल के लिए प्राथमिक विकास शाखा।

अन्य निबंधन

प्रमाणित बूट छवि
कर्नेल बाइनरी फॉर्म ( boot.img ) में डिलीवर हुआ और डिवाइस पर फ्लैश हुआ। यह छवि इस अर्थ में प्रमाणित है कि इसमें एम्बेडेड प्रमाणपत्र हैं ताकि Google यह सत्यापित कर सके कि डिवाइस Google द्वारा प्रमाणित कर्नेल के साथ आता है।
गतिशील रूप से लोड करने योग्य कर्नेल मॉड्यूल (DLKM)
एक मॉड्यूल जिसे डिवाइस की जरूरतों के आधार पर डिवाइस बूट के दौरान गतिशील रूप से लोड किया जा सकता है। GKI और विक्रेता मॉड्यूल दोनों प्रकार के DLKM हैं। DLKM .ko रूप में जारी किए जाते हैं और ड्राइवर हो सकते हैं या अन्य कर्नेल कार्यक्षमता प्रदान कर सकते हैं।
जीकेआई परियोजना
एक Google प्रोजेक्ट जो सामान्य कोर कर्नेल कार्यक्षमता को विक्रेता-विशिष्ट SoC और बोर्ड समर्थन से लोड करने योग्य मॉड्यूल में अलग करके कर्नेल विखंडन को संबोधित करता है।
जेनेरिक कर्नेल छवि (GKI)
Google द्वारा प्रमाणित एक बूट छवि जिसमें ACK स्रोत ट्री से निर्मित GKI कर्नेल होता है और यह Android डिवाइस के बूट विभाजन में फ्लैश करने के लिए उपयुक्त होता है।
केएमआई
GKI कर्नेल और विक्रेता मॉड्यूल के बीच एक इंटरफ़ेस जो विक्रेता मॉड्यूल को GKI कर्नेल से स्वतंत्र रूप से अद्यतन करने की अनुमति देता है। इस इंटरफ़ेस में कर्नेल फ़ंक्शंस और वैश्विक डेटा शामिल हैं जिन्हें प्रति-पार्टनर प्रतीक सूचियों का उपयोग करके विक्रेता/OEM निर्भरता के रूप में पहचाना गया है।
GKI कर्नेल मॉड्यूल
Google द्वारा निर्मित डायनामिक रूप से लोड करने योग्य मॉड्यूल जिन्हें लागू होने पर उपकरणों पर गतिशील रूप से लोड किया जा सकता है। ये मॉड्यूल GKI कर्नेल की कलाकृतियों के रूप में बनाए गए हैं और GKI के साथ system_dlkm_staging_archive.tar.gz संग्रह के रूप में वितरित किए गए हैं। GKI कर्नेल मॉड्यूल को Google द्वारा कर्नेल बिल्ड टाइम की जोड़ी का उपयोग करके हस्ताक्षरित किया जाता है और वे केवल GKI कर्नेल के साथ संगत होते हैं जिसके साथ वे निर्मित होते हैं।
विक्रेता मॉड्यूल
एक भागीदार द्वारा विकसित एक हार्डवेयर-विशिष्ट मॉड्यूल और जिसमें एसओसी और डिवाइस-विशिष्ट कार्यक्षमता शामिल है। एक विक्रेता मॉड्यूल गतिशील रूप से लोड करने योग्य कर्नेल मॉड्यूल का एक प्रकार है।

आगे क्या होगा?

  • यदि आप Android कर्नेल विकास के लिए नए हैं, तो आप निम्नलिखित को पढ़कर शुरुआत कर सकते हैं:
  • यदि आप GKI कर्नेल विकास में नए हैं, तो GKI विकास पढ़कर प्रारंभ करें।
  • यदि आप 4.19 या पुराने के कर्नेल संस्करण का उपयोग कर रहे हैं और संबंधित दस्तावेज़ीकरण की तलाश कर रहे हैं, तो पिछला कर्नेल (<=4.19) ओवरव्यू अनुभाग देखें।