谷歌正致力於在 Android 中使用常規 Linux 內核

在上一屆 Linux Plumbers 2019 大會上,Google 他告訴 關於發展 倡議 關於將 Linux 核心中開發的變更轉移到主 Linux 內核 核心版本 適用於Android平台。 最終目標是允許 Android 使用一個通用內核,而不是基於 Android 特定分支為每個設備準備單獨的構建 Android通用內核。 這一目標已經部分實現,小米 Poco F1 Android 智慧型手機在大會上展示了其韌體基於通常未修改的 Linux 核心。

一旦專案準備就緒,供應商將被要求提供基於主要 Linux 核心的基礎核心。 供應商將僅以附加核心模組的形式提供硬體支援元件,而不對核心應用補丁。 模組需要在核心符號命名空間層級與主核心相容。 所有影響主核心的變更都會被提升到上游。 為了保持與 LTS 分支內專有模組的兼容性,建議以穩定的形式維護核心 API 和 ABI,這將保持模組與每個公共核心分支的更新的兼容性。

谷歌正致力於在 Android 中使用常規 Linux 內核

在一年的時間裡,PSI(壓力失速信息)子系統用於分析獲取各種資源(CPU、內存、I/O)的等待時間信息,以及用於進程間通信的 BinderFS 偽文件系統等功能機制從Android內核版本轉移到了Linux主內核,Binder和節能任務調度器EAS(Energy Aware Scheduling)。 未來,Android計畫從特定的SchedTune調度程序轉移到ARM開發的新的UtilClamp子系統,基於cgroups2和標準核心機制。

谷歌正致力於在 Android 中使用常規 Linux 內核

讓我們回想一下,到目前為止,Android 平台的核心已經經歷了幾個準備階段:

  • 基於主要的 LTS 核心(3.18、4.4、4.9 和 4.14),創建了“Android Common Kernel”的一個分支,將 Android 特定的補丁轉移到其中(之前更改的大小達到了幾百萬行,但最近更改已減少到數千行程式碼)。
  • 基於“Android通用內核”,高通等晶片製造商形成了“SoC內核”,其中包括支援硬體的附加元件。
  • 基於 SoC 內核,設備製造商創建了設備內核,其中包括與支援附加設備、螢幕、相機、音響系統等相關的變更。

谷歌正致力於在 Android 中使用常規 Linux 內核

本質上,每個設備都有自己的內核,不能在其他設備上使用。 該方案使消除漏洞的更新實施以及向新核心分支的過渡變得非常複雜。 例如,4 月發布的最新 Pixel 4.14 智慧型手機搭載了兩年前發布的 Linux 核心 XNUMX。 在某種程度上,Google試圖透過推廣該系統來簡化維護 三重,允許製造商創建通用硬體支援元件,這些元件與所使用的特定 Android 版本和 Linux 核心版本無關。 Treble 可以使用 Google 的現成更新作為基礎,將特定於特定裝置的元件整合到其中。


來源: opennet.ru

添加評論