Google akan bergerak mengembangkan inovasi untuk Android pada kernel utama Linux

Pada konferensi Linux Plumbers 2021, Google berbicara tentang keberhasilan inisiatifnya dalam mentransisikan platform Android untuk menggunakan kernel Linux biasa daripada menggunakan versi kernelnya sendiri, yang mencakup perubahan khusus untuk platform Android.

Perubahan paling penting dalam pengembangan adalah keputusan untuk beralih setelah tahun 2023 ke model “Upstream First”, yang berarti pengembangan semua fitur kernel baru yang diperlukan dalam platform Android langsung di kernel Linux utama, dan bukan di cabang masing-masing ( fungsionalitas pertama-tama akan dipromosikan ke kernel utama, dan kemudian digunakan di Android, dan bukan sebaliknya). Direncanakan juga untuk mentransfer semua patch tambahan yang tersisa di cabang Android Common Kernel ke kernel utama pada tahun 2023 dan 2024.

Dalam waktu dekat, untuk platform Android 12 yang diharapkan pada awal Oktober, rakitan kernel “Generic Kernel Image” (GKI) akan ditawarkan, sedekat mungkin dengan kernel 5.10 biasa. Untuk build ini, rilis pembaruan rutin akan disediakan, yang akan diposting di repositori ci.android.com. Di kernel GKI, penambahan khusus platform Android, serta penangan terkait dukungan perangkat keras dari OEM, ditempatkan di modul kernel terpisah. Modul-modul ini tidak terikat dengan versi kernel utama dan dapat dikembangkan secara terpisah, yang sangat menyederhanakan pemeliharaan dan transisi perangkat ke cabang kernel baru.

Google akan bergerak mengembangkan inovasi untuk Android pada kernel utama Linux

Antarmuka yang dibutuhkan oleh produsen perangkat diimplementasikan dalam bentuk kait, yang memungkinkan Anda mengubah perilaku kernel tanpa membuat perubahan pada kode. Secara total, kernel Android12-5.10 menawarkan 194 hook reguler, mirip dengan tracepoint, dan 107 hook khusus yang memungkinkan Anda menjalankan handler dalam konteks non-atomik. Pada kernel GKI, produsen perangkat keras dilarang menerapkan patch tertentu pada kernel utama, dan komponen pendukung perangkat keras harus disediakan oleh vendor hanya dalam bentuk modul kernel tambahan, yang harus menjamin kompatibilitas dengan kernel utama.

Ingatlah bahwa platform Android sedang mengembangkan cabang kernelnya sendiri - Android Common Kernel, yang menjadi dasar pembentukan rakitan spesifik yang terpisah untuk setiap perangkat. Setiap cabang Android memberi produsen beberapa pilihan tata letak kernel untuk perangkat mereka. Misalnya, Android 11 menawarkan tiga pilihan kernel dasar - 4.14, 4.19, dan 5.4, dan Android 12 akan menawarkan kernel dasar 4.19, 5.4, dan 5.10. Opsi 5.10 dirancang sebagai Gambar Kernel Generik, yang mana kemampuan yang diperlukan untuk OEM ditransfer ke upstream, ditempatkan dalam modul, atau ditransfer ke Android Common Kernel.

Sebelum munculnya GKI, kernel Android melewati beberapa tahap persiapan:

  • Berdasarkan kernel LTS utama (3.18, 4.4, 4.9, 4.14, 4.19, 5.4), cabang dari "Android Common Kernel" telah dibuat, di mana patch khusus Android ditransfer (sebelumnya ukuran perubahan mencapai beberapa juta baris ).
  • Berdasarkan "Android Common Kernel", pembuat chip seperti Qualcomm, Samsung dan MediaTek membentuk "SoC Kernel" yang menyertakan add-on untuk mendukung perangkat keras.
  • Berdasarkan Kernel SoC, produsen perangkat membuat Kernel Perangkat, yang mencakup perubahan terkait dukungan peralatan tambahan, layar, kamera, sistem suara, dll.

Pendekatan ini secara signifikan mempersulit penerapan pembaruan untuk menghilangkan kerentanan dan transisi ke cabang kernel baru. Meskipun Google secara teratur merilis pembaruan untuk kernel Android-nya (Android Common Kernel), vendor sering kali lambat dalam memberikan pembaruan ini atau umumnya menggunakan kernel yang sama di seluruh siklus hidup perangkat.



Sumber: opennet.ru

Tambah komentar