谷歌將繼續在主要 Linux 核心中為 Android 開發創新

在 Linux Plumbers 2021 會議上,Google談到了將 Android 平台過渡到使用常規 Linux 核心而不是使用自己版本的核心的舉措所取得的成功,其中包括針對 Android 平台的特定更改。

開發過程中最重要的變化是決定在2023 年後切換到「上游優先」模式,這意味著Android 平台所需的所有新核心功能將直接在主Linux 核心中開發,而不是在自己的單獨分支中開發(功能將首先提升到主內核,然後在 Android 中使用,反之則不然)。還計劃於 2023 年和 2024 年將 Android 通用核心分支中剩餘的所有附加補丁轉移到主核心。

在不久的將來,預計 12 月初發布的 Android 5.10 平台將提供「通用核心映像」(GKI) 核心元件,盡可能接近常規 XNUMX 核心。對於這些版本,將提供定期更新版本,並將其發佈在 ci.android.com 儲存庫中。在 GKI 核心中,Android 平台特定的新增內容以及來自 OEM 的與硬體支援相關的處理程序都放置在單獨的核心模組中。這些模組不與主核心的版本綁定,可以單獨開發,這大大簡化了設備到新核心分支的維護和過渡。

谷歌將繼續在主要 Linux 核心中為 Android 開發創新

設備製造商所需的介面以鉤子的形式實現,它允許您在不更改程式碼的情況下更改核心的行為。總的來說,android12-5.10 核心提供了 194 個常規鉤子(類似於追蹤點)和 107 個專用鉤子(允許您在非原子上下文中運行處理程序)。在GKI核心中,禁止硬體製造商對主核心打特定的補丁,硬體支援元件只能由廠商以附加核心模組的形式提供,並且必須確保與主核心的兼容性。

讓我們回想一下,Android 平台正在開發自己的內核分支 - Android 通用內核,在此基礎上為每個裝置形成單獨的特定組件。 Android 的每個分支都為製造商提供了多種裝置核心佈局選項。例如,Android 11 提供了三種基本核心的選擇 - 4.14、4.19 和 5.4,Android 12 將提供基本核心 4.19、5.4 和 5.10。選項 5.10 被設計為通用核心映像,其中 OEM 所需的功能被轉移到上游、放置在模組中或轉移到 Android 通用核心。

在 GKI 出現之前,Android 核心經歷了幾個準備階段:

  • 基於主要的LTS核心(3.18、4.4、4.9、4.14、4.19、5.4),創建了「Android Common Kernel」的一個分支,將Android專用的修補程式轉移到該分支(先前的變更大小達到了數百萬行) )。
  • 基於“Android通用內核”,高通、三星和聯發科等晶片製造商形成了“SoC內核”,其中包括支援硬體的附加元件。
  • 基於 SoC 內核,設備製造商創建了設備內核,其中包括與支援附加設備、螢幕、相機、音響系統等相關的變更。

這種方法使消除漏洞的更新實施和向新核心分支的過渡變得非常複雜。儘管Google定期發布其 Android 核心(Android 通用核心)的更新,但供應商通常會緩慢地提​​供這些更新,或者通常在裝置的整個生命週期中使用相同的核心。



來源: opennet.ru

添加評論