V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
SmaliYu
V2EX  ›  问与答

能否为 Pixel7A 编译 6.1 版本的 Android 内核,以及目前 AndroidKernel 仓库的相关问题

  •  1
     
  •   SmaliYu · 50 天前 · 588 次点击
    这是一个创建于 50 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前两天编译了 Pixel7A 最新的的 AOSP(AP2A.240705),里面 prebuild 预置了 5.10.198 版本的 Android Kernel 。我想试试 6.1 版本的内核,但是文档里只提供了 android-gs-lynx-5.10-android14-qpr3 分支源码,编译出来的也是 5.10.198 版本。

    看到最近的 Android 大版本中使用了 GKI 镜像,这个 GKI 在整体开发流程上不是特别清楚。我个人的理解是,以后的纯 kernel 代码基本就交给 Google 这边维护了,芯片厂和代工厂通过 GKI 抽象出来的 KMI 进行适配和开发,这些和 kernel 解耦的代码,放到 vendor_boot.img 。不知道以上对 GKI 的理解有没有问题。

    不过我还是想提出一些我的问题:

    1. 我应该如何让我的 Pixel7A 运行上 6.1 的内核?
    2. 现在 google 内核仓库里有很多 common-开头的分支,比如 common-android14-6.1 ,这种 common 分支是用来做什么的,我用 Kleaf 构建完,得到了 boot.img ,但是 fastboot boot boot.img 启动不了,这是为什么?
    3. 按照 google 预置的和开源出来的 Pixel7A ( 5.10.198 )版本的,里面有两份 kernel 源码,一份放在 aosp 文件夹,一份放在 private/gs-google 目录下,为什么要搞两份代码?这两份代码均可以编译,而且确实是相互独立的两份(已经打 log 测试)
    BUILD_CONFIG=aosp/build.config.gki.aarch64 build/build.sh
    
    BUILD_CONFIG=private/gs-google/build.config.gki.aarch64 build/build.sh
    
    5 条回复    2024-08-05 11:19:18 +08:00
    pagxir
        1
    pagxir  
       49 天前 via Android
    你的有适配 6.1 的设备树。不同版本的 kernel 设备树不尽相同,这个是 arm 不如 x86 的地方
    SmaliYu
        2
    SmaliYu  
    OP
       49 天前
    @pagxir 能不能详细说下关于 Pixel7a 设备树相关的信息,我去看看
    FranzKafka95
        3
    FranzKafka95  
       49 天前
    common 分支是基础镜像,是给各个 ODM 厂商适配时的 base ,一般 ODM 厂商/Vendor 厂商会基于这个 base 去适配设备,如果你要更新最新版本的内核,涉及到的绝对不是设备树( DTS/DTB )这一点,很多 Driver 相关的修改可能也会涉及。
    SmaliYu
        4
    SmaliYu  
    OP
       49 天前
    @FranzKafka95 就是简单来说,我基本上无法自己为设备更新内核,即使是相对开放的 Pixel7a
    FranzKafka95
        5
    FranzKafka95  
       49 天前
    @SmaliYu 如果你能拿到之前的设备树信息,配合改改,驱动也没什么大的变化还是有可能的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3170 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 463ms · UTC 11:29 · PVG 19:29 · LAX 04:29 · JFK 07:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.