V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
noahhhh
V2EX  ›  Android

Google plans to bring Android's kernel closer to the Linux upstream

  •  
  •   noahhhh · 21 天前 via Android · 1442 次点击
    5 条回复    2021-09-26 23:16:32 +08:00
    cxh116
        1
    cxh116   21 天前 via Android
    没啥变化,你现在用的也是 linux kernel 。只是后面更新 kernel 更加快些而已。
    Kimen
        2
    Kimen   21 天前
    第一台?我记得小米和魅族之前都能刷 Ubuntu 啊
    krixaar
        3
    krixaar   21 天前
    Meego 和 Sailfish OS 就这么没排面?
    noahhhh
        4
    noahhhh   21 天前 via Android
    @krixaar 离“可用”差太多了,旗鱼到现在都不支持 VoLTE 和 5G,qt 也万年不更新。
    jjpprrrr
        5
    jjpprrrr   21 天前   ❤️ 2
    这个标题其实不太准确,GKI 说实话只是强制 vendor 把所有改动都模块化,使用谷歌弄出来的统一的 KMI (Kernel Module Interface) 接口挂载。

    KMI 的一个问题就是,为了保证 vendor 的内核模块能正常挂载,KMI 必须保持稳定。这就导致了一个问题,linux 主线内核是没有维持 KMI 不变这个要求的,所以在谷歌的 GKI 内核里,一些情况下主线和上游的补丁如果不小心造成了 KMI 的改变,反而不能直接合并,必须用别的方式移植或者魔改,这个问题谷歌在去年的 LPC 会议上也提到了。从这个层面来说,GKI 反而离上游更远了,因为 vendor 是面对 KMI 开发,而不是想办法把自己的改动直接合并进上游主线。

    对于 vendor 来说,一切开发的目的都是为了发布和更新产品,所以只要谷歌不强制 vendor 去把改动合并入上游 linux 内核,vendor 自己是没有动力去做这件事的。的确,GKI 从某种意义上,至少避免了很多 vendor 魔改通用的内核部分代码,让大家都用同一套 GKI 的东西。但是,我个人觉得这种事情意义有限。GKI 其实是 Treble 的一种延申,Treble 把 system 和 vendor 分离,搞出了 GSI (Generic System Image),并且通过 VTS/CTS 之类的让 vendor 的东西“理论上”能启动 GSI 。但是从 Oreo 到现在三四年过去了,也没有哪个 vendor 会真正在发布的产品内用 GSI,我记得之前小米的工程师也抱怨过,升级大版本,说好的 Treble 的一些接口不变,该重新写代码还是要重写写。只要谷歌还在对 vendor 做类似的妥协,GKI 内核几年后也会是这个样子。
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1007 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 19:20 · PVG 03:20 · LAX 12:20 · JFK 15:20
    ♥ Do have faith in what you're doing.