เคอร์เนลทั่วไปของ AOSP (เรียกอีกอย่างว่าเคอร์เนลทั่วไปของ Android หรือ ACKs ) เป็นดาวน์สตรีมของเคอร์เนล kernel.org และรวมแพตช์ที่น่าสนใจของชุมชน Android ที่ยังไม่ได้รวมเข้ากับเคอร์เนล mainline หรือ Long Term Supported (LTS) แพตช์เหล่านี้อาจรวมถึง:
- Backports และตัวเลือกเชอร์รี่ของฟังก์ชันอัปสตรีมที่จำเป็นสำหรับคุณสมบัติของ Android
- คุณสมบัติพร้อมสำหรับอุปกรณ์ Android แต่ยังอยู่ระหว่างการพัฒนาต้นทาง (เช่น การเพิ่มประสิทธิภาพตำแหน่งงาน Energy Aware Scheduler)
- คุณสมบัติผู้จำหน่าย/OEM ที่มีประโยชน์สำหรับพันธมิตรระบบนิเวศอื่นๆ (เช่น sdcardfs)
android-mainline
เป็นสาขาการพัฒนาหลักสำหรับคุณสมบัติของ Android Linux mainline ถูกรวมเข้ากับ android-mainline
เมื่อใดก็ตามที่ Linus Torvalds โพสต์เผยแพร่หรือเผยแพร่ผู้สมัคร ก่อนปี 2019 เคอร์เนลทั่วไปของ Android ถูกสร้างขึ้นโดยการโคลนเคอร์เนล LTS ที่เพิ่งประกาศและเพิ่มแพตช์เฉพาะของ Android กระบวนการนี้เปลี่ยนไปในปี 2019 เพื่อแยกเคอร์เนลทั่วไปของ Android ใหม่จาก android-mainline
รุ่นใหม่นี้หลีกเลี่ยงความพยายามที่สำคัญในการส่งต่อพอร์ตและทดสอบแพตช์ Android โดยทำผลลัพธ์เดียวกันทีละน้อย android-mainline
ผ่านการทดสอบอย่างต่อเนื่องที่สำคัญ โมเดลนี้รับประกันเคอร์เนลคุณภาพสูงตั้งแต่วันที่เผยแพร่
เมื่อมีการประกาศ LTS ใหม่อัปสตรีม เคอร์เนลทั่วไปที่เกี่ยวข้องจะถูกแตกแขนงจาก android-mainline
สิ่งนี้ทำให้พันธมิตรสามารถเริ่มโครงการก่อนที่จะมีการประกาศเวอร์ชัน LTS โดยการผสานจาก android-mainline
หลังจากที่สาขาเคอร์เนลทั่วไปใหม่ถูกสร้างขึ้น คู่ค้าสามารถเปลี่ยนแหล่งที่มาของการผสานไปยังสาขาใหม่ได้อย่างราบรื่น
สาขาเคอร์เนลทั่วไปอื่น ๆ ได้รับการผสานเป็นประจำจาก เคอร์เนล LTS ที่เกี่ยวข้อง โดยปกติแล้วการผสานเหล่านี้จะทำทันทีหลังจากที่มีการโพสต์การเผยแพร่ LTS ตัวอย่างเช่น เมื่อลินุกซ์ 4.19.64 ถูกโพสต์ มันจะถูกรวมเข้ากับเคอร์เนลทั่วไปของ 4.19 (เช่น android-4.19-q
) พันธมิตรควรได้รับการสนับสนุนให้รวมจากเคอร์เนลทั่วไปเข้ากับเคอร์เนลผลิตภัณฑ์ของตนเป็นประจำ เพื่อให้ทันกับ LTS และการแก้ไขข้อบกพร่องเฉพาะของ Android
สาขาเคอร์เนล ACK KMI
เมล็ด GKI มีอินเทอร์เฟซโมดูลเคอร์เนลที่เสถียร KMI ได้รับการระบุโดยไม่ซ้ำกันโดยเวอร์ชันเคอร์เนลและรุ่นของแพลตฟอร์ม Android ดังนั้นสาขาจึงมีชื่อว่า <androidRelease>-<kernel version>
ตัวอย่างเช่น เคอร์เนล 5.4 GKI สำหรับ Android 11 มีชื่อว่า android11-5.4.
สำหรับ Android 12 มีเคอร์เนล GKI เพิ่มเติมสองรายการคือ android12-5.4
และ android12-5.10
สาขาเคอร์เนลของหวานแบบดั้งเดิม
เคอร์เนลของหวานดั้งเดิมถูกสร้างขึ้นเพื่อรับประกันว่าการพัฒนาคุณสมบัติใหม่จะไม่รบกวนการรวมจากเคอร์เนลทั่วไปของ Android สาขาถูกสร้างขึ้นก่อนการเปิดตัวของหวานที่เกี่ยวข้องและได้รับการผสานจาก LTS เป็นประจำ แต่ไม่มีคุณลักษณะใหม่ ตัวอย่างเช่น android-4.9-q
ได้รับการผสานจากสาขา LTS 4.9.y
หากเวอร์ชันเคอร์เนลไม่ใช่เคอร์เนลเรียกใช้งาน แสดงว่าไม่มีการสร้างเคอร์เนลของหวาน แต่เคอร์เนลที่เชื่อมโยงกับการเปิดตัวแพลตฟอร์มล่าสุดนั้นถูกต้องสำหรับการอัปเกรดเป็นแพลตฟอร์ม Android ในอนาคต ตัวอย่างเช่น android-4.9-q
เป็นสาขาสุดท้ายในสาขาของหวานของ android-4.9*
ดังนั้นจึงได้รับการสนับสนุนและทดสอบด้วยการเปิดตัวแพลตฟอร์มดั้งเดิมอย่าง Android 10 นอกจากนี้ยังได้รับการสนับสนุนและทดสอบด้วยการเปิดตัวแพลตฟอร์มที่รองรับการอัปเกรดอุปกรณ์ที่ใช้ 4.9 เมล็ด: Android 11 และ Android 12
เนื่องจากแผนการตั้งชื่อของหวานสำหรับการเปิดตัวแพลตฟอร์ม Android ถูกทิ้งพร้อมกับ Android 10 การเปิดตัวของหวานครั้งสุดท้ายที่จะเรียกว่า android-4.14-r
และ android-4.19-r
แทนที่จะเรียกว่า android-4.14-stable
และ android-4.19-stable
เมล็ดขนมหวานถูกแทนที่ด้วยเมล็ด GKI ที่เริ่มต้นด้วย Android 11 ดังนั้นรายการทั้งหมดของเมล็ดของหวานที่รองรับจึงอยู่ในตารางนี้
การเปิดตัวแพลตฟอร์ม Android | เคอร์เนล | รองรับจนถึง |
---|---|---|
แอนดรอยด์ 10 | android-4.9-q android-4.14-q android-4.19-q | มกราคม 2566 |
แอนดรอยด์ 11 | android-4.14-stable android-4.19-stable | มกราคม 2567 |
สาขาเคอร์เนลรุ่นดั้งเดิม
เคอร์เนลของรีลี สจะได้รับการดูแลเพื่อให้แบ็คพอร์ตของแพตช์ที่อ้างถึงใน Android Security Bulletin รายเดือน พวกมันถูกสร้างขึ้นสำหรับเคอร์เนลเรียกใช้งานแต่ละตัวเมื่อมีการเปิดตัวแพลตฟอร์ม Android ใหม่ สิ่งเหล่านี้จะเลิกใช้งานเมื่อเคอร์เนลหรือแพลตฟอร์มที่เกี่ยวข้องเลิกใช้งานตามที่อธิบายไว้ใน Support lifes and security patches
ทุกเดือนเมื่อมีการเผยแพร่ประกาศความปลอดภัยของ Android เคอร์เนลเหล่านี้จะได้รับการอัปเดตด้วยแบ็คพอร์ตของแพตช์ที่อ้างถึงในกระดานข่าวสารที่เกี่ยวข้องกับเคอร์เนลอัปสตรีมและเคอร์เนลทั่วไปของ Android พวกเขาไม่ได้รับแพตช์ LTS ดังนั้นหมายเลขเวอร์ชันย่อยจะไม่เปลี่ยนแปลง ไม่มีแบ็คพอร์ตสำหรับแพตช์เฉพาะของผู้จำหน่าย
ในการเผยแพร่แพลตฟอร์ม Android 11 และเวอร์ชันที่ใหม่กว่านั้น พาร์ทเนอร์จะต้องรวมจากเคอร์เนลของหวานหรือ GKI เพื่อใช้แพตช์ที่อ้างถึงใน Android Security Bulletin ไม่มีการสร้างเคอร์เนลรุ่นสำหรับ Android 11 หรือรุ่นที่ใหม่กว่า
ดังนั้น รายการเคอร์เนลรีลีสทั้งหมด 14 รายการจึงแสดงอยู่ในตารางนี้ และจะไม่มีการเพิ่ม
การเปิดตัวแพลตฟอร์ม Android | เคอร์เนล | รองรับจนถึง |
---|---|---|
แอนดรอยด์ 10 | android-4.9-q-release android-4.14-q-release android-4.19-q-release | มกราคม 2566 |
คุณลักษณะและการเปิดตัวเคอร์เนล
การเปิดตัวแพลตฟอร์ม Android แต่ละรุ่นรองรับการเปิดตัวอุปกรณ์ใหม่โดยใช้เคอร์เนล Linux เวอร์ชันใดก็ได้จากสามเวอร์ชัน ดังที่แสดงในตารางด้านล่าง เคอร์เนลเรียกใช้งานสำหรับ Android 11 คือ android-4.14-stable
, android-4.19-stable
และ android11-5.4
เนื่องจากโดยทั่วไปไม่จำเป็นต้องอัปเกรดเคอร์เนลเมื่ออัปเดตรีลีสของแพลตฟอร์ม เคอร์เนลที่ไม่มีฟีเจอร์ล่าสุดสำหรับการรีลีสของแพลตฟอร์มยังคงสามารถใช้เพื่อเปิดใช้อุปกรณ์ได้ ดังนั้นเคอร์เนลที่ออกแบบมาสำหรับ Android 10 เช่น android-4.19-q
จึงสามารถใช้บนอุปกรณ์ได้แม้หลังจากอัปเกรดการเปิดตัวแพลตฟอร์มเป็น Android 11 เริ่มตั้งแต่ Android 12 จะมีเคอร์เนลคุณลักษณะน้อยกว่าเคอร์เนลเปิดตัวเพื่อจำกัดจำนวน KMI ที่เสถียรซึ่งต้องรองรับ
การเปิดตัวแพลตฟอร์ม Android | เปิดตัวเมล็ด | เมล็ดคุณสมบัติ |
---|---|---|
แอนดรอยด์ 10 (2019) | android-4.9-q android-4.14-q android-4.19-q | android-4.9-q android-4.14-q android-4.19-q |
แอนดรอยด์ 11 (2020) | android-4.14-stable android-4.19-stable android11-5.4 | android-4.14-stable android-4.19-stable android11-5.4 |
แอนดรอยด์ 12 (2021) | android-4.19-stable android11-5.4 1 android12-5.4 android12-5.10 | android12-5.4 android12-5.10 |
แอนดรอยด์ 13 (2022) | android12-5.4 1 android12-5.10 1 android13-5.10 android13-5.15 | android13-5.10 android13-5.15 |
1 อาจมีข้อจำกัดเพิ่มเติมหากมีการอัปเดต BSP ที่เกี่ยวข้องสำหรับการเผยแพร่แพลตฟอร์ม โดยทั่วไปแล้ว หมายเลขการเผยแพร่ Android ของเคอร์เนลต้องสูงกว่าหรือเท่ากับ เวอร์ชัน FCM เป้าหมาย ดู วัตถุส่วนต่อประสานผู้ขาย - จับคู่สาขาเคอร์เนล สำหรับรายละเอียด |
ลำดับชั้นของเคอร์เนลทั่วไป
แยกจาก android-mainline
ระดับบนสุดของลำดับชั้นของเคอร์เนลทั่วไปแสดงในรูปที่ 1
รูปที่ 1 การสร้างเคอร์เนลทั่วไปจากเคอร์เนล android-mainline
โปรดทราบว่าเคอร์เนลทั่วไปของ Android ใหม่ android12-5.10
ถูกแยกออกจาก android-mainline
ในปี 2020 ในปี 2021 เมื่อมีการประกาศ LTS ครั้งต่อไป android13-5.15
ถูกแยกออกจาก android-mainline
ดังที่แสดงในรูปที่ 1 เคอร์เนลแต่ละเวอร์ชันเป็นพื้นฐานสำหรับเคอร์เนล GKI สองตัว ตัวอย่างเช่น เคอร์เนล v5.4 สองตัวคือ android11-5.4
และ android12-5.4
ซึ่งทั้งสองอย่างนี้เป็นเคอร์เนลฟีเจอร์สำหรับการเผยแพร่แพลตฟอร์มที่เกี่ยวข้อง นี่จะเป็นกรณีสำหรับ 5.10 เช่นกัน android12-5.10
ถูกสร้างขึ้นเมื่อมีการประกาศ LTS และ android13-5.10
จะแตกแขนงจาก android12-5.10
ที่คุณลักษณะเคอร์เนล เป้าหมายที่สมบูรณ์ในฤดูใบไม้ผลิปี 2021 เพื่อให้สามารถพัฒนาคุณลักษณะสำหรับ Android 13 ได้
วงจรชีวิตสาขา ACK KMI
วงจรชีวิตของสาขา ACK KMI แสดงไว้ด้านล่างในรูปที่ 2
รูปที่ 2 5.10 วงจรชีวิตสาขา ACK KMI
เพื่อชี้แจงขั้นตอนการพัฒนาและวงจรชีวิตของสาขา รูปที่ 2 มุ่งเน้นไปที่สาขา ACK KMI สำหรับ 5.10
แต่ละสาขาของ ACK KMI จะหมุนเวียนเป็นสามเฟสตามที่ระบุในรูปที่ 2 ด้วยสีที่แตกต่างกันในแต่ละสาขา ดังที่แสดง LTS จะถูกรวมเป็นประจำโดยไม่คำนึงถึงเฟส
ขั้นตอนการพัฒนา
เมื่อสร้างแล้ว สาขา ACK KMI จะเข้าสู่ ขั้นตอนการพัฒนา (ผู้ พัฒนา ในรูปที่ 2) และเปิดให้มีส่วนร่วมของคุณลักษณะสำหรับการเปิดตัวแพลตฟอร์ม Android รุ่นถัดไป ในรูปที่ 2 android12-5.10
ถูกสร้างขึ้นเมื่อมีการประกาศ 5.10 เป็นเคอร์เนล LTS อัปสตรีมใหม่ สาขา ACK KMI ที่สองสำหรับเวอร์ชันเคอร์เนลอาจถูกสร้างขึ้นก่อนหน้านี้เพื่อให้สามารถพัฒนารีลีสที่ตามมาได้ ในรูปที่ 2 android13-5.10
จะถูกสร้างขึ้นเมื่อ android12-5.10
ออกจากช่วงการพัฒนา
เฟสการรักษาเสถียรภาพ
เมื่อสาขา ACK KMI ถูกประกาศคุณลักษณะเสร็จสมบูรณ์ จะเข้าสู่ ขั้นตอนการทำให้เสถียร ซึ่งระบุว่าเป็น stab ในรูปที่ 2 ยังคงยอมรับคุณลักษณะของพันธมิตรและการแก้ไขจุดบกพร่อง แต่การติดตาม KMI จะถูกเปิดใช้งานเพื่อตรวจหาการเปลี่ยนแปลงใดๆ ที่ส่งผลกระทบต่ออินเทอร์เฟซ ในขั้นตอนนี้ จะยอมรับการเปลี่ยนแปลงที่ทำลาย KMI แต่ข้อกำหนด KMI จะต้องได้รับการปรับปรุงตามความจำเป็น ดู ภาพรวม GKI สำหรับรายละเอียดเกี่ยวกับการตรวจสอบ 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 ที่เปิดตัวพร้อมกับอุปกรณ์ การทดสอบอย่างต่อเนื่องกับรีลีสก่อนหน้าทำให้มั่นใจว่าความเข้ากันได้ยังคงอยู่ ดังนั้นในรูปที่ 2 เคอร์เนล android12-5.10
สามารถใช้กับอุปกรณ์ Android 12 และอุปกรณ์ Android 13 เนื่องจากการเปิดตัวแพลตฟอร์ม Android ยังเข้ากันได้กับเวอร์ชันก่อนหน้า เคอร์เนล android12-5.4
สามารถใช้กับอุปกรณ์ Android 13 สำหรับการเปิดตัวหรืออัปเกรด
เมื่อเข้าสู่ช่วงแช่แข็ง สาขาจะถูกติดแท็ก git ด้วยสตริงเวอร์ชัน KMI ที่มีหมายเลขการสร้าง KMI ตัวอย่างเช่น เมื่อ android11-5.4
ถูกหยุด ระบบจะแท็กด้วยสตริงเวอร์ชัน KMI 5.4-android11-0
โดยที่ 0
ต่อท้ายคือหมายเลขการสร้าง KMI หากมีปัญหาด้านความปลอดภัยหรือเหตุการณ์อื่นๆ ที่ต้องยอมรับแพตช์การเปลี่ยนแปลง KMI หมายเลขการสร้าง KMI จะเพิ่มขึ้นและติดแท็กสาขาอีกครั้ง ตัวอย่างเช่น หากยอมรับการเปลี่ยนแปลงดังกล่าวใน android11-5.4
สาขาจะถูกแท็กด้วย KMI เวอร์ชันใหม่ 5.4-android11-1
สามารถดูการสร้าง KMI ปัจจุบันได้โดยใช้คำสั่ง uname
:
$ uname -r
5.4.61-android11-0-00153-ga972f59040e4
หมายเลขหลังจากการเปิดตัวแพลตฟอร์มคือการสร้าง KMI (0 ในกรณีนี้)
หากการสร้าง KMI เปลี่ยนแปลง เคอร์เนลไม่สามารถทำงานร่วมกับโมดูลผู้จำหน่ายที่สอดคล้องกับการสร้าง KMI รุ่นก่อนหน้า ดังนั้นโมดูลจะต้องสร้างใหม่และอัปเดตพร้อมกันกับเคอร์เนล การเปลี่ยนแปลงการสร้าง KMI คาดว่าจะเกิดขึ้นน้อยมาก
ความเข้ากันได้ระหว่างเมล็ด
ข้อกำหนดด้านความเข้ากันได้ระหว่างเคอร์เนลในตระกูล LTS เดียวกันจะมีการเปลี่ยนแปลงโดยเริ่มจากเคอร์เนล GKI ใหม่
เมล็ด GKI
เคอร์เนล GKI รักษาความเข้ากันได้ย้อนหลังกับการเปิดตัวแพลตฟอร์ม Android ทั้งหมดที่สนับสนุนเวอร์ชันเคอร์เนล นอกจากนี้ การเปิดตัวแพลตฟอร์ม Android ยังเข้ากันได้แบบย้อนหลังกับเคอร์เนล GKI จากรุ่นก่อนหน้า คุณจึงสามารถใช้เคอร์เนล android12-5.4
ที่พัฒนาสำหรับ Android 12 บนอุปกรณ์ที่ใช้ Android 13 ได้อย่างปลอดภัย ความเข้ากันได้ได้รับการตรวจสอบผ่านการทดสอบ VTS และ CTS อย่างต่อเนื่องของเคอร์เนล GKI พร้อมรีลีสที่รองรับทั้งหมด
KMI มีความเสถียรเพื่อให้สามารถอัปเดตเคอร์เนลได้โดยไม่ต้องสร้างโมดูลเคอร์เนลใหม่ในอิมเมจผู้ขาย
ไม่มีการรักษาความเข้ากันได้ของ KMI ระหว่างเคอร์เนล GKI ที่แตกต่างกัน ตัวอย่างเช่น ไม่สามารถแทนที่ android12-5.10
ด้วยเคอร์เนล android13-5.10
โดยไม่ต้องสร้างโมดูลทั้งหมดใหม่
เคอร์เนล GKI ได้รับการสนับสนุนสำหรับการเผยแพร่ครั้งแรกและครั้งต่อๆ ไปเท่านั้น ไม่รองรับรุ่นที่เก่ากว่า ดังนั้นจึงไม่รองรับเคอร์เนล android13-5.10
บนอุปกรณ์ Android 12
เคอร์เนลดั้งเดิม
เคอร์เนลของหวานแบบดั้งเดิม ( *-q
และ *-stable
) ไม่สามารถใช้งานร่วมกับแพลตฟอร์ม Android รุ่นก่อนหน้าได้ แต่เคอร์เนลจากแพลตฟอร์ม Android สองรุ่นก่อนหน้านี้ได้รับการสนับสนุนสำหรับการอัปเกรด ดังนั้น อุปกรณ์ที่เปิดตัวด้วย Android 10 โดยใช้เคอร์เนลที่ใช้ android-4.19-q
จะสามารถใช้เคอร์เนล android-4.19-q
-4.19-q ต่อไปได้เมื่ออัปเกรดเป็น Android 2020 หรืออัปเดตรหัสเฉพาะของผู้จำหน่ายเพื่อรองรับ android-4.19-stable
.
เมทริกซ์ความเข้ากันได้
ตารางนี้แสดงเวอร์ชันเคอร์เนลที่รองรับและทดสอบกับแพลตฟอร์ม Android แต่ละรุ่น
การเปิดตัวแพลตฟอร์ม Android | เคอร์เนลที่รองรับสำหรับการอัพเกรด | เคอร์เนลที่รองรับสำหรับการเปิดตัว |
---|---|---|
แอนดรอยด์ 10 (2019) | android-3.18 (EOL)android-4.4-o (EOL)android-4.9-o (EOL)android-4.9-p (EOL)android-4.14-p (EOL) | android-4.9-q |
แอนดรอยด์ 11 (2020) | android-4.4-o (EOL)android-4.4-p (EOL)android-4.9-o (EOL)android-4.9-p (EOL)แอนดรอยด์-4.9-คิว android-4.14-p (EOL)android-4.14-q | android-4.14-stable |
แอนดรอยด์ 12 (2021) | android-4.9-o (EOL)android-4.9-p (EOL)android-4.9-q (EOL)android-4.14-q | android-4.19-stable |
แอนดรอยด์ 13 (2022) | android-4.9-q | android11-5.4 |
รองรับอายุการใช้งานและแพตช์ความปลอดภัย
เคอร์เนลทั่วไปของ Android ได้รับการสนับสนุนจนกว่าจะไม่รองรับเคอร์เนล LTS หรือแพลตฟอร์ม Android ที่เกี่ยวข้องอีกต่อไป ในขณะที่เคอร์เนลได้รับการสนับสนุน เคอร์เนลจะยังคงได้รับการผสาน LTS จากอัปสตรีมและการแก้ไขข้อบกพร่องสำหรับโค้ดเฉพาะของ Android การแก้ไขเหล่านี้รวมถึงแพตช์ความปลอดภัยของเคอร์เนลทั้งหมดที่อ้างถึงใน กระดานข่าวความปลอดภัยของ Android รายเดือนที่เกี่ยวข้องกับเคอร์เนลทั่วไปของ Android
พันธมิตรสามารถมั่นใจได้ว่าด้วยการผสานอย่างสม่ำเสมอจากเคอร์เนลทั่วไปของ Android พวกเขาจะได้รับแพตช์ความปลอดภัยเคอร์เนลทั้งหมดเท่าที่จะเป็นไปได้
การทดสอบเคอร์เนลทั่วไป
เมล็ดพืชทั่วไปได้รับการทดสอบกับระบบ CI หลายระบบ นอกเหนือจากการทดสอบดาวน์สตรีมโดยผู้ขาย
การทดสอบการทำงานของ Linaro Kernel
การทดสอบ Linaro Kernel Functional Testing (LKFT) เริ่มต้นชุดทดสอบต่างๆ รวมถึง kselftest, LTP, VTS และ CTS ในชุดอุปกรณ์ arm32 และ arm64 สามารถดูผลการทดสอบล่าสุดได้ ที่นี่
การทดสอบ KernelCI
การทดสอบการสร้างและบูต KernelCI จะเริ่มต้นขึ้นเมื่อใดก็ตามที่แพตช์ใหม่ถูกคอมมิตกับสาขาเคอร์เนลทั่วไป การกำหนดค่าบิลด์หลายร้อยรายการได้รับการทดสอบและบู๊ตบนบอร์ดต่างๆ สามารถดูผลลัพธ์ล่าสุดสำหรับเมล็ด Android ได้ ที่นี่
การทดสอบก่อนส่งและหลังส่งของ Android
การทดสอบก่อนส่งใช้เพื่อป้องกันความล้มเหลวจากการนำเข้าสู่เมล็ดพืชทั่วไป ผลลัพธ์ยังไม่เปิดเผยต่อสาธารณะในขณะนี้
การทดสอบหลังการส่งของ Android จะดำเนินการเมื่อมีการคอมมิตแพตช์ใหม่กับสาขาเคอร์เนลทั่วไป เมื่อป้อน aosp_kernel
เป็นชื่อสาขาบางส่วน คุณจะเห็นรายการสาขาเคอร์เนลพร้อมผลลัพธ์ ตัวอย่างเช่น สามารถดูผลลัพธ์สำหรับ android-mainline
ได้ ที่นี่
การทดสอบ 0 วัน
การทดสอบ แบบ 0 วันจะ ทำการทดสอบแพตช์ต่อแพตช์บนสาขาเคอร์เนลทั่วไปของ Android ทั้งหมดเมื่อมีการคอมมิตแพตช์ใหม่ มีการเรียกใช้การทดสอบการบู๊ต การทำงาน และประสิทธิภาพต่างๆ เข้าร่วมกลุ่มสาธารณะ ข้าม เคอร์เนล-สร้างรายงาน
เมทริกซ์ทดสอบ
เคอร์เนลทั่วไปของ Android | การเปิดตัวแพลตฟอร์ม Android | ชุดทดสอบ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ผู้เชี่ยวชาญ | 13 | 12 | 11 | 10 | 9 (พาย) | แอลเคเอฟที | เคอร์เนลCI | ก่อนส่ง | โพสต์ส่ง | 0 วัน | |
android-mainline | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android13-5.15 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android12-5.10 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android11-5.4 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
android-4.19-q | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | android-4.9-q | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
มีส่วนร่วมในเมล็ดสามัญของ Android
โดยทั่วไปแล้ว การพัฒนาฟีเจอร์ควรทำบน Linux แบบ mainline ไม่ใช่บนเคอร์เนลทั่วไปของ Android การพัฒนาต้นน้ำได้รับการสนับสนุนอย่างมาก และหลังจากยอมรับการพัฒนาแล้ว จะสามารถย้อนกลับไปที่สาขา ACK เฉพาะตามต้องการได้อย่างง่ายดาย ทีม Android Kernel ยินดีสนับสนุนการอัปสตรีมเพื่อประโยชน์ของระบบนิเวศ Android
ส่งแพตช์ไปที่ Gerrit และปฏิบัติตาม แนวทางการสนับสนุน เหล่านี้