AOSP के सामान्य कर्नेल (जिन्हें Android के सामान्य कर्नेल या ACKs भी कहा जाता है), kernel.org के कर्नेल के डाउनस्ट्रीम होते हैं. इनमें Android कम्यूनिटी के लिए ऐसे पैच शामिल होते हैं जिन्हें मुख्य या लंबे समय तक काम करने वाले (एलटीएस) कर्नेल में मर्ज नहीं किया गया है. इन पैच में ये शामिल हो सकते हैं:
- Android की सुविधाओं के लिए, अपस्ट्रीम फ़ंक्शन के बैकपोर्ट और चुनिंदा फ़ंक्शन
- Android डिवाइसों के लिए तैयार सुविधाएं, जो अब भी अपस्ट्रीम पर डेवलप की जा रही हैं
- वेंडर/OEM की ऐसी सुविधाएं जो अन्य नेटवर्क पार्टनर के लिए काम की हैं
android-mainline
, Android की सुविधाओं के लिए मुख्य डेवलपमेंट ब्रैंच है. जब भी Linus Torvalds कोई रिलीज़ या रिलीज़ कैंडिडेट पोस्ट करते हैं, तो Linux मुख्य फ़ाइल को android-mainline
में मर्ज कर दिया जाता है. साल 2019 से पहले, Android के सामान्य कर्नेल को हाल ही में घोषित किए गए एलटीएस कर्नेल को क्लोन करके और Android के हिसाब से पैच जोड़कर बनाया जाता था. android-mainline
से नए Android कमन कर्नेल को ब्रैंच करने के लिए, इस प्रोसेस में 2019 में बदलाव किया गया था. यह नया मॉडल, पोर्ट को फ़ॉरवर्ड करने और Android पैच की जांच करने के लिए ज़्यादा मेहनत करने से बचाता है. android-mainline
को लगातार जांच की जाती है. इस मॉडल से यह पक्का होता है कि पब्लिश होने के दिन से ही, बेहतर क्वालिटी का कर्नेल उपलब्ध हो.
जब किसी नए LTS को अपस्ट्रीम के तौर पर घोषित किया जाता है, तो उससे जुड़े सामान्य कर्नेल को android-mainline
से ब्रैंच किया जाता है. इससे पार्टनर, android-mainline
से मर्ज करके, LTS वर्शन के एलान से पहले ही प्रोजेक्ट शुरू कर सकते हैं. नई सामान्य कर्नेल शाखा बनने के बाद, पार्टनर आसानी से मर्ज सोर्स को नई शाखा में बदल सकते हैं.
आम तौर पर इस्तेमाल होने वाली अन्य कर्नेल शाखाओं को, उनसे जुड़े LTS कर्नेल से नियमित तौर पर मर्ज मिलते हैं.
आम तौर पर, ये मर्ज, LTS रिलीज़ पोस्ट होने के तुरंत बाद किए जाते हैं. उदाहरण के लिए, जब Linux 6.1.75 पोस्ट किया गया था, तो उसे 6.1 के सामान्य कोर (android14-6.1
) में मर्ज कर दिया गया था. पार्टनर को अपने कोर को अपडेट करने का सुझाव दिया जाता है, ताकि वे LTS और Android के लिए बग ठीक करने से जुड़ी नई जानकारी से अप-टू-डेट रहें.
ACK KMI कर्नेल शाखा
GKI के कर्नेल में, कर्नेल मॉड्यूल इंटरफ़ेस बेहतर तरीके से काम करता है. केएमआई की पहचान, केरल वर्शन और Android प्लैटफ़ॉर्म रिलीज़ से की जाती है. इसलिए, शाखाओं को ANDROID_RELEASE
-KERNEL_VERSION
नाम दिया जाता है. उदाहरण के लिए, Android 14 के लिए 6.1 GKI केरल का नाम android14-6.1
है. Android 15 के लिए, GKI kernel android15-6.6
को पेश किया गया था.
फ़ीचर और लॉन्च कर्नेल
Android 15 से पहले, डिवाइस लॉन्च के लिए तीन सबसे नए कर्नेल में से किसी का भी इस्तेमाल किया जा सकता था. Android 15 से, डिवाइस लॉन्च के लिए, सबसे हाल ही के दो वर्शन का इस्तेमाल किया जा सकता है. Android 15 के लिए लॉन्च केर्नेल android15-6.6
और android14-6.1
हैं.
प्लैटफ़ॉर्म रिलीज़ को अपडेट करते समय, कर्नेल को अपग्रेड करने की ज़रूरत नहीं होती. इसलिए, ऐसे कर्नेल का इस्तेमाल अब भी डिवाइस लॉन्च करने के लिए किया जा सकता है जिनमें प्लैटफ़ॉर्म रिलीज़ के लिए नई सुविधाएं मौजूद नहीं हैं. इसलिए, android14-6.1
जैसे Android 14 के लिए डिज़ाइन किए गए कर्नेल का इस्तेमाल, प्लैटफ़ॉर्म रिलीज़ को Android 15 पर अपग्रेड करने के बाद भी डिवाइसों पर किया जा सकता है.
Android प्लैटफ़ॉर्म रिलीज़ | लॉन्च कर्नेल | फ़ीचर कर्नेल |
---|---|---|
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
|
Android 11 (2020) |
android11-5.4
|
android11-5.4
|
1 अगर प्लैटफ़ॉर्म रिलीज़ के लिए, उससे जुड़े बीएसपी को अपडेट किया गया है, तो अन्य पाबंदियां लागू हो सकती हैं. आम तौर पर, kernel का Android रिलीज़ नंबर, टारगेट किए गए FCM वर्शन से ज़्यादा या उसके बराबर होना चाहिए. ज़्यादा जानकारी के लिए, वेंडर इंटरफ़ेस ऑब्जेक्ट - मैच कर्नेल की शाखाएं देखें. |
कर्नेल की सामान्य हैरारकी
android-mainline से शाखा
सामान्य कर्नेल हैरारकी का सबसे ऊपरी लेवल, पहले चित्र में दिखाया गया है.
पहली इमेज. android-mainline kernel से सामान्य कर्नेल बनाना
ध्यान दें कि साल 2022 में, android-mainline
से एक नया Android कॉमन कर्नेल android14-6.1
ब्रैंच किया गया था. साल 2023 में, अगले LTS के एलान के बाद, android15-6.6
को android-mainline
से अलग कर दिया गया था.
जैसा कि पहली इमेज में दिखाया गया है, हर कर्नेल वर्शन दो GKI कर्नेल के लिए आधार हो सकता है.
उदाहरण के लिए, v5.15 के दो कर्नेल android13-5.15
और android14-5.15
हैं. ये दोनों, अपने-अपने प्लैटफ़ॉर्म रिलीज़ के लिए फ़ीचर कर्नेल हैं. यह बात 5.10 के लिए भी लागू होती है. LTS के एलान के समय android12-5.10
बनाया गया था. साथ ही, Android 13 के लिए सुविधाओं को डेवलप करने के लिए, android13-5.10
को android12-5.10
से, स्प्रिंग 2021 में कर्नेल की सुविधा पूरी होने के माइलस्टोन पर ब्रैंच किया गया था. Android 15 (2024) से, हर कर्नेल वर्शन के लिए सिर्फ़ एक नया GKI कर्नेल उपलब्ध होगा. android15-6.1
कर्नेल उपलब्ध नहीं होगा.
ACK KMI branch लाइफ़साइकल
ACK KMI की शाखा का लाइफ़साइकल, नीचे दी गई इमेज 2 में दिखाया गया है.
दूसरी इमेज. 6.6 ACK KMI branch lifecycle
डेवलपमेंट प्रोसेस और शाखा के लाइफ़साइकल के बारे में साफ़ तौर पर बताने के लिए, दूसरे चित्र में 6.6 के लिए ACK KMI शाखाओं पर फ़ोकस किया गया है.
ACK KMI की हर शाखा, तीन चरणों से गुज़रती है. इन चरणों को दूसरे चित्र में, हर शाखा के अलग-अलग रंगों से दिखाया गया है. जैसा कि दिखाया गया है, LTS को नियमित तौर पर मर्ज किया जाता है, फिर चाहे वह किसी भी फ़ेज़ में हो.
डेवलपमेंट का फ़ेज़
बन जाने के बाद, ACK KMI की शाखा डेवलपमेंट फ़ेज़ (इसे दूसरे चित्र में dev के तौर पर लेबल किया गया है) में चली जाती है. साथ ही, यह Android प्लैटफ़ॉर्म के अगले वर्शन में सुविधाओं के योगदान के लिए उपलब्ध हो जाती है. दूसरे चित्र में, android15-6.6
तब बनाया गया था, जब 6.6 को अपस्ट्रीम LTS कर्नेल के तौर पर घोषित किया गया था.
स्टेबलाइज़ेशन फ़ेज़
जब ACK KMI ब्रैंच को सुविधा पूरी होने का एलान किया जाता है, तो वह स्थिरता के चरण में प्रवेश कर जाता है. इसे दूसरे चित्र में स्थिर के तौर पर लेबल किया गया है. पार्टनर की सुविधाएं और गड़बड़ी ठीक करने के लिए किए गए बदलाव अब भी स्वीकार किए जाते हैं. हालांकि, इंटरफ़ेस पर असर डालने वाले किसी भी बदलाव का पता लगाने के लिए, केएमआई ट्रैकिंग चालू की गई है. इस चरण में, केएमआई में बदलाव स्वीकार किए जाते हैं और केएमआई की परिभाषा को पहले से तय किए गए समयसीमा (आम तौर पर हर दो हफ़्ते) पर अपडेट किया जाता है. केएमआई की निगरानी के बारे में जानकारी पाने के लिए, जीकेआई की खास जानकारी देखें.
KMI फ़्रीज़ किया गया फ़ेज़
किसी नए प्लैटफ़ॉर्म की रिलीज़ को AOSP पर पुश करने से पहले, ACK KMI ब्रांच को फ़्रीज़ किया जाता है. यह ब्रांच, अपने पूरे जीवनकाल के लिए फ़्रीज़ रहती है. इसका मतलब है कि KMI को तोड़ने वाले किसी भी बदलाव को तब तक स्वीकार नहीं किया जाएगा, जब तक सुरक्षा से जुड़ी कोई गंभीर समस्या नहीं मिलती. साथ ही, यह भी ज़रूरी है कि स्थिर KMI पर असर डाले बिना, इस समस्या को ठीक न किया जा सके. KMI के साथ काम न करने की समस्या से बचने के लिए, LTS से मर्ज किए गए कुछ पैच में बदलाव किया जा सकता है या उन्हें हटाया जा सकता है. ऐसा तब किया जाता है, जब Android डिवाइसों के लिए सुधार की ज़रूरत न हो.
जब कोई ACK KMI शाखा फ़्रीज़ हो जाती है, तो बग ठीक करने और पार्टनर की सुविधाओं को तब तक स्वीकार किया जा सकता है, जब तक मौजूदा KMI कॉमन कर्नेल काम कर रहा हो. एक्सपोर्ट किए गए नए सिंबल की मदद से, KMI को तब तक बड़ा किया जा सकता है, जब तक मौजूदा 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 प्लैटफ़ॉर्म रिलीज़ के लिए सुरक्षित तरीके से किया जा सके जिस पर डिवाइस लॉन्च किया गया था. पिछले रिलीज़ के साथ लगातार टेस्ट करने से यह पक्का होता है कि ऐप्लिकेशन, पुराने वर्शन के साथ काम करता रहे. इसलिए, दूसरे चित्र में android15-6.6
कर्नल का इस्तेमाल, Android 15 और उसके बाद के वर्शन वाले डिवाइसों के लिए किया जा सकता है. Android प्लैटफ़ॉर्म रिलीज़, पिछले वर्शन के साथ भी काम करता है. इसलिए, android14-6.1
कर्नेल का इस्तेमाल, Android 15 डिवाइसों के लॉन्च या अपग्रेड के लिए किया जा सकता है.
KMI जनरेशन नंबर
अगर स्थिरता के चरण के दौरान LTS मर्ज होता है या इसके बाद सुरक्षा से जुड़ी कोई समस्या या कोई दूसरा इवेंट होता है, जिसके लिए KMI में बदलाव करने वाला पैच स्वीकार करना ज़रूरी है, तो build.config.common
में रिकॉर्ड किया गया KMI जनरेशन नंबर बढ़ जाता है. uname
कमांड का इस्तेमाल करके, मौजूदा केएमआई जनरेशन को देखा जा सकता है:
$ uname -r
6.6.30-android15-6-g86d10b30f51f
प्लैटफ़ॉर्म रिलीज़ के बाद की संख्या, KMI जनरेशन (इस मामले में 6
) है.
अगर केएमआई जनरेशन बदलता है, तो केरल, वेंडर मॉड्यूल के साथ काम नहीं करता है, जो पिछले केएमआई जनरेशन के मुताबिक होते हैं. इसलिए, मॉड्यूल को फिर से बनाया जाना चाहिए और केरल के साथ सिंक करके अपडेट किया जाना चाहिए. केएमआई फ़्रीज़ होने के बाद, केएमआई जनरेशन में बहुत कम बदलाव होने की उम्मीद है.
अलग-अलग कर्नेल के साथ काम करना
एक ही LTS फ़ैमिली के कर्नेल के बीच काम करने की ज़रूरी शर्तें बदल रही हैं. ये बदलाव, GKI के नए कर्नेल से शुरू हो रहे हैं.
GKI कर्नेल
GKI के कर्नेल, उन सभी Android प्लैटफ़ॉर्म रिलीज़ के साथ काम करते हैं जिन पर कर्नेल वर्शन काम करता है. इसके अलावा, Android प्लैटफ़ॉर्म की रिलीज़, पिछली रिलीज़ के GKI कर्नेल के साथ काम करती हैं. इसलिए, Android 15 (2024) पर चलने वाले डिवाइसों पर, Android 14 (2023) के लिए डेवलप किए गए android14-6.1
कर्नेल का इस्तेमाल सुरक्षित तरीके से किया जा सकता है. GKI के साथ काम करने की पुष्टि, GKI के सभी काम करने वाले रिलीज़ के साथ, GKI के कर्नेल की लगातार VTS और CTS टेस्टिंग की मदद से की जाती है.
केएमआई स्थिर होता है, ताकि वेंडर इमेज में मौजूद कर्नेल मॉड्यूल को फिर से बनाने की ज़रूरत के बिना, कर्नेल को अपडेट किया जा सके.
अलग-अलग GKI कर्नेल के बीच, KMI की सुविधा काम नहीं करती. उदाहरण के लिए, सभी मॉड्यूल को फिर से बनाए बिना, android14-6.1
कर्नेल को android15-6.6
कर्नेल से बदला नहीं जा सकता.
GKI के कर्नेल, सिर्फ़ उनकी शुरुआती और बाद की रिलीज़ के लिए काम करते हैं.
ये सुविधाएं, पुराने रिलीज़ के साथ काम नहीं करती हैं. इसलिए, Android 14 (2023) पर काम करने वाले डिवाइसों के लिए, android15-6.6
कर्नेल काम नहीं करता.
कंपैटिबिलिटी मैट्रिक्स
इस टेबल में, Android प्लैटफ़ॉर्म के हर रिलीज़ के साथ काम करने वाले और जिनकी जांच की गई है उन कर्नेल वर्शन के बारे में बताया गया है.
Android प्लैटफ़ॉर्म रिलीज़ | अपग्रेड के लिए काम करने वाले कर्नेल | लॉन्च के लिए इस्तेमाल किए जा सकने वाले कर्नेल |
---|---|---|
Android 15 (2024) |
android15-6.6
|
android15-6.6
|
Android 14 (2023) |
android14-6.1
|
android14-6.1
|
Android 13 (2022) |
android13-5.15
|
android13-5.15
|
Android 12 (2021) |
android12-5.10
|
android11-5.4
|
Android 11 (2020) |
android11-5.4
|
android11-5.4
|
लाइफ़टाइम और सुरक्षा पैच के साथ काम करना
ACK को अपस्ट्रीम से LTS मर्ज मिलते हैं. साथ ही, Android के लिए बने कोड की गड़बड़ियां ठीक की जाती हैं. इन सुधारों में, हर महीने के Android Security Bulletins में बताए गए, kernel के लिए सभी सुरक्षा पैच शामिल हैं. ये पैच, ACK के लिए काम के हैं.
kernel.org पर मौजूद अपस्ट्रीम स्टेबल कर्नेल की तुलना में, ACKs का इस्तेमाल ज़्यादा समय तक किया जा सकता है. इस मामले में, Google इस सेक्शन में दिखाई गई, सेवा बंद होने की तारीख (ईओएल) तक सहायता उपलब्ध कराता है. जब कर्नेल की सेवाएं बंद कर दी जाती हैं, तो Google उन्हें इस्तेमाल करना बंद कर देता है. साथ ही, उन पर काम करने वाले डिवाइसों को असुरक्षित माना जाता है.
कर्नेल 6.6 से, स्थिर कर्नेल के लिए सहायता की अवधि चार साल है.
इस टेबल में, काम करने वाले ACKs के लाइफ़टाइम दिखाए गए हैं:
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 |
सामान्य कर्नेल टेस्टिंग
वेंडर की ओर से की जाने वाली डाउनस्ट्रीम जांच के अलावा, सामान्य कर्नेल की जांच कई सीआई सिस्टम की मदद से की जाती है.
Linux Kernel फ़ंक्शनल टेस्ट
Linux Kernel फ़ंक्शनल टेस्ट (LKFT), फ़िज़िकल arm32 और arm64 डिवाइसों के सेट पर, kselftest, LTP, VTS, और CTS जैसे अलग-अलग टेस्ट सुइट शुरू करता है. हाल ही के टेस्ट के नतीजे यहां देखे जा सकते हैं.
KernelCI टेस्टिंग
जब भी किसी सामान्य कर्नेल शाखा में नया पैच किया जाता है, तो KernelCI के बिल्ड और बूट टेस्ट शुरू हो जाते हैं. कई बोर्ड पर, कई सौ बिल्ड कॉन्फ़िगरेशन की जांच की जाती है और उन्हें बूट किया जाता है. Android के कर्नेल के लिए हाल ही के नतीजे यहां देखे जा सकते हैं.
Android ऐप्लिकेशन को सबमिट करने से पहले और बाद में की जाने वाली टेस्टिंग
सबमिट करने से पहले की जाने वाली जांच का इस्तेमाल, Android के सामान्य कर्नेल में गड़बड़ियों को रोकने के लिए किया जाता है. जांच के नतीजे की खास जानकारी, Android के सामान्य कोर gerrit में कोड में हुए बदलाव के 'जांच' टैब में देखी जा सकती है.
Android पोस्ट सबमिट टेस्टिंग, Android के सामान्य kernel branch में पब्लिश किए गए नए बिल्ड पर की जाती है. ऐसा तब किया जाता है, जब ci.android.com में Android के सामान्य kernel branch में नए पैच को कमिट किया जाता है. ci.android.com में, aosp_kernel
को ब्रैंच के नाम के कुछ हिस्से के तौर पर डालने पर, आपको उन kernel branch की सूची दिखती है जिनके नतीजे उपलब्ध हैं. उदाहरण के लिए, android-mainline
के नतीजे यहां देखे जा सकते हैं. किसी खास बिल्ड पर क्लिक करने पर, आपको Test Results
टैब में टेस्ट का स्टेटस दिखेगा.
Android प्लैटफ़ॉर्म के सोर्स ट्री में, टेस्ट ग्रुप kernel-presubmit
के साथ test-mapping से तय किए गए टेस्ट, Android के कोर की शाखाओं के लिए, सबमिट करने से पहले चलाए जाएंगे. उदाहरण के लिए, 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-day टेस्टिंग में, नए पैच को कमिट करने पर, Android के सभी सामान्य kernel branch पर पैच-बाय-पैच टेस्टिंग की जाती है. इसके बाद, कई तरह के बूट, फ़ंक्शनल, और परफ़ॉर्मेंस टेस्ट चलाए जाते हैं. सार्वजनिक ग्रुप cros-kernel-buildreports में शामिल हों
टेस्ट मैट्रिक्स
Android का सामान्य कर्नेल | Android प्लैटफ़ॉर्म के रिलीज़ | टेस्ट सुइट | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
मुख्य नेविगेशन | 15 | 14 | 13 | 12 | 11 | 10 | LKFT | KernelCI | सबमिट करने से पहले | सबमिट करने के बाद | 0-day | |
android-mainline
|
✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android15-6.6
|
✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android14-6.1
|
✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android13-5.15
|
✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android12-5.10
|
✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android11-5.4
|
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
Android के सामान्य कर्नेल में योगदान देना
आम तौर पर, सुविधा का डेवलपमेंट मुख्य Linux पर किया जाना चाहिए, न कि Android के सामान्य कर्नेल पर. अपस्ट्रीम डेवलपमेंट का ज़रूर सुझाव दिया जाता है. डेवलपमेंट को स्वीकार किए जाने के बाद, ज़रूरत के हिसाब से इसे ACK की किसी खास शाखा में आसानी से बैकपोर्ट किया जा सकता है. Android Kernel Team, Android नेटवर्क के फ़ायदे के लिए, अपस्ट्रीम करने की कोशिशों में मदद करने को लेकर खुश है.
Gerrit पर पैच सबमिट करें और योगदान देने से जुड़े इन दिशा-निर्देशों का पालन करें.