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

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

नए ACK (संस्करण 5.4 और ऊपर) को GKI कर्नेल के रूप में भी जाना जाता है। GKI कर्नेल हार्डवेयर-अज्ञेयवादी जेनेरिक कोर कर्नेल कोड और GKI मॉड्यूल को हार्डवेयर-विशिष्ट विक्रेता मॉड्यूल से अलग करने का समर्थन करते हैं।

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

जीकेआई वास्तुकला
चित्र 1. जीकेआई वास्तुकला

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

इस अनुभाग में संपूर्ण कर्नेल दस्तावेज़ में उपयोग किए गए शब्द शामिल हैं।

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

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

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

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

अन्य निबंधन

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

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

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