安卓内核编译+驱动编译+打包成boot刷入

安卓内核编译+驱动编译+打包成boot刷入

编译安卓内核需要需要对应设备的内核源码,安卓手机的内核源码一般可以在github上面搜索到或者在google内核开放网址:https://android.googlesource.com/kernel/manifest,如果机型较新,可能没有对应的内核源码。

编译操作系统:Ubuntu-22.04

我们本次编译的安卓内核以common-android13-5.15为例,也是通用的编译方法

安装依赖:

1sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig dwarves

下载安卓内核源代码和构建工具

对于最新的内核,可以使用 repo 下载源代码、工具链和构建脚本。一些内核(例如 Pixel 3 内核)需要从多个 git 仓库获取源代码,而其他内核(如通用内核)只需要一份源代码。使用 repo 方法可确保源目录设置正确。

下载相应分支的源代码:

12#创建内核根目录并进入mkdir android-kernel && cd android-kernel

12#初始化common-android13-5.15内核源码repo init -u https://android.googlesource.com/kernel/manifest -b common-android13-5.15

如果无法连接谷歌,可以尝试清华大学镜像源AOSP

12#同步仓库repo sync

下载安卓内核驱动源码rwProcMem33

1234#这里和内核源码分开放cd ..git clone https://github.com/abcz316/rwProcMem33.git

12#将驱动源码复制到内核drivers里面来进行编译cp -r rwProcMem33/rwProcMem33Module/rwProcMem_module/ android-kernel/drivers/rwProcMem

驱动放到内核源码根目录下的的drivers目录下, 修改rwProcMem33驱动的Makefile文件(drivers/rwProcMem/Makefile)为

1obj-m += rwProcMem.o

将drivers目录下的Makefile文件(drivers/Makefile)加一行

1obj-m += rwProcMem/

以驱动模块加载

修改驱动源代码

1vim drivers/rwProcMem/ver_control.h

开启53行宏定义,将54行给注释掉

开始编译

在内核源代码根目录执行开始编译

1LTO=thin BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh

这里需要比较长的时间

启动映像位于 out/android13-5.15/dist/boot.img

驱动模块位于 out/android13-5.15/common/drivers/rwProcMem/rwProcMem.ko

相关文章

陕北民歌
365bet网球比赛比分

陕北民歌

⌚ 08-23 👁️‍🗨️ 2506
世界名人故事 篇18
365bet手机端

世界名人故事 篇18

⌚ 08-06 👁️‍🗨️ 8438
Cortana  微软小娜的手机端app怎么下架了!!??
365bet网球比赛比分

Cortana 微软小娜的手机端app怎么下架了!!??

⌚ 08-24 👁️‍🗨️ 6752