4.14 也能 root?KernelSU 旧内核适配实战,老设备先别划走
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
你的设备内核太老,装 KernelSU 直接显示 Unsupported?先别急着划走。KernelSU 是基于内核的 root 方案,已向下适配到 4.14 内核。这条路要走通,顺序只有三步:先判断、再备份、后动手。
先花 60 秒,判断你的老设备能不能玩
打开 KernelSU Manager 看主界面状态,再在电脑上跑一条命令:
adb shell uname -r注意:看的是内核版本,不是 Android 版本号。系统升到 13 不代表内核变新。
| 你的情况 | 能不能玩 | 走哪条路 |
|---|---|---|
| 内核 5.10+(GKI 设备,GKI 指谷歌统一内核镜像) | 能 | 官方支持,管理器直接装 |
| 内核 4.14 ~ 5.10,非 GKI | 能,但要自己动手 | 集成源码后自己编译内核 |
| 内核低于 4.14 | 不建议 | 无官方支持,需手动回移 |
老设备内核 root 方案,官方文档说得很直白:管理器只显示 Unsupported,KernelSU 不会也不提供现成 boot 镜像(boot 分区镜像,系统启动的核心文件)。想给 4.14 内核 root,就得把 KernelSU 编进自己的内核。
低版本内核到底缺了什么,为什么不能直接刷
新内核上的 GKI 设备,内核遵守统一的 KMI(内核模块接口,KMI 相同的内核互相兼容),所以通用 boot 镜像可以通刷。老设备内核没这套约定:
- 稳定模块接口缺失,官方镜像刷上去大概率起不来;
- KernelSU 1.0 起已不再维护非 GKI 支持,老设备只能用 v0.9.5 及更早版本集成,最后能用的版本就是 v0.9.5;
- 集成靠 kprobe(内核探针,给内核函数挂钩子的机制)自动完成;kprobe 用不了时,要手动往内核源码四个函数里加调用,文档里都给了参考补丁。
集成方法、Kconfig 选项和补丁都在这份指南里:how-to-integrate-for-non-gki.md。
动手之前:先备份 boot,再评估风险
⚠️刷之前,必须备份原版 boot.img。卡死(bootloop,反复重启进不了系统)时的唯一后路,就是把它刷回去。
另外提前知道:
- 刷错内核压缩格式,直接无法启动;
- 部分设备的 AVB(启动校验)不关掉就开不了机,而关掉往往要清除全部数据。
动手前把重要数据导出,这一步没有回头路。
动手流程:从编译到开机验证,共 6 步
前提:你手上已有该机型开源内核源码,且能编译出可启动的内核。内核不开源,此路不通。
把 KernelSU 加入内核源码树,固定用 v0.9.5:
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s v0.9.5成功的样子:内核源码树里出现 KernelSU 的 kernel 目录。
确认 kprobe 已开启,内核配置里带上 CONFIG_KPROBES=y;找不到就在 defconfig 里显式加 CONFIG_KSU=y。成功的样子:配置文件里能搜到这两项。
编译出 boot.img。成功的样子:生成 boot.img 文件。
先试机,别急着刷。进入 fastboot 模式后:
fastboot boot boot.img成功的样子:正常进系统。KernelSU Manager 显示已安装,su 可提权。此时断电重启,回到原版内核,零风险。
正式刷入并开机:
fastboot flash boot boot.img fastboot reboot成功的样子:开机无异常,管理器里内核版本显示正常。
收尾。内核 5.9 以下,"卸载模块"功能需要手动回移 path_umount(补丁在集成文档里);卡死自救用的安全模式,在非 GKI 内核上也要手动集成。这两项不做不影响 root,只影响后续维护。
卡住了怎么办:对照这张表
| 现象 | 原因 | 处理 |
|---|---|---|
| 刷后卡 logo | 镜像格式或内核不兼容 | 刷回原版 boot.img,没有就从官方固件提取 |
| 装模块后开不了机 | 模块问题 | 首屏快速按 3 次音量下进安全模式,禁掉模块;或 adb shell 里 su 后 ksud module disable 禁用 |
| 刷了却提示清数据 | AVB 校验拦截 | 按要求清数据,或放弃 |
最后
先用 fastboot boot 临时启动验证,再正式刷,别一步到位。老设备折腾多,装模块也务必只装可信来源的。卡住了,去项目讨论区或官方 Telegram(@KernelSU)问,把 uname -r 的输出带上,问什么都快。
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考