编译安卓自定义 kernel

 · 0 分钟
Last updated: 2022-01-22

动机

Oneplus 7 一个很玄学的 kernel patch, 修复了一些 问题(某些有充电功能的转接头), 引入了一些新的问题(PD快充无法正常使用), 想尝试解决经 经验证原因不是这个, 官方内部修复了但一直没有公布源码 (no more oneplus!)

  • 编译工具链一定要和源代码匹配! 否则无法顺利编译!
    • 一定不要吝啬询问开发者或搜索群组信息!
  • 比较好的 编译教程1 编译教程2
  • 新版GCC让部分代码编译不过, 可以看这个 帖子 经确认不是这个问题, 毕竟用的是 clang

测试内核

out/arch/arm64/boot/ 下找到 Image.gz-dtb , 这就是我们用来测试的内核文件.

手机重启进入 bootloader, 执行下面的指令, 再把手机插电脑上, 手机就会用这个新内核启动啦.

fastboot boot Image.gz-dtb

但是我没有启动成功! Fall back 原装 kernel!

补充

无, 毕竟首要目标没能达成, 暂时也没有开发内核的精力