ภาพรวมเคอร์เนล

เคอร์เนล Android อิงตามอัปสตรีม เคอร์เนลที่รองรับระยะยาว (LTS) ของ Linux ที่ Google, LTS เคอร์เนลจะรวมเข้ากับแพตช์เฉพาะสำหรับ Android เพื่อสร้างสิ่งที่เรียกว่า เคอร์เนลทั่วไปของ Android (ACK)

ACK รุ่นใหม่ (เวอร์ชัน 5.4 ขึ้นไป) เรียกอีกอย่างว่าเคอร์เนล GKI เคอร์เนล GKI รองรับฟังก์ชัน การแยกโค้ดเคอร์เนลหลักทั่วไปซึ่งไม่ขึ้นอยู่กับฮาร์ดแวร์และ โมดูล GKI จาก เฉพาะฮาร์ดแวร์ โมดูลของผู้ให้บริการ

เคอร์เนล GKI จะโต้ตอบกับโมดูลผู้ให้บริการเฉพาะฮาร์ดแวร์ซึ่งมีระบบใน ชิป (SoC) และโค้ดเฉพาะกระดาน การโต้ตอบระหว่างเคอร์เนล GKI และโมดูลผู้ให้บริการ เปิดใช้งานโดย Kernel Module Interface (KMI) ซึ่งประกอบด้วยรายการสัญลักษณ์ที่ระบุถึง และข้อมูลทั่วโลกที่โมดูลผู้ให้บริการต้องใช้ รูปที่ 1 แสดงเคอร์เนลและผู้ให้บริการ GKI สถาปัตยกรรมโมดูล:

สถาปัตยกรรม GKI
รูปที่ 1. สถาปัตยกรรม GKI

อภิธานศัพท์ของเคอร์เนล

ส่วนนี้ประกอบด้วยคำที่ใช้ทั่วทั้งเอกสารประกอบของเคอร์เนล

ประเภทเคอร์เนล

เคอร์เนลทั่วไปใน Android (ACK)
เคอร์เนลที่เป็นดาวน์สตรีมของเคอร์เนล LTS และมีแพตช์ที่น่าสนใจสำหรับ Android ชุมชนที่ยังไม่ได้ผสานรวมเข้ากับเคอร์เนลหลักของ Linux หรือการสนับสนุนระยะยาว (LTS) ACK ใหม่ (เวอร์ชัน 5.4 ขึ้นไป) เรียกอีกอย่างว่าเคอร์เนล GKI เนื่องจากรองรับ การแยกรหัสเคอร์เนลทั่วไปและโมดูล GKI ที่ไม่ขึ้นอยู่กับฮาร์ดแวร์
เคอร์เนลโครงการโอเพนซอร์ส Android (AOSP)
ดูเคอร์เนลทั่วไปของ Android
ฟีเจอร์เคอร์เนล
เคอร์เนลที่มีการรับประกันว่าจะใช้ฟีเจอร์การเผยแพร่ของแพลตฟอร์มได้ สำหรับ ตัวอย่างเช่น ใน Android 12 เคอร์เนลฟีเจอร์ 2 รายการคือ android12-5.4 และ android12-5.10 ฟีเจอร์ของ Android 12 ไม่สามารถพอร์ตไปยังเคอร์เนล 4.19 ได้ ชุดฟีเจอร์จะคล้ายกัน ไปยังอุปกรณ์ที่เปิดตัวด้วย 4.19 ใน Android 11 และอัปเกรดเป็น Android 12
เคอร์เนลแกนทั่วไป
ส่วนของเคอร์เนล GKI ที่ใช้กันทั่วไปในอุปกรณ์ทั้งหมด
เคอร์เนลทั่วไปสำหรับอิมเมจเคอร์เนล (GKI)
เคอร์เนล ACK ใดๆ ที่ใหม่กว่า (5.4 ขึ้นไป) (ปัจจุบันเป็น aArc64 เท่านั้น) ช่วงเวลานี้ เคอร์เนลมี 2 ส่วน ได้แก่ เคอร์เนล GKI หลักที่มีโค้ดเหมือนกันในอุปกรณ์ทั้งหมดและโมดูล GKI ที่พัฒนาโดย Google ซึ่งสามารถโหลดแบบไดนามิกบนอุปกรณ์ได้ หากมี
เคอร์เนล Kernel Module Interface (KMI)
ดูเคอร์เนล GKI
เปิดเคอร์เนล
เคอร์เนลที่ใช้ในการเปิดตัวอุปกรณ์สำหรับแพลตฟอร์ม Android รุ่นนั้นๆ ได้ สำหรับ เช่น ใน Android 12 เคอร์เนลการเปิดตัวที่ถูกต้องคือ 4.19, 5.4 และ 5.10
เคอร์เนลที่รองรับระยะยาว (LTS)
เคอร์เนลของ Linux ที่รองรับ 2-6 ปี LTS เคอร์เนลจะเผยแพร่ปีละครั้ง และเป็นพื้นฐานสำหรับแต่ละ ACK ของ Google

ประเภทสาขา

ACK KMI สาขาเคอร์เนล
Branch ที่สร้างเคอร์เนล GKI เช่น android12-5.10 และ android13-5.15
เมนไลน์ Android
สาขาการพัฒนาหลักสำหรับฟีเจอร์ของ Android เมื่อ LTS ใหม่ มีการประกาศเคอร์เนลเป็นอัปสตรีม เคอร์เนล GKI ใหม่ที่เกี่ยวข้องคือ แยกออกจาก android-mainline
เมนไลน์ Linux
สาขาการพัฒนาหลักสำหรับเคอร์เนลอัปสตรีมของ Linux รวมถึงเคอร์เนล LTS

คำศัพท์อื่นๆ

อิมเมจการเปิดเครื่องที่ได้รับการรับรอง
เคอร์เนลนำส่งในรูปแบบไบนารี (boot.img) และกะพริบบนอุปกรณ์ รูปภาพนี้ได้รับการรับรองในลักษณะที่มีใบรับรองแบบฝังเพื่อให้ Google ดำเนินการต่อไปนี้ได้ ตรวจสอบว่าอุปกรณ์จัดส่งโดยใช้เคอร์เนลที่ผ่านการรับรองจาก Google
โมดูลเคอร์เนลที่โหลดแบบไดนามิกได้ (DLKM)
โมดูลที่โหลดแบบไดนามิกได้ระหว่างการบูตอุปกรณ์ตามความต้องการของ อุปกรณ์ GKI และโมดูลผู้ให้บริการเป็น DLKM ทั้ง 2 ประเภท DLKM วางจำหน่ายแล้วใน .ko อาจเป็นไดรเวอร์หรือสามารถนำส่งฟังก์ชันการทำงานอื่นๆ ของเคอร์เนลได้
โปรเจ็กต์ GKI
โปรเจ็กต์ Google ที่จัดการการกระจายตัวของเคอร์เนลด้วยการแยกเคอร์เนลหลักทั่วไป ฟังก์ชันจากการสนับสนุนเฉพาะผู้ให้บริการและคณะกรรมการเป็นโมดูลที่โหลดได้
อิมเมจเคอร์เนลทั่วไป (GKI)
อิมเมจการเปิดเครื่องที่ Google รับรองซึ่งมีเคอร์เนล GKI สร้างขึ้น แผนผังต้นทาง ACK และเหมาะสำหรับการแฟลชพาร์ติชันการเปิดเครื่องของ อุปกรณ์ Android
กม.
อินเทอร์เฟซระหว่างเคอร์เนล GKI และโมดูลผู้ให้บริการที่ช่วยให้ผู้ให้บริการ โมดูลนี้จะได้รับการอัปเดตโดยไม่ขึ้นอยู่กับเคอร์เนล GKI อินเทอร์เฟซนี้ประกอบด้วยเคอร์เนล และข้อมูลทั่วโลกที่พบว่าเป็นทรัพยากร Dependency ของผู้ให้บริการ/OEM โดยใช้ รายการสัญลักษณ์ต่อพาร์ทเนอร์
โมดูล GKI
โมดูลเคอร์เนลที่ Google สร้างขึ้นซึ่งโหลดแบบไดนามิกในอุปกรณ์ที่เกี่ยวข้องได้ โมดูลเหล่านี้สร้างขึ้นเป็นอาร์ติแฟกต์ของเคอร์เนล GKI และนำส่ง ควบคู่ไปกับ GKI เป็นที่เก็บถาวร system_dlkm_staging_archive.tar.gz โมดูล GKI ลงนามโดย Google โดยใช้คู่คีย์เวลาบิลด์เคอร์เนลและใช้ได้กับ GKI เท่านั้น เคอร์เนลในตัวได้อีกด้วย
โมดูลผู้ให้บริการ
โมดูลเฉพาะฮาร์ดแวร์ที่พัฒนาโดยพาร์ทเนอร์และมี SoC และอุปกรณ์เฉพาะ โมดูลผู้ให้บริการเป็นโมดูลเคอร์เนลที่โหลดแบบไดนามิกได้

สิ่งต่อไปที่ควรทำ