谷歌正致力于在 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。 在某种程度上,谷歌试图通过推广该系统来简化维护 三重,允许制造商创建通用硬件支持组件,这些组件与所使用的特定 Android 版本和 Linux 内核版本无关。 Treble 可以使用 Google 的现成更新作为基础,将特定于特定设备的组件集成到其中。


来源: opennet.ru

添加评论