Android के सामान्य कर्नेल

AOSP के सामान्य कर्नेल (इन्हें Android के सामान्य कर्नेल या ACK भी कहा जाता है) kernel.org के कर्नेल के डाउनस्ट्रीम होते हैं. इनमें Android कम्यूनिटी के लिए ज़रूरी पैच शामिल होते हैं. इन पैच को मेनलाइन या लॉन्ग टर्म सपोर्ट (एलटीएस) कर्नेल में मर्ज नहीं किया गया है. इन पैच में ये शामिल हो सकते हैं:

  • Android की सुविधाओं के लिए, अपस्ट्रीम फ़ंक्शनैलिटी के बैकपोर्ट और चेरी-पिक की ज़रूरत होती है
  • ऐसी सुविधाएं जो Android डिवाइसों के लिए तैयार हैं, लेकिन अब भी अपस्ट्रीम पर उन पर काम चल रहा है
  • वेंडर/ओईएम की ऐसी सुविधाएं जो नेटवर्क के अन्य पार्टनर के लिए काम की हों

android-mainline, Android की सुविधाओं के लिए मुख्य डेवलपमेंट ब्रांच है. जब Linus Torvalds कोई रिलीज़ या रिलीज़ कैंडिडेट पोस्ट करते हैं, तब Linux mainline को android-mainline में मर्ज कर दिया जाता है. साल 2019 से पहले, Android के सामान्य कर्नल, हाल ही में घोषित किए गए एलटीएस कर्नल को क्लोन करके बनाए जाते थे. साथ ही, इनमें Android के लिए खास तौर पर बनाए गए पैच जोड़े जाते थे. इस प्रोसेस को 2019 में बदल दिया गया था, ताकि नए Android कॉमन कर्नल को android-mainline से अलग किया जा सके. इस नए मॉडल में, Android पैच को फ़ॉरवर्ड पोर्ट करने और उनकी जांच करने में लगने वाली मेहनत को कम किया गया है. ऐसा इसलिए, क्योंकि यह मॉडल एक ही नतीजे को धीरे-धीरे हासिल करता है. android-mainline की लगातार टेस्टिंग की जाती है. इसलिए, इस मॉडल में पब्लिश होने के दिन से ही अच्छी क्वालिटी वाला कर्नल शामिल होता है.

जब अपस्ट्रीम में कोई नया एलटीएस घोषित किया जाता है, तो उससे जुड़ा सामान्य कर्नल android-mainline से ब्रांच किया जाता है. इससे पार्टनर, एलटीएस वर्शन के एलान से पहले ही प्रोजेक्ट शुरू कर सकते हैं. इसके लिए, उन्हें android-mainline से मर्ज करना होगा. नई कॉमन कर्नल ब्रांच बनने के बाद, पार्टनर आसानी से मर्ज सोर्स को नई ब्रांच में बदल सकते हैं.

अन्य सामान्य कर्नल ब्रांच को, उनसे जुड़ी एलटीएस कर्नल से नियमित तौर पर मर्ज किया जाता है. आम तौर पर, एलटीएस रिलीज़ पोस्ट होने के तुरंत बाद इन वर्शन को मर्ज कर दिया जाता है. उदाहरण के लिए, जब Linux 6.1.75 पोस्ट किया गया था, तब इसे 6.1 कॉमन कर्नल (android14-6.1) में मर्ज कर दिया गया था. पार्टनर को अपने कर्नल अपडेट करने के लिए कहा जाता है, ताकि वे एलटीएस और Android से जुड़ी गड़बड़ियों को ठीक करने के अपडेट के साथ अप-टू-डेट रहें.

ACK KMI कर्नेल ब्रांच

जीकेआई कर्नेल में, कर्नेल मॉड्यूल इंटरफ़ेस (केएमआई) स्थिर होता है. केएमआई की पहचान, कर्नेल वर्शन और Android प्लैटफ़ॉर्म रिलीज़ के हिसाब से की जाती है. इसलिए, ब्रांच के नाम ANDROID_RELEASE-KERNEL_VERSION होते हैं. उदाहरण के लिए, Android 14 के लिए 6.1 GKI कर्नेल का नाम android14-6.1 है. Android 15 के लिए, जीकेआई कर्नेल android15-6.6 को लॉन्च किया गया था.

सुविधा और लॉन्च कर्नल

Android 15 से पहले, डिवाइस लॉन्च करने के लिए, हाल ही के तीन कर्नल में से किसी एक का इस्तेमाल किया जा सकता था. Android 15 से, डिवाइस लॉन्च करने के लिए कर्नेल के दो सबसे नए वर्शन का इस्तेमाल किया जा सकता है. Android 15 के लिए लॉन्च कर्नल android15-6.6 और android14-6.1 हैं.

प्लैटफ़ॉर्म रिलीज़ को अपडेट करते समय, कर्नल को अपग्रेड करने की ज़रूरत नहीं होती. इसलिए, जिन कर्नल में प्लैटफ़ॉर्म रिलीज़ की नई सुविधाएं मौजूद नहीं हैं उनका इस्तेमाल डिवाइसों को लॉन्च करने के लिए किया जा सकता है. इसलिए, Android 14 के लिए डिज़ाइन किए गए कर्नल, जैसे कि android14-6.1, को Android 15 में अपग्रेड करने के बाद भी डिवाइसों पर इस्तेमाल किया जा सकता है.

Android प्लैटफ़ॉर्म रिलीज़ कर्नेल लॉन्च करना फ़ीचर कर्नल
Android 16 (2025) android16-6.12
android15-6.6
android16-6.12
Android 15 (2024) android15-6.6
android14-6.1
android15-6.6
Android 14 (2023) android14-6.1
android14-5.15
android13-5.15
android13-5.10
android12-5.10
android14-6.1
android14-5.15
Android 13 (2022) android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4
android13-5.15
android13-5.10
Android 12 (2021) android12-5.10
android12-5.4
android11-5.4
android12-5.10
android12-5.4

1 अगर प्लैटफ़ॉर्म रिलीज़ के लिए, उससे जुड़े बीएसपी को अपडेट किया गया है, तो कुछ अन्य पाबंदियां लागू हो सकती हैं. ज़्यादा जानकारी के लिए, वेंडर इंटरफ़ेस ऑब्जेक्ट - मैच कर्नल ब्रांच देखें.

कॉमन कर्नल हैरारकी

android-mainline से ब्रांच

कॉमन कर्नल हैरारकी का टॉप लेवल, इमेज 1 में दिखाया गया है.

android-mainline कर्नेल से कॉमन कर्नेल बनाना

पहली इमेज. android-mainline कर्नेल से कॉमन कर्नेल बनाना

ध्यान दें कि 2022 में, android14-6.1 से एक नया Android कॉमन कर्नल android14-6.1 बनाया गया था.android-mainline साल 2023 में, जब अगला एलटीएस वर्शन लॉन्च किया गया, तब android15-6.6 को android-mainline से अलग कर दिया गया.

पहले फ़िगर में दिखाया गया है कि हर कर्नल वर्शन, दो GKI कर्नल के लिए आधार हो सकता है. उदाहरण के लिए, v5.15 के दो कर्नल android13-5.15 और android14-5.15 हैं. ये दोनों, अपने-अपने प्लैटफ़ॉर्म रिलीज़ के लिए फ़ीचर कर्नल हैं. 5.10 के लिए भी ऐसा ही किया गया था. एलटीएस की घोषणा होने पर android12-5.10 बनाया गया था. इसके बाद, android13-5.10 को android12-5.10 से अलग कर दिया गया था. ऐसा 2021 की वसंत ऋतु में, कर्नेल की सुविधा से जुड़े माइलस्टोन को पूरा करने के लिए किया गया था, ताकि Android 13 के लिए सुविधाओं को डेवलप किया जा सके. Android 15 (2024) से, हर कर्नेल वर्शन के लिए सिर्फ़ एक नया GKI कर्नेल होगा (कोई android15-6.1 कर्नेल नहीं होगा).

ACK KMI ब्रांच का लाइफ़साइकल

दूसरी इमेज में, ACK KMI ब्रांच का लाइफ़साइकल दिखाया गया है.

6.6 ACK KMI ब्रांच का लाइफ़साइकल

दूसरी इमेज. 6.6 ACK KMI ब्रांच का लाइफ़साइकल

डेवलपमेंट प्रोसेस और ब्रांच के लाइफ़साइकल के बारे में ज़्यादा जानकारी देने के लिए, इमेज 2 में 6.6 के लिए ACK KMI ब्रांच पर फ़ोकस किया गया है.

हर ACK KMI ब्रांच, तीन चरणों से गुज़रती है. इन्हें इमेज 2 में दिखाया गया है. हर ब्रांच में अलग-अलग रंगों से इन चरणों को दिखाया गया है. जैसा कि दिखाया गया है, एलटीएस को नियमित तौर पर मर्ज किया जाता है, भले ही वह किसी भी फ़ेज़ में हो.

डेवलपमेंट फ़ेज़

जब इसे बनाया जाता है, तब ACK KMI ब्रांच डेवलपमेंट फ़ेज़ में चली जाती है. इसे इमेज 2 में dev के तौर पर लेबल किया गया है. साथ ही, यह Android के अगले प्लैटफ़ॉर्म रिलीज़ के लिए, फ़ीचर कॉन्ट्रिब्यूशन के लिए उपलब्ध होती है. दूसरे डायग्राम में, android15-6.6 तब बनाया गया था, जब 6.6 को नया अपस्ट्रीम एलटीएस कर्नल घोषित किया गया था.

स्टेबलाइज़ेशन फ़ेज़

जब ACK KMI ब्रांच को 'सुविधा पूरी तरह से उपलब्ध है' के तौर पर एलान कर दिया जाता है, तब यह स्टेबलाइज़ेशन फ़ेज़ में चली जाती है. इसे इमेज 2 में स्टेबल के तौर पर लेबल किया गया है. पार्टनर की सुविधाओं और बग ठीक करने से जुड़े अपडेट अब भी स्वीकार किए जाते हैं. हालांकि, इंटरफ़ेस पर असर डालने वाले किसी भी बदलाव का पता लगाने के लिए, केएमआई ट्रैकिंग की सुविधा चालू की जाती है. इस फ़ेज़ में, केएमआई में नुकसान पहुंचाने वाले बदलावों को स्वीकार किया जाता है. साथ ही, केएमआई की परिभाषा को पहले से तय किए गए कैडेंस (आम तौर पर हर दो हफ़्ते) पर अपडेट किया जाता है. केएमआई मॉनिटरिंग के बारे में ज़्यादा जानने के लिए, जीकेआई की खास जानकारी देखें.

KMI फ़्रोज़न फ़ेज़

किसी नई रिलीज़ को AOSP पर पुश करने से पहले, ACK KMI ब्रांच को फ़्रीज़ कर दिया जाता है. यह ब्रांच के बंद होने तक फ़्रीज़ रहती है. इसका मतलब है कि केएमआई में कोई भी ऐसा बदलाव स्वीकार नहीं किया जाएगा जिससे केएमआई पर असर पड़े. हालांकि, अगर सुरक्षा से जुड़ी कोई गंभीर समस्या मिलती है और उसे स्टेबल केएमआई पर असर डाले बिना ठीक नहीं किया जा सकता, तो बदलाव स्वीकार किया जा सकता है. केएमआई में बदलाव से बचने के लिए, एलटीएस से मर्ज किए गए कुछ पैच में बदलाव किया जा सकता है या उन्हें हटाया जा सकता है. ऐसा तब किया जाता है, जब Android डिवाइसों के लिए फ़िक्स की ज़रूरत नहीं होती.

जब ACK KMI ब्रांच फ़्रीज़ हो जाती है, तब बग ठीक करने और पार्टनर की सुविधाओं को स्वीकार किया जा सकता है. हालांकि, ऐसा तब तक किया जा सकता है, जब तक मौजूदा KMI कॉमन कर्नल काम कर रहा हो. केएमआई को एक्सटेंड किया जा सकता है. इसके लिए, नए एक्सपोर्ट किए गए सिंबल का इस्तेमाल किया जा सकता है. हालांकि, ऐसा तब तक किया जा सकता है, जब तक मौजूदा केएमआई में शामिल इंटरफ़ेस पर कोई असर न पड़े. KMI में नए इंटरफ़ेस जोड़े जाने पर, वे तुरंत स्टेबल हो जाते हैं. साथ ही, आने वाले समय में होने वाले बदलावों से उन पर कोई असर नहीं पड़ता.

उदाहरण के लिए, केएमआई इंटरफ़ेस के ज़रिए इस्तेमाल किए गए कॉमन कर्नेल के स्ट्रक्चर में कोई फ़ील्ड जोड़ने की अनुमति नहीं है. ऐसा इसलिए है, क्योंकि इससे इंटरफ़ेस की परिभाषा बदल जाती है:

struct foo {
  int original_field1;
  int original_field2;
  int new_field;  // Not allowed
};

int do_foo(struct foo &myarg)
{
  do_stuff(myarg);
}
EXPORT_SYMBOL_GPL(do_foo);

हालांकि, नया फ़ंक्शन जोड़ने में कोई समस्या नहीं है:

struct foo2 {
  struct foo orig_foo;
  int new_field;
};

int do_foo2(struct foo2 &myarg)
{
  do_stuff2(myarg);
}
EXPORT_SYMBOL_GPL(do_foo2);

GKI कर्नेल के पूरे जीवनकाल के दौरान, यूज़रस्पेस के साथ बैकवर्ड कंपैटिबिलिटी बनाए रखी जाती है. इससे कर्नेल को Android प्लैटफ़ॉर्म के उस वर्शन के लिए सुरक्षित तरीके से इस्तेमाल किया जा सकता है जिसके साथ डिवाइस लॉन्च किया गया था. पिछले वर्शन के साथ लगातार टेस्टिंग करने से, कंपैटिबिलिटी बनी रहती है. इसलिए, इमेज 2 में android15-6.6 कर्नेल का इस्तेमाल, Android 15 और इसके बाद के वर्शन वाले डिवाइसों के लिए किया जा सकता है. Android प्लैटफ़ॉर्म का नया वर्शन, पिछले वर्शन के साथ भी काम करता है. इसलिए, android14-6.1 कर्नल का इस्तेमाल Android 15 वाले डिवाइसों पर, लॉन्च या अपग्रेड करने के लिए किया जा सकता है.

केएमआई जनरेशन नंबर

अगर स्टेबलाइज़ेशन फ़ेज़ के दौरान एलटीएस मर्ज होता है या इसके बाद कोई सुरक्षा समस्या या अन्य इवेंट होता है जिसके लिए KMI बदलने वाले पैच को स्वीकार करना ज़रूरी है, तो build.config.common में रिकॉर्ड किया गया KMI जनरेशन नंबर बढ़ जाता है. uname कमांड का इस्तेमाल करके, मौजूदा केएमआई जनरेशन का पता लगाया जा सकता है:

$ uname -r
6.6.30-android15-6-g86d10b30f51f

प्लैटफ़ॉर्म रिलीज़ के बाद वाला नंबर, केएमआई जनरेशन होता है. इस मामले में, यह 6 है.

अगर केएमआई जनरेशन बदलता है, तो कर्नल, वेंडर मॉड्यूल के साथ काम नहीं करता है. ये मॉड्यूल, पिछले केएमआई जनरेशन के मुताबिक होते हैं. इसलिए, मॉड्यूल को फिर से बनाना होगा और कर्नल के साथ सिंक्रोनस तरीके से अपडेट करना होगा. केएमआई फ़्रीज़ होने के बाद, केएमआई जनरेशन में बदलाव होने की संभावना बहुत कम होती है.

कर्नल के बीच काम करने की सुविधा

एक ही एलटीएस फ़ैमिली के कर्नलों के बीच काम करने की ज़रूरी शर्तों में बदलाव हो रहा है. यह बदलाव, नए GKI कर्नलों से शुरू होगा.

GKI कर्नेल

जीकेआई कर्नेल, Android प्लैटफ़ॉर्म की उन सभी रिलीज़ के साथ काम करते हैं जिनमें कर्नेल वर्शन काम करता था. इसके अलावा, Android प्लैटफ़ॉर्म के रिलीज़ किए गए वर्शन, पिछली रिलीज़ के GKI कर्नल के साथ काम करते हैं. इसलिए, Android 15 (2024) पर चलने वाले डिवाइसों पर, Android 14 (2023) के लिए डेवलप किए गए android14-6.1 कर्नल का सुरक्षित तरीके से इस्तेमाल किया जा सकता है. यह पुष्टि की जाती है कि जीकेआई कर्नेल, सभी रिलीज़ के साथ काम करते हैं या नहीं. इसके लिए, जीकेआई कर्नेल की लगातार वीटीएस और सीटीएस टेस्टिंग की जाती है.

केएमआई स्थिर है, ताकि वेंडर इमेज में कर्नेल मॉड्यूल को फिर से बनाए बिना कर्नेल को अपडेट किया जा सके.

अलग-अलग जीकेआई कर्नेल के बीच केएमआई के साथ काम करने की सुविधा नहीं होती. इसलिए, उदाहरण के लिए, सभी मॉड्यूल को फिर से बनाए बिना, android14-6.1 कर्नल को android15-6.6 कर्नल से नहीं बदला जा सकता.

GKI कर्नल, सिर्फ़ शुरुआती और बाद की रिलीज़ के लिए काम करते हैं. ये सुविधाएं, पुराने वर्शन के साथ काम नहीं करती हैं. इसलिए, Android 14 (2023) पर काम करने वाले डिवाइसों के लिए, android15-6.6 कर्नल काम नहीं करता.

कंपैटबिलिटी मैट्रिक्स

इस टेबल में, Android के हर प्लैटफ़ॉर्म रिलीज़ के साथ काम करने वाले और टेस्ट किए गए कर्नल वर्शन दिखाए गए हैं.

Android प्लैटफ़ॉर्म रिलीज़ इस्तेमाल किए जा सकने वाले कर्नल
Android 16 (2025) android16-6.12
android15-6.6
android14-6.1
android14-5.15
android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4
Android 15 (2024) android15-6.6
android14-6.1
android14-5.15
android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4
Android 14 (2023) android14-6.1
android14-5.15
android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4
Android 13 (2022) android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4
Android 12 (2021) android12-5.10
android12-5.4
android11-5.4

सॉफ़्टवेयर अपडेट और सुरक्षा पैच

ACK को अपस्ट्रीम से एलटीएस मर्ज मिलते हैं. साथ ही, Android के लिए खास तौर पर बनाए गए कोड से जुड़ी गड़बड़ियां ठीक की जाती हैं. इन सुधारों में, कर्नल के वे सभी सुरक्षा पैच शामिल होते हैं जिनका ज़िक्र, हर महीने जारी होने वाले Android सुरक्षा बुलेटिन में किया जाता है और जो ACK के लिए ज़रूरी होते हैं.

ऐसा हो सकता है कि ACKs को kernel.org पर मौजूद अपस्ट्रीम स्टेबल कर्नल की तुलना में ज़्यादा समय तक सहायता मिले. इस मामले में, Google इस सेक्शन में दिखाई गई सेवा बंद होने की तारीख (ईओएल) तक, एक्सटेंडेड सपोर्ट देता है. जब कर्नल का ईओएल हो जाता है, तो Google उन्हें सपोर्ट नहीं करता. साथ ही, उन पर काम करने वाले डिवाइसों को असुरक्षित माना जाता है.

कर्नल 6.6 से, स्टेबल कर्नल के लिए सपोर्ट की अवधि चार साल है.

इस टेबल में, पुष्टि किए गए मैसेज के लिए तय की गई समयसीमाएं दिखाई गई हैं:

ACK ब्रांच लॉन्च
की तारीख
Support
lifetime
(years)
ईओएल
android11-5.4 2019-11-24 6 2026-01-01
android12-5.4 2019-11-24 6 2026-01-01
android12-5.10 2020-12-13 6 2027-07-01
android13-5.10 2020-12-13 6 2027-07-01
android13-5.15 2021-10-31 6 2028-07-01
android14-5.15 2021-10-31 6 2028-07-01
android14-6.1 2022-12-11 6 2029-07-01
android15-6.6 2023-10-29 4 2028-07-01
android16-6.12 2024-11-17 4 2029-07-01

सामान्य कर्नल टेस्टिंग

सामान्य कर्नलों की जांच, कई सीआई सिस्टम के साथ-साथ वेंडर की डाउनस्ट्रीम टेस्टिंग से भी की जाती है.

Linux कर्नेल फ़ंक्शनल टेस्ट

Linux Kernel Functional Test (LKFT), कई टेस्ट सुइट शुरू करता है. इनमें kselftest, LTP, VTS, और CTS शामिल हैं. ये टेस्ट, arm32 और arm64 आर्किटेक्चर वाले फ़िज़िकल डिवाइसों के सेट पर किए जाते हैं. जांच के हाल ही के नतीजे, android-lkft पेज पर देखे जा सकते हैं.

KernelCI टेस्टिंग

KernelCI के बिल्ड और बूट टेस्ट, तब शुरू किए जाते हैं, जब किसी सामान्य कर्नल ब्रांच में कोई नया पैच जोड़ा जाता है. कई बोर्ड पर, सैकड़ों बिल्ड कॉन्फ़िगरेशन की जांच की जाती है और उन्हें बूट किया जाता है. Android कर्नल के हाल ही के नतीजे, KernelCL साइट पर देखे जा सकते हैं.

Android ऐप्लिकेशन के लिए, सबमिट करने से पहले और सबमिट करने के बाद की जाने वाली टेस्टिंग

प्रीसबमिट टेस्ट का इस्तेमाल, Android के सामान्य कर्नल में गड़बड़ियों को रोकने के लिए किया जाता है. जांच के नतीजों की खास जानकारी, Android के सामान्य कर्नल गैरेट में कोड में किए गए बदलाव के 'Checks' टैब में देखी जा सकती है.

Android में पोस्टसबमिट टेस्टिंग, Android के कॉमन कर्नल ब्रांच में पब्लिश की गई नई बिल्ड पर की जाती है. ऐसा तब होता है, जब ci.android.com में Android के कॉमन कर्नल ब्रांच में नए पैच जोड़े जाते हैं. ci.android.com में aosp_kernel को ब्रांच के नाम के तौर पर डालने पर, आपको कर्नल ब्रांच की एक सूची दिखेगी. इसमें नतीजे भी उपलब्ध होंगे. उदाहरण के लिए, android-mainline के नतीजे, Android कंटीन्यूअस बिल्ड इंटिग्रेशन (Android CI) डैशबोर्ड पर देखे जा सकते हैं. Test Results टैब में टेस्ट का स्टेटस देखने के लिए, किसी बिल्ड पर क्लिक करें.

Android प्लैटफ़ॉर्म के सोर्स ट्री में, test-mapping के ज़रिए तय किए गए टेस्ट, Android कर्नल ब्रांच के लिए प्रीसबमिट के तौर पर चलाए जाते हैं. इन टेस्ट को kernel-presubmit टेस्ट ग्रुप में रखा जाता है. उदाहरण के लिए, test/vts/tests/kernel_proc_file_api_test/TEST_MAPPING में दिया गया कॉन्फ़िगरेशन, Android के सामान्य कर्नल कोड चेक-इन के दौरान vts_kernel_proc_file_api_test को प्रीसबमिट टेस्ट के तौर पर चालू करता है.

{
  "kernel-presubmit": [
    {
      "name": "vts_kernel_proc_file_api_test"
    }
  ]
}

ज़ीरो डे टेस्टिंग

0-दिन की टेस्टिंग में, नए पैच सबमिट किए जाने पर, Android के सभी सामान्य कर्नल ब्रांच पर पैच-बाय-पैच टेस्टिंग की जाती है. बूट, फ़ंक्शनल, और परफ़ॉर्मेंस से जुड़े अलग-अलग टेस्ट किए जाते हैं. cros-kernel-buildreports सार्वजनिक ग्रुप में शामिल हों.

टेस्ट मैट्रिक्स

Android का कॉमन कर्नल Android प्लैटफ़ॉर्म के रिलीज़ हुए वर्शन टेस्ट सुइट
मुख्य नेविगेशन 16 15 14 13 12 LKFT KernelCI सबमिट करने से पहले सबमिट करने के बाद ज़ीरो डे
android-mainline
android16-6.12
android15-6.6
android14-6.1
android14-5.15
android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4

Android के सामान्य कर्नल में योगदान देना

आम तौर पर, सुविधा को मेनलाइन Linux पर डेवलप किया जाना चाहिए, न कि Android के सामान्य कर्नेल पर. हम अपस्ट्रीम डेवलपमेंट को बढ़ावा देते हैं. डेवलपमेंट स्वीकार किए जाने के बाद, इसे ज़रूरत के हिसाब से किसी खास ACK ब्रांच में वापस पोर्ट किया जा सकता है. Android Kernel Team, Android नेटवर्क को बेहतर बनाने के लिए, अपस्ट्रीमिंग से जुड़े प्रयासों में आपकी मदद करके खुश है.

Gerrit पर पैच सबमिट करें और योगदान से जुड़े इन दिशा-निर्देशों का पालन करें.