编译环境
- VMware 虚拟机 + Kali 2022.3
- 32GB 内存
- 400GB 硬盘
- 乐视 Max2 手机
- lineageOS 18.1
源码下载
- 从 lineageOS 官网上找到 LeMax2。在 Build for x2 章节找到 kernel 的 Github 地址
下载 kernel 源码
git clone --depth=1 https://github.com/LineageOS/android_kernel_leeco_msm8996.git
编译
安装编译工具链。lineageOS Github 提供了预编译的工具链,根据手机架构,手机中安装的 lineageOS 版本,选择合适的预编译版本进行下载
git clone --depth=1 -b lineage-18.1 https://github.com/LineageOS/android_prebuilts_gcc_linux-x86_aarch64_aarch64-linux-android-4.9.git
设置环境变量。将下载的编译工具链配置到环境变量中
export PATH=$PATH:/Documents/android_prebuilts_gcc_linux-x86_aarch64_aarch64-linux-android-4.9/bin
进入到源码目录,执行下面命令开始编译。编译过程中,可能会因为编译环境缺少特定命令而报错。根据报错信息,用
apt install
安装缺少的命令即可。export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-android- make O=out mrproper make O=out lineage_x2_defconfig # 去arch/arm64/configs 选一个你的机型对应的配置文件 make O=out -j8 # 开始编译
- 等待编译成功。编译成功后,产物会在
out/arch/<目标架构>/boot
目录下,如:/root/Documents/android_kernel_leeco_msm8996/out/arch/arm64/boot
替换内核
下载 AnyKernel3
git clone --depth=1 https://github.com/osm0sis/AnyKernel3.git
使用 AnyKernel3
编辑
anykernel.sh
文件- 设置
do.devicecheck=0
- 设置
block=/dev/block/bootdevice/by-name/boot
- 设置
- 将编译成功的内核
Image
文件复制到 AnyKernel3 根目录下 将 Anykernel3 根目录下的所有文件打包成 zip 压缩包
zip -r9 Anykernel.zip *
将
Anykernel.zip
包推送到手机中adb push Anykernel.zip /sdcard
刷机
进入 LineageOS recovery 模式
adb reboot recovery
- 选择
Apply update
- 选择
Choose from internal storage
- 选择
Anykernel.zip
等待刷机完成。通过
adb shell
查看内核版本是否为刚刚刷入的版本le_x2:/ $ cat /proc/version Linux version 3.18.140-lineage-g4b91b133 (root@icarus) (gcc version 4.9.x 20150123 (prerelease) (GCC)) #1 SMP PREEMPT Thu Oct 19 23:39:33 CST 2023
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。