# 准备工作 编译内核不仅费时,而且费力。 你需要准备至少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([使用此编译链](https://www.coolapk.com/feed/47357987?shareKey=NDljMWJkN2JmNTc3NjRhNGU3Yzg~&shareUid=3979152&shareFrom=com.coolapk.market_13.2.1)) - other(你需要手动编译工具链,直接用软件源里的貌似也行?) ### 安装必需工具 执行 ```bash 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,你需要自己想办法安装它。 ### 配置编译链 执行 ```bash 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官方页面](https://kernelsu.org/guide/how-to-build.html) 使用系统设置查看 > - 点击设置 > - 找到关于本机 > - 查看内核版本号 ### 查看安卓版本 同上 ### 确保手机已经解锁并root ~~你不解锁root玩锤子内核~~ ### 确保厂商开源内核完整 (~~雷军,金凡!~~) ### 准备原boot和救砖包 方便救砖 ### 如果你是华为用户: [参考这篇](https://github.com/dabao1955/KernelSU_General_porting_guide/wiki/KernelSU适配EMUI9或9.1.0系统的内核)