安卓内核编译+驱动编译+打包成boot刷入
本文最后更新于 2025年2月7日 下午
编译安卓内核需要需要对应设备的内核源码,安卓手机的内核源码一般可以在github上面搜索到或者在google内核开放网址:https://android.googlesource.com/kernel/manifest,如果机型较新,可能没有对应的内核源码。
编译操作系统:Ubuntu-22.04
我们本次编译的安卓内核以common-android13-5.15为例,也是通用的编译方法
安装依赖:
1 |
|
下载安卓内核源代码和构建工具
对于最新的内核,可以使用 repo 下载源代码、工具链和构建脚本。一些内核(例如 Pixel 3 内核)需要从多个 git 仓库获取源代码,而其他内核(如通用内核)只需要一份源代码。使用 repo 方法可确保源目录设置正确。
下载相应分支的源代码:
1 |
|
1 |
|
如果无法连接谷歌,可以尝试清华大学镜像源AOSP
1 |
|
下载安卓内核驱动源码rwProcMem33
1 |
|
1 |
|
驱动放到内核源码根目录下的的drivers目录下, 修改rwProcMem33驱动的Makefile文件(drivers/rwProcMem/Makefile)为
1 |
|
将drivers目录下的Makefile文件(drivers/Makefile)加一行
1 |
|
以驱动模块加载
修改驱动源代码
1 |
|
开启53行宏定义,将54行给注释掉
开始编译
在内核源代码根目录执行开始编译
1 |
|
这里需要比较长的时间
启动映像位于 out/android13-5.15/dist/boot.img
驱动模块位于 out/android13-5.15/common/drivers/rwProcMem/rwProcMem.ko
安卓内核编译+驱动编译+打包成boot刷入
https://blog.stariverfeel.eu.org/posts/27a87966.html