准备工作
编译内核不仅费时,而且费力。 你需要准备至少4g的运行内存和16g的存储空间,一台性能强劲的PC或VPS,以及一个良好的debug能力。
操作系统的选择
Ubuntu20.04/Ubuntu18.04(编译aosp推荐的操作系统)
debian12/11/10(我正在用的系统)
Other Linux
macos(需要安装xcode和homebrew)
windows(不推荐)
环境的选择
虚拟机
实体机(驱动问题)
容器(chroot,docker,lxc,wsl,podman)(可能会编译失败)
架构的选择
x86_64(优先)
aarch64(使用此编译链)
other(你需要手动编译工具链,直接用软件源里的貌似也行?)
安装必需工具
执行
sudo apt-get install libncurses5-dev libncurses-dev libssl-dev device-tree-compiler bc cpio lib32ncurses5-dev lib32z1 build-essential binutils bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev git
注:
有些内核可能需要安装python2.7和python2.7-minimal软件包。
debian12及以上版本已移除python2.7,你需要自己想办法安装它。
配置编译链
执行
git clone --depth=1 https://github.com/LineageOS/android_prebuilts_gcc_linux-x86_aarch64_aarch64-linux-android-4.9 aarch64-linux-android-4.9
git clone --depth=1 https://github.com/LineageOS/android_prebuilts_gcc_linux-x86_arm_arm-linux-androideabi-4.9 arm-linux-androideabi-4.9
注:使用gcc的话请忽略这一步
查看内核版本
本操作将确定编译链和KernelSU集成方式
使用devcheck查看
下载并打开devcheck
点击系统选项卡
找到系统部分并查看内核版本
内核版本为5.10以上的为gki2.0,编译内核参考KernelSU官方页面
使用系统设置查看
点击设置
找到关于本机
查看内核版本号
查看安卓版本
同上
确保手机已经解锁并root
~~你不解锁root玩锤子内核~~
确保厂商开源内核完整
(~~雷军,金凡!~~)
准备原boot和救砖包
方便救砖