mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-25 23:11:02 +08:00
PRF
This commit is contained in:
parent
0b89fd132d
commit
a46237a6e7
@ -1,6 +1,6 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (wxy)
|
||||
[#]: reviewer: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Google to Add Mainline Linux Kernel Support to Android)
|
||||
@ -10,21 +10,21 @@
|
||||
谷歌为安卓添加主线 Linux 内核支持
|
||||
======
|
||||
|
||||
当前的安卓生态系统被数百种不同版本的安卓所污染,每种版本都运行 Linux 内核的不同变体。每个版本均针对不同的手机和不同的配置而设计。 谷歌一直在通过将主线 Linux 内核添加到安卓来解决该问题。
|
||||
当前的安卓生态系统被数百种不同版本的安卓所污染,每种版本都运行着 Linux 内核的不同变体。每个版本均针对不同的手机和不同的配置而设计。谷歌试图通过将主线 Linux 内核添加到安卓来解决该问题。
|
||||
|
||||
### 当前在安卓中是如何处理 Linux 内核的
|
||||
|
||||
在到达你的手机之前,你手机上的 Linux 内核经历了[三个主要步骤][1]。
|
||||
|
||||
首先,谷歌采用了 Linux 内核的 LTS(长期支持)版本,并添加了所有安卓专用代码。这成为“安卓通用内核”。
|
||||
首先,谷歌采用了 Linux 内核的 LTS(长期支持)版本,并添加了所有的安卓专用代码。这将成为“安卓通用内核”。
|
||||
|
||||
然后,谷歌将此代码发送给创建可运行手机的片上系统(SoC)的公司。这通常是高通公司。
|
||||
然后,谷歌将此代码发送给创建可运行在手机的片上系统(SoC)的公司。这通常是高通公司。
|
||||
|
||||
SoC 制造商添加了支持 CPU 和其他芯片的代码后,便会将该内核传递给实际的设备制造商,例如三星和摩托罗拉。然后,设备制造商添加代码以支持手机的其余部分,例如显示屏和摄像头。
|
||||
|
||||
每个步骤都需要一段时间才能完成,并且会导致内核无法与其他任何设备一起使用。这也意味着该内核会非常旧,通常是大约两年前的。例如,上个月交付的谷歌 Pixel 4 带有来自 2017 年 11 月的内核,而且它将永远不会更新。
|
||||
每个步骤都需要一段时间才能完成,并且会导致该内核无法与其他任何设备一起使用。这也意味着内核会非常旧,通常是大约两年前的内核。例如,上个月交付的谷歌 Pixel 4 带有来自 2017 年 11 月的内核,而且它将永远不会得到更新。
|
||||
|
||||
谷歌承诺会为较旧的设备创建安全补丁,这意味着它们会一直盯着大量的旧代码。
|
||||
谷歌承诺会为较旧的设备创建安全补丁,这意味着他们会一直盯着大量的旧代码。
|
||||
|
||||
### 将来
|
||||
|
||||
@ -32,31 +32,31 @@ SoC 制造商添加了支持 CPU 和其他芯片的代码后,便会将该内
|
||||
|
||||
去年,谷歌宣布[计划][3]解决此问题。今年,他们在 2019 Linux Plumbers Conference 上展示了他们取得的进展。
|
||||
|
||||
> “我们知道运行安卓需要什么,但不一定要在任何给定的硬件上运行。因此,我们的目标是从根本上找出所有这些问题,然后将其交给上游,并尝试尽可能接近主线。”
|
||||
> “我们知道运行安卓需要什么,但不一定是在任何给定的硬件上。因此,我们的目标是从根本上找出所有这些,然后将其交给上游,并尝试尽可能接近主线。”
|
||||
>
|
||||
> Sandeep Patil,[安卓内核团队负责人][1]
|
||||
|
||||
他们确实炫耀了运行带有适当的 Linux 内核的站的小米 Poco F1。但是,有些事情[似乎没有起作用][4],例如电池电量百分比保持在 0%。
|
||||
他们确实炫耀了运行带有合适的 Linux 内核的小米 Poco F1。但是,有些东西[似乎没有工作][4],例如电池电量百分比一直留在 0%。
|
||||
|
||||
那么,谷歌计划如何使其工作呢?从他们的 [Treble 项目][5]剧本中摘录。在 Treble 项目之前,与设备和安卓本身交互的底层代码是一大堆代码。Treble 项目将两者分开,并使它们模块化,以便可以更快地交付安卓更新,并且在两次更新之间,低级代码可以保持不变。
|
||||
那么,谷歌计划如何使其工作呢?从他们的 [Treble 项目][5]计划中摘录。在 Treble 项目之前,与设备和安卓本身交互的底层代码是一大堆代码。Treble 项目将两者分开,并使它们模块化,以便可以更快地交付安卓更新,并且在更新时,这些低级代码可以保持不变。
|
||||
|
||||
谷歌希望为内核带来相同的模块化。他们的[计划][1]“涉及稳定 Linux 的内核 ABI,并为 Linux 内核和硬件供应商提供稳定的接口来进行写入。谷歌希望将 Linux 内核与其硬件支持脱钩。”
|
||||
谷歌希望为内核带来同样的模块化。他们的[计划][1]“涉及稳定 Linux 的内核 ABI,并为 Linux 内核和硬件供应商提供稳定的接口来进行写入。谷歌希望将 Linux 内核与其硬件支持脱钩。”
|
||||
|
||||
因此,这意味着谷歌将交付一个内核,而硬件驱动程序将作为内核模块加载。目前,这只是一个草案。仍然有很多技术问题需要解决。因此,这不会很快发生。
|
||||
因此,这意味着谷歌将交付一个内核,而硬件驱动程序将作为内核模块加载。目前,这只是一个草案。仍然有很多技术问题有待解决。因此,这不会很快有结果。
|
||||
|
||||
### 来自开源的反对意见
|
||||
|
||||
开源社区不会对将专有代码放入内核的想法感到满意。[Linux 内核准则][6]指出,驱动程序必须具有 GPL 许可证才能包含在内核中。他们还指出,如果驱动程序的更改导致错误,则由创建错误的人来解决。从长远来看,这意味着设备制造商的工作量将减少。
|
||||
开源社区不会对将专有代码放入内核的想法感到满意。[Linux 内核准则][6]指出,驱动程序必须具有 GPL 许可证才能包含在内核中。他们还指出,如果驱动程序的更改导致错误,应由导致该错误的人来解决。从长远来看,这意味着设备制造商的工作量将减少。
|
||||
|
||||
### 关于将主线内核包含到安卓中的最终想法
|
||||
|
||||
到目前为止,这只是一个建议。谷歌有很大的可能会开始做该项目,除非他们意识到这将需要多少工作后才会放弃。看看谷歌[已经放弃][7]了多少个项目。
|
||||
到目前为止,这只是一个草案。谷歌有很大的可能会开始进行该项目,除非他们意识到这将需要多少工作后才会放弃。看看谷歌[已经放弃][7]了多少个项目!
|
||||
|
||||
[Android Police][4] 有个很好的观点,提到了谷歌正在开发其 [Fuchsia 操作系统][8],这似乎是有一天要取代谷歌的目标。
|
||||
[Android Police][4] 指出谷歌正在开发其 [Fuchsia 操作系统][8],这似乎是为了有一天取代谷歌。
|
||||
|
||||
那么,问题是谷歌会尝试完成哪些艰巨的任务,使安卓以主线 Linux 内核运行,或者完成他们统一的安卓替代产品的工作?只有时间可以回答。
|
||||
那么,问题是谷歌会尝试完成那些艰巨的任务,使安卓以主线 Linux 内核运行,还是完成他们统一的安卓替代产品的工作?只有时间可以回答。
|
||||
|
||||
你对此主题有何看法?请在下面的评论中告诉我们。
|
||||
你对此话题有何看法?请在下面的评论中告诉我们。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -65,7 +65,7 @@ via: https://itsfoss.com/mainline-linux-kernel-android/
|
||||
作者:[John Paul][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user