Android 12 จะบังคับผู้ผลิตใช้เคอร์เนลเดียวกันหมด โมดูลของผู้ผลิตต้องแยกออกไป

by lew
25 September 2021 - 18:01

ปัญหาโทรศัพท์แอนดรอยด์ไม่ได้อัพเกรด หรืออัพเกรดช้าเป็นปัญหาเรื้อรังมายาวนาน และกูเกิลพยายามแก้ปัญหานี้อย่างต่อเนื่องในปีหลังๆ ที่งาน Linux Plumber ปีนี้ Todd Kjos ก็แถลงความคืบหน้าว่าโทรศัพท์ที่ใช้ Android 12 จะใช้เคอร์เนลแกนกลางเป็นอันเดียวกันทั้งหมดแล้ว

ที่ผ่านมาเคอร์เนลแอนดรอยด์นั้นถูกแพตช์จากเคอร์เนลลินุกซ์อย่างหนัก และเมื่อแอนดรอยด์ออกรุ่นใหม่ก็จะส่งเคอร์เนลนี้ไปให้ผู้ผลิตเพิ่มฟีเจอร์ต่างๆ ตามต้องการอีกครั้ง ทำให้เคอร์เนลที่รันอยู่ในโทรศัพท์จริงๆ ต่างจากเคอร์เนลในโครงการลินุกซ์อย่างมาก ทางแอนดรอยด์พยายามผลักดัน Generic Kernel Image (GKI( ที่เป็นไบนารีเคอร์เนลของกูเกิลเองมาตั้งแต่ Android 11 โดยบังคับว่าผู้ผลิตโทรศัพท์ที่ใช้ Android 11 ตั้งแต่แรกต้องทดสอบโทรศัพท์กับ GKI ก่อน ทำให้โทรศัพท์ใหม่ๆ ควรจะรันกับแอนดรอยด์ของกูเกิลได้แต่แรก ใน Android 12 นั้นกระบวนการรับรองจะบังคับว่าต้องใช้ GKI เท่านั้น

การใช้ GKI จะบังคับให้ผู้ผลิตโทรศัพท์ที่ต้องการใช้โมดูลเฉพาะต้องแยกโมดูลของตัวเองออกไป และเชื่อมต่อกับเคอร์เนลหลักทาง Kernel Module Interface (KMI) ไม่สามารถแพตช์เพิ่มฟีเจอร์เคอร์เนลได้เองตามใจชอบ กูเกิลดึงให้ผู้ผลิตใช้ KMI โดยยอมเพิ่ม hook ที่ผู้ผลิตทำกันเองเข้ามาอยู่ใน GKI กว่า 300 รายการ

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

ที่มา - ArsTechnica, YouTube: Linux Plumber 2021

Blognone Jobs Premium