เคอร์เนลทั่วไปของ Android

เคอร์เนลทั่วไปของ AOSP (หรือที่เรียกว่าเคอร์เนลทั่วไปของ Android หรือ ACK) เป็นเคอร์เนลดาวน์สตรีมของ kernel.org และมีแพตช์ที่ชุมชน Android สนใจซึ่งยังไม่ได้ผสานรวมเข้ากับเคอร์เนลหลักหรือเคอร์เนลที่รองรับระยะยาว (LTS) ซึ่งอาจรวมถึงรายการต่อไปนี้

  • การพอร์ตย้อนหลังและการเลือกฟังก์ชันการทำงานจาก upstream ที่จำเป็นสำหรับฟีเจอร์ของ Android
  • ฟีเจอร์พร้อมใช้งานสำหรับอุปกรณ์ Android แต่อยู่ระหว่างการพัฒนาในเวอร์ชันสำหรับนักพัฒนาซอฟต์แวร์
  • ฟีเจอร์ของผู้ให้บริการ/OEM ที่เป็นประโยชน์สำหรับพาร์ทเนอร์ระบบนิเวศรายอื่นๆ

android-mainline เป็นสาขาการพัฒนาหลักสำหรับฟีเจอร์ Android ระบบจะผสานรวมเมน Linux เข้ากับ android-mainline เมื่อใดก็ตามที่ Linus Torvalds โพสต์รุ่นที่เผยแพร่หรือรุ่นที่อาจได้รับการเผยแพร่ ก่อนปี 2019 เคอร์เนลทั่วไปของ Android จะสร้างขึ้นโดยการโคลนเคอร์เนล LTS ที่ประกาศล่าสุดและเพิ่มแพตช์เฉพาะ Android กระบวนการนี้เปลี่ยนแปลงไปในปี 2019 เพื่อแยกเคอร์เนล Android ทั่วไปเวอร์ชันใหม่จาก android-mainline รูปแบบใหม่นี้ช่วยหลีกเลี่ยงความพยายามอย่างมากในการส่งต่อพอร์ตและทดสอบแพตช์ Android โดยให้ผลลัพธ์เดียวกัน android-mainline ได้รับการทดสอบอย่างต่อเนื่องอย่างสม่ำเสมอ ซึ่งช่วยให้มั่นใจได้ว่าเคอร์เนลจะมีคุณภาพสูงตั้งแต่วันแรกที่เผยแพร่

เมื่อมีการประกาศ LTS ใหม่ เคอร์เนลทั่วไปที่เกี่ยวข้องจะแยกออกจาก android-mainline ซึ่งจะช่วยให้พาร์ทเนอร์เริ่มโปรเจ็กต์ได้ก่อนที่จะมีการประกาศเวอร์ชัน LTS โดยการผสานจาก android-mainline หลังจากสร้างสาขาเคอร์เนลทั่วไปใหม่แล้ว พาร์ทเนอร์จะเปลี่ยนแหล่งที่มาของการผสานเป็นสาขาใหม่ได้อย่างราบรื่น

ส่วนสาขาเคอร์เนลทั่วไปอื่นๆ จะได้รับการผสานเป็นประจำจากเคอร์เนล LTS ที่เกี่ยวข้อง โดยปกติการผสานเหล่านี้จะดำเนินการทันทีหลังจากที่มีการโพสต์รุ่น LTS ตัวอย่างเช่น เมื่อมีการเผยแพร่ Linux 6.1.75 ระบบจะผสานเข้ากับเคอร์เนลทั่วไป 6.1 (android14-6.1) เราขอแนะนำให้พาร์ทเนอร์อัปเดตเคอร์เนลเพื่อให้เป็นเวอร์ชันล่าสุดอยู่เสมอ ซึ่งรวมถึงการแก้ไขข้อบกพร่องสำหรับ LTS และ Android โดยเฉพาะ

ACK สาขาเคอร์เนล KMI

เคอร์เนล GKI มีอินเทอร์เฟซของโมดูล Kernel ที่เสถียร KMI จะระบุเวอร์ชันเคอร์เนลและรุ่นแพลตฟอร์ม Android ที่ไม่ซ้ำกัน ดังนั้นสาขาจึงมีชื่อว่า ANDROID_RELEASE-KERNEL_VERSION ตัวอย่างเช่น เคอร์เนล GKI เวอร์ชัน 6.1 สำหรับ Android 14 มีชื่อว่า android14-6.1 สำหรับ Android 15 เราได้เปิดตัวเคอร์เนล GKI android15-6.6

ฟีเจอร์และเคอร์เนลการเปิดตัว

ก่อน Android 15 คุณสามารถใช้เคอร์เนล 3 รายการล่าสุดในการเปิดตัวอุปกรณ์ได้ ตั้งแต่ Android 15 เป็นต้นไป คุณจะใช้เคอร์เนล 2 เวอร์ชันล่าสุดเพื่อเปิดตัวอุปกรณ์ได้ เคอร์เนลที่ใช้งานจริงสำหรับ Android 15 คือ android15-6.6 และ android14-6.1

เนื่องจากไม่จําเป็นต้องอัปเกรดเคอร์เนลเมื่ออัปเดตรุ่นแพลตฟอร์ม คุณจึงยังใช้เคอร์เนลที่ไม่มีฟีเจอร์ล่าสุดของรุ่นแพลตฟอร์มเพื่อเปิดใช้งานอุปกรณ์ได้ ดังนั้นเคอร์เนลที่ออกแบบมาสำหรับ Android 14 เช่น android14-6.1 จึงใช้งานบนอุปกรณ์ได้ แม้ว่าจะอัปเกรดรุ่นแพลตฟอร์มเป็น 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
android-4.19-stable
android12-5.10
android12-5.4
Android 11 (2020) android11-5.4
android-4.19-stable
android11-5.4
android-4.19-stable

1 อาจมีข้อจำกัดเพิ่มเติมหาก BSP ที่เชื่อมโยงได้รับการอัปเดตสำหรับรุ่นแพลตฟอร์ม กล่าวอย่างกว้างๆ ก็คือ หมายเลขรุ่น Android ของเคิร์กัลต้องสูงกว่าหรือเท่ากับเวอร์ชัน FCM เป้าหมาย ดูรายละเอียดได้ที่หัวข้อออบเจ็กต์อินเทอร์เฟซของผู้ให้บริการ - จับคู่สาขาเคอร์เนล

ลำดับชั้นเคอร์เนลทั่วไป

สาขาจาก Android-mainline

ระดับบนสุดของลำดับชั้นของเคอร์เนลทั่วไปจะแสดงในรูปที่ 1

การสร้างเคอร์เนลทั่วไปจากเคอร์เนล Android Mainline

รูปที่ 1 การสร้างเคอร์เนลทั่วไปจากเคอร์เนล android-mainline

โปรดสังเกตว่าเคอร์เนลทั่วไปใหม่ของ Android android14-6.1 ได้แยกออกมาจาก android-mainline ในปี 2022 ในปี 2023 เมื่อมีการประกาศ LTS ถัดไป android15-6.6 ได้แยกออกมาจาก android-mainline

ดังที่แสดงในรูปที่ 1 แต่ละเวอร์ชันของเคิร์กัลสามารถใช้เป็นพื้นฐานของเคิร์กัล GKI ได้ 2 เวอร์ชัน ตัวอย่างเช่น เคอร์เนล v5.15 2 รายการคือ android13-5.15 และ android14-5.15 ซึ่งทั้ง 2 รายการเป็นเคอร์เนลฟีเจอร์สำหรับรุ่นแพลตฟอร์มที่เกี่ยวข้อง กรณีนี้เกิดขึ้นกับ 5.10 ด้วยเช่นกัน android12-5.10 สร้างขึ้นเมื่อมีการประกาศ LTS และ android13-5.10 แยกมาจาก android12-5.10 เมื่อถึงเหตุการณ์สำคัญที่มีฟีเจอร์เคอร์เนลครบถ้วนในฤดูใบไม้ผลิปี 2021 เพื่ออนุญาตให้พัฒนาฟีเจอร์สำหรับ Android 13 ตั้งแต่ Android 15 (2024) เป็นต้นไป เคอร์เนล GKI ใหม่มีเพียง 1 รายการต่อเคอร์เนลเท่านั้น (ไม่มีเคอร์เนล android15-6.1)

วงจรของสาขา ACK KMI

วงจรชีวิตของสาขา ACK KMI แสดงอยู่ในรูปที่ 2 ด้านล่าง

6.6 ACK วงจรการใช้งานของสาขา KMI

รูปที่ 2 6.6 วงจรของสาขา ACK KMI

รูปที่ 2 จะเน้นไปที่สาขา ACK KMI สำหรับ 6.6 เพื่อชี้แจงกระบวนการพัฒนาและวงจรของสาขา

สาขา ACK KMI แต่ละสาขาจะวนผ่าน 3 ระยะที่ระบุไว้ในรูปที่ 2 โดยแต่ละสาขาจะมีสีแตกต่างกัน ดังที่แสดง ระบบจะผสาน LTS เป็นระยะๆ โดยไม่คำนึงถึงระยะ

ระยะการพัฒนา

เมื่อสร้างแล้ว สาขา ACK KMI จะเข้าสู่ระยะการพัฒนา (ติดป้ายกำกับเป็น dev ในรูปที่ 2) และพร้อมรับการมีส่วนร่วมในฟีเจอร์สำหรับรุ่นแพลตฟอร์ม Android รุ่นถัดไป ในรูปที่ 2 android15-6.6 สร้างขึ้นเมื่อมีการประกาศ 6.6 เป็นเคอร์เนล LTS ใหม่ใน upstream

ระยะคงที่

เมื่อสาขา KMI ของ ACK ประกาศว่าฟีเจอร์เสร็จสมบูรณ์แล้ว สาขาดังกล่าวจะเข้าสู่ระยะการทำให้เสถียร (มีป้ายกำกับว่าเสถียรในรูปที่ 2) ระบบยังคงยอมรับฟีเจอร์ของพาร์ทเนอร์และการแก้ไขข้อบกพร่อง แต่การติดตาม KMI เปิดใช้เพื่อตรวจหาการเปลี่ยนแปลงที่ส่งผลกระทบต่ออินเทอร์เฟซ ในระยะนี้ ระบบจะยอมรับการเปลี่ยนแปลงที่ส่งผลกับ KMI และอัปเดตคำจำกัดความของ KMI ตามช่วงเวลาที่กำหนดไว้ล่วงหน้า (ปกติทุก 2 สัปดาห์) ดูรายละเอียดการตรวจสอบ KMI ได้ในภาพรวม GKI

ระยะที่ KMI หยุดทำงาน

ก่อนที่จะมีการพุชแพลตฟอร์มเวอร์ชันใหม่ไปยัง AOSP ระบบจะหยุดสาขา ACK KMI ไว้และจะหยุดไว้ตลอดอายุของสาขา ซึ่งหมายความว่าเราจะไม่ยอมรับการเปลี่ยนแปลงที่ส่งผลต่อ KMI เว้นแต่จะมีการระบุปัญหาด้านความปลอดภัยร้ายแรงที่ไม่สามารถบรรเทาได้โดยไม่ส่งผลกระทบต่อ KMI ที่เสถียร เพื่อหลีกเลี่ยงการหยุดทำงานของ KMI ระบบอาจแก้ไขหรือยกเลิกการรวมแพตช์บางรายการที่ผสานมาจาก LTS หากการแก้ไขไม่จำเป็นสำหรับอุปกรณ์ Android

เมื่อสาขา KMI ของ ACK ถูกหยุดไว้ชั่วคราว ระบบจะยอมรับการแก้ไขข้อบกพร่องและฟีเจอร์ของพาร์ทเนอร์ ตราบใดที่เคอร์เนลทั่วไปของ 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 เวอร์ชันที่เปิดตัวอุปกรณ์ได้อย่างปลอดภัย การทดสอบอย่างต่อเนื่องกับรุ่นก่อนหน้าช่วยให้มั่นใจได้ว่า ความเข้ากันได้จะยังคงเหมือนเดิม ดังนั้นในรูปที่ 2 เคอร์เนล android15-6.6 ใช้ในอุปกรณ์ Android 15 ขึ้นไปได้ เนื่องจากแพลตฟอร์ม Android เวอร์ชันนี้ใช้ร่วมกับเวอร์ชันก่อนหน้าได้ จึงสามารถใช้เคอร์เนล android14-6.1 สำหรับอุปกรณ์ Android 15 ในการเปิดตัวหรืออัปเกรด

หมายเลขรุ่น KMI

หากมีการผสาน LTS ในระยะการทำให้เสถียร หรือมีปัญหาด้านความปลอดภัย หรือเหตุการณ์อื่นๆ หลังจากนี้ซึ่งกำหนดให้ต้องยอมรับการแพตช์ที่เปลี่ยนแปลง KMI ระบบจะเพิ่มหมายเลขรุ่น KMI ที่บันทึกไว้ใน build.config.common คุณดูรุ่น KMI ปัจจุบันได้โดยใช้คําสั่ง uname ดังนี้

$ uname -r
6.6.30-android15-6-g86d10b30f51f

ตัวเลขหลังรุ่นแพลตฟอร์มคือรุ่น KMI (ในกรณีนี้คือ 6)

หากการสร้าง KMI มีการเปลี่ยนแปลง เคอร์เนลจะใช้ไม่ได้กับโมดูลผู้ให้บริการที่สอดคล้องกับการสร้าง KMI ก่อนหน้า ดังนั้นจึงต้องสร้างโมดูลใหม่และอัปเดตแบบพร้อมกันด้วยเคอร์เนล หลังจากการหยุด KMI แล้ว การเปลี่ยนแปลงการสร้าง KMI คาดว่าจะเกิดขึ้นน้อยมาก

ความเข้ากันได้ระหว่างเคอร์เนล

ข้อกำหนดความเข้ากันได้ระหว่างเคอร์เนลในตระกูล LTS เดียวกันมีการเปลี่ยนแปลงโดยเริ่มจากเคอร์เนล GKI ใหม่

เคอร์เนล GKI

เคอร์เนล GKI จะยังคงใช้งานร่วมกับแพลตฟอร์ม Android ทุกรุ่นที่รองรับเวอร์ชันเคอร์เนลได้ นอกจากนี้ แพลตฟอร์ม Android เวอร์ชันต่างๆ ยังใช้งานร่วมกับเคอร์เนล GKI จากเวอร์ชันก่อนหน้าได้ คุณจึงใช้เคอร์เนล android14-6.1 ที่พัฒนาขึ้นสำหรับ Android 14 (2023) ในอุปกรณ์ที่ใช้ Android 15 (2024) ได้อย่างปลอดภัย ความเข้ากันได้ได้รับการยืนยันผ่านการทดสอบ VTS และ CTS อย่างต่อเนื่องของเคอร์เนล GKI กับรุ่นที่รองรับทั้งหมด

KMI มีความเสถียรเพื่อให้อัปเดตเคอร์เนลได้โดยไม่ต้องสร้างโมดูลเคอร์เนลใหม่ในอิมเมจของผู้ให้บริการ

ระบบไม่รักษาความเข้ากันได้ของ KMI ระหว่างเคอร์เนล GKI ต่างๆ ดังนั้น ตัวอย่างเช่น คุณไม่สามารถแทนที่เคอร์เนล android14-6.1 ด้วยเคอร์เนล android15-6.6 ได้หากไม่สร้างโมดูลทั้งหมดขึ้นมาใหม่

รองรับเคอร์เนล GKI สำหรับรุ่นแรกและรุ่นต่อๆ ไปเท่านั้น เวอร์ชันเก่าจะไม่รองรับ อุปกรณ์ที่ใช้ Android 14 (2023) จึงไม่รองรับเคอร์เนล android15-6.6

เมทริกซ์ความเข้ากันได้

ตารางนี้แสดงเวอร์ชันเคอร์เนลที่รองรับและทดสอบกับแพลตฟอร์ม Android แต่ละรุ่น

แพลตฟอร์ม Android เคอร์เนลที่รองรับสำหรับการอัปเกรด เคอร์เนลที่รองรับการเปิดใช้งาน
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-4.19-stable
android15-6.6
android14-6.1
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-4.19-stable
android14-6.1
android14-5.15
android13-5.15
android13-5.10
android12-5.10
Android 13 (2022) android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4
android-4.19-stable
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
android-4.19-stable
android-4.19-stable
android11-5.4
android12-5.4
android12-5.10
Android 11 (2020) android11-5.4
android-4.19-stable
android11-5.4
android-4.19-stable

รองรับอายุการใช้งานและแพตช์ความปลอดภัย

ACK จะได้รับการผสาน LTS จากอัปสตรีมและการแก้ไขข้อบกพร่องสำหรับโค้ดเฉพาะ Android การแก้ไขเหล่านี้รวมถึงแพตช์ความปลอดภัยของเคอร์เนลทั้งหมดที่ระบุไว้ในกระดานข่าวสารด้านความปลอดภัยของ Android รายเดือนซึ่งเกี่ยวข้องกับ ACK

ACK อาจได้รับการรองรับนานกว่าเคอร์เนลเสถียรที่ใช้งานร่วมกันซึ่งอยู่ต้นน้ำที่ kernel.org ในกรณีนี้ Google จะให้การสนับสนุนเพิ่มเติมจนถึงวันที่หยุดให้บริการ (EOL) ที่แสดงในส่วนนี้ เมื่อถึง EOL แล้ว Google จะไม่รองรับเคอร์เนลดังกล่าวอีกต่อไป และอุปกรณ์ที่ใช้เคอร์เนลดังกล่าวจะถือว่ามีช่องโหว่

ตั้งแต่เคอร์เนล 6.6 เป็นต้นไป อายุการรองรับสำหรับเคอร์เนลที่เสถียรจะนาน 4 ปี

ตารางนี้แสดงอายุของ ACK ที่รองรับ

Branch ACK วันที่เปิดตัว
รองรับ
ตลอดอายุการใช้งาน
(ปี)
EOL
android-4.19-stable 2018-10-22 6 2025-01-01
android11-5.4 2019-11-24 6 2026-01-01
android12-5.4 2019-11-24 6 2026-01-01
Android 12-5.10 2020-12-13 6 2027-07-01
android13-5.10 2020-12-13 6 2027-07-01
Android 13-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
Android 15-6.6 2023-10-29 4 2028-07-01

การทดสอบเคอร์เนลทั่วไป

เคอร์เนลทั่วไปจะได้รับการทดสอบกับระบบ CI หลายระบบนอกเหนือจากการทดสอบดาวน์สตรีมโดยผู้ให้บริการ

การทดสอบฟังก์ชันของเคิร์นลินุกซ์

Linux Kernel Functional Test (LKFT) จะเริ่มต้นชุดทดสอบต่างๆ อันได้แก่ kselftest, LTP, VTS และ CTS บนชุดอุปกรณ์ Physical Arm32 และ arm64 ดูผลการทดสอบล่าสุดได้ที่นี่

การทดสอบ KernelCI

การทดสอบบิลด์และเปิดเครื่องของ KernelCI จะเริ่มต้นเมื่อใดก็ตามที่มีสัญญาผูกมัดแพตช์ใหม่กับ Branch ของเคอร์เนลทั่วไป มีการทดสอบและบูตการกำหนดค่าบิลด์หลายร้อยรายการในบอร์ดต่างๆ ดูผลลัพธ์ล่าสุดสำหรับเคอร์เนล Android ได้ที่นี่

การทดสอบก่อนและหลังส่งสำหรับ Android

การทดสอบก่อนส่งใช้เพื่อป้องกันไม่ให้เกิดความล้มเหลวในเคอร์เนลทั่วไปของ Android ดูสรุปผลการทดสอบได้ในแท็บ "การตรวจสอบ" ของการเปลี่ยนแปลงโค้ดใน gerrit ของเคอร์เนลทั่วไปของ Android

การทดสอบหลังส่งของ Android จะดำเนินการกับบิลด์ที่เผยแพร่ใหม่ในสาขาเคอร์เนลทั่วไปของ Android เมื่อมีการคอมมิตแพตช์ใหม่ไปยังสาขาเคอร์เนลทั่วไปของ Android ใน ci.android.com เมื่อป้อน aosp_kernel เป็นชื่อสาขาบางส่วนใน ci.android.com คุณจะเห็นรายการสาขาเคอร์เนลที่มีผลลัพธ์ เช่น ผลการค้นหาสำหรับ android-mainline จะดูได้ที่นี่ เมื่อคลิกบิลด์หนึ่งๆ คุณจะเห็นสถานะการทดสอบในแท็บ Test Results

การทดสอบที่กําหนดโดย test-mapping ที่มีกลุ่มทดสอบ kernel-presubmit ในลําดับชั้นซอร์สโค้ดของแพลตฟอร์ม Android จะทํางานเป็นการทดสอบก่อนส่งสําหรับสาขาเคอร์เนล Android ตัวอย่างเช่น การกำหนดค่าต่อไปนี้ใน test/vts/tests/kernel_proc_file_api_test/TEST_MAPPING จะเปิดใช้ vts_kernel_proc_file_api_test เป็นการทดสอบ presbumit ที่การเช็คอินรหัสเคอร์เนลทั่วไปของ Android

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

การทดสอบวันศูนย์

การทดสอบ0 วันจะทำการทดสอบแพตช์ทีละรายการในสาขาเคอร์เนลทั่วไปทั้งหมดของ Android เมื่อมีการคอมมิตแพตช์ใหม่ ระบบจะทำการทดสอบการบูต ฟังก์ชันการทำงาน และประสิทธิภาพต่างๆ เข้าร่วมกลุ่มสาธารณะ cros-kernel-buildreports

เมทริกซ์ทดสอบ

เคอร์เนลทั่วไปของ Android รุ่นต่างๆ ของแพลตฟอร์ม Android ชุดทดสอบ
หลัก 15 14 13 12 11 10 LKFT KernelCI ก่อนส่ง หลังส่ง 0 วัน
android-mainline
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-4.19-stable

มีส่วนร่วมในเคอร์เนลทั่วไปของ Android

โดยทั่วไปแล้ว การพัฒนาฟีเจอร์ควรทำใน Linux หลัก ไม่ใช่ในเคอร์เนลทั่วไปของ Android เราขอแนะนำให้พัฒนาในเวอร์ชันอัปสตรีม และหลังจากที่ยอมรับการพัฒนาแล้ว ก็สามารถพอร์ตกลับไปใช้กับสาขา ACK ที่เฉพาะเจาะจงได้ง่ายๆ ตามต้องการ ทีมเคอร์เนล Android ยินดีให้การสนับสนุนการอัปสตรีมเพื่อประโยชน์ของระบบนิเวศ Android

ส่งแพตช์ไปยัง Gerrit และปฏิบัติตามหลักเกณฑ์การมีส่วนร่วมเหล่านี้