旧内核也能刷 KernelSU:4.14–5.3 设备从判断到开机的 5 步手动适配

发布时间:2026/9/10 9:32:04

旧内核也能刷 KernelSU:4.14–5.3 设备从判断到开机的 5 步手动适配 旧内核也能刷 KernelSU4.14–5.3 设备从判断到开机的 5 步手动适配【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU用了五六年、还跑着 Linux 4.19 的老旗舰装上 KernelSU 管理器第一屏就提示不支持。其实只要这块旧内核的版本在 4.14 及以上、内核源码是开放的这台设备完全可以手动适配。下面是具体走法。 先判断你的设备要不要自己编译内核结论先行内核版本决定路线GKI 设备根本不用碰源码。先跑一条命令拿内核版本号adb shell uname -r # 输出示例4.19.191-android11-8-gb2f41e6再对照管理器的支持提示你属于三种情况之一GKI 内核5.4 / 5.10 / 6.x管理器直接可用刷官方预编译 boot 就行后面这些内容你可以关掉了。4.14–5.3 且内核源码开放手动适配的目标人群。路线只有两条——kprobe 自动集成或者手改内核源码kprobe 能用就走第一条不能用才动刀。源码不开放 / 编译不出能开机的 boot / 版本低于 4.14不建议折腾。以下全部内容属于非官方支持风险自担。还有一个硬事实要记住KernelSU 自 v1.0 起放弃非 GKI 支持最后一个支持旧内核的 tag 是v0.9.5后面所有操作都用这个版本。 原理 30 秒KernelSU 为什么非要改内核KernelSU 运行在内核层权限判定和隐藏逻辑必须在系统调用返回用户空间之前生效所以它必须存在于内核里。GKI 内核上它以可加载模块身份挂入靠 kprobe 动态 hook 目标函数而很多 4.x 老内核的 kprobe 机制本身是坏的模块一挂就死机。这就是适配时的分叉点要么验证 kprobe 能不能用要么手动在 4 个系统调用入口处各插一句 hook 调用——exec、access 检查、read、stat 四条路正好覆盖 su 和隐藏逻辑的全部路径。️ 适配时间线从源码到刷 boot 的 5 步1. 准备源码先确认能编出能开机的 boot用你设备对应的内核源码厂商源码优先。在集成任何东西之前先按原厂流程编出一张能正常开机的 boot 镜像如果连这一步都做不到说明内核闭源或工具链不全直接停手别往下走。2. 集成 KernelSU 源码先克隆仓库并切到 v0.9.5 这个 taggit clone https://gitcode.com/GitHub_Trending/ke/KernelSU cd KernelSU git checkout v0.9.5然后把 KernelSU 目录放在内核源码树的同级位置在内核根目录执行下面三行。它们等价于kernel/setup.sh做的事把内核代码挂进drivers/再登记到构建系统里。ln -s ../KernelSU/kernel drivers/kernelsu echo obj-$(CONFIG_KSU) kernelsu/ drivers/Makefile sed -i /endmenu/i source drivers/kernelsu/Kconfig drivers/Kconfig构建系统只多了两行登记万一出问题把这三处直接还原即可改动面很小。3. 打开 Kconfig 配置在你的设备 defconfig 里追加以下内容位置通常在arch/arm64/configs/设备代号_defconfig也可能是arch/arm64/configs/vendor/设备代号_defconfigCONFIG_KSUy CONFIG_KPROBESy CONFIG_HAVE_KPROBESy CONFIG_KPROBE_EVENTSy如果你判断 kprobe 大概率是坏的、准备一上来就走手改源码路线就把CONFIG_KPROBES直接设为n原因见后面的踩坑清单第 2 条。4. 选钩子路线kprobe 优先手改兜底路线 A推荐kprobe 在你内核里能正常工作就到此为止直接编译KernelSU 运行时自己完成 hook不改任何其他源码。路线 B刷入后开不了机优先怀疑 kprobe 失效。改用手改在 4 个函数入口各加一次 hook 调用。最核心的fs/exec.c中do_execveat_common长这样static int do_execveat_common(int fd, struct filename *filename, struct user_arg_ptr argv, struct user_arg_ptr envp, int flags) { #ifdef CONFIG_KSU if (unlikely(ksu_execveat_hook)) ksu_handle_execveat(fd, filename, argv, envp, flags); else ksu_handle_execveat_sucompat(fd, filename, argv, envp, flags); #endif return __do_execve_file(fd, filename, argv, envp, flags, NULL); }其余三处是同样的模式在函数入口前加对应的extern声明再插一行调用。分别是fs/open.c的do_faccessat4.17 以下的老内核没有这个函数直接改SYSCALL_DEFINE3(faccessat, ...)定义处、fs/read_write.c的vfs_read、fs/stat.c的vfs_statx没有 statx 就用vfs_fstatat顶替。想保留安全模式还要在drivers/input/input.c的input_handle_event里加一个输入 hook这一步强烈建议做救砖时靠它进安全模式。5. 编译并用 fastboot 验证开机先确认配置真的生效再编译命令以你设备厂商的构建方式为准这里给 arm64 通用示例grep -E ^CONFIG_KSU .config # 应输出 CONFIG_KSUy make -j$(nproc)在永久写入之前务必用 fastboot 临时启动来验证——这一步不写设备重启就回到原内核把风险全部消化在这里fastboot boot boot-ksu.img adb shell su -c id # 输出 uid0(root) 即成功连续正常开机 5 次以上再做永久刷写。⚠️ 适配踩坑四种几乎必碰的情况1. 卡在 logo 开不了机原因这个内核里 kprobe 工作不正常模块挂入即死机。 处理fastboot flash boot刷回备份恢复把CONFIG_KPROBES改为n改走路线 B 手改源码。2. 莫名其妙进了安全模式su 和模块全没了原因手改源码集成但CONFIG_KPROBES没关kprobe 的输入 hook 残留开机时按音量下就触发了安全模式。 处理关闭CONFIG_KPROBES重新编译。3. 开机正常但pm命令执行失败原因devpts 路径没有被 hook。 处理在fs/devpts/inode.c的devpts_get_priv函数开头加一行ksu_handle_devpts(dentry-d_inode);并在函数前声明extern int ksu_handle_devpts(struct inode *);。4. 编译报vfs_statx或do_faccessat未定义原因内核太老这两个函数还没从老函数里拆出来。 处理stat 用vfs_fstatat顶替access 直接挂在faccessat系统调用定义上改法见时间线第 4 步。 收尾必须记住的四件事在动任何东西之前先备份原始 boot管理器内置备份或fastboot flash boot 备份镜像.img随时能刷回。永久刷写之前务必先用fastboot boot临时启动验证正常开机 5 次再写入。整个流程是非官方支持风险自担卡住先对照非 GKI 内核集成文档文档已标注存档、不再更新完全开不了机时看bootloop 救援指南。旧内核只认 v0.9.5别拿 1.x 的 tag 往下走编译都过不了。【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/10 9:32:04

TongSearch跨集群复制CCR原理与数据同步实践

先聊个实际场景:你手上有两个 TongSearch 集群,一个在主中心承载线上写入,另一个在异地机房,平时只读、用于查询和灾备。业务量上来之后,主库压力越来越大,你想把一部分读流量切到异地机房,却发…

2026/9/10 9:32:04

Three.js Vector2 二维向量完全指南:从源码到实战

Three.js Vector2 二维向量完全指南:从源码到实战 【免费下载链接】three.js JavaScript 3D Library. 项目地址: https://gitcode.com/GitHub_Trending/th/three.js Vector2 是 three.js 中表示二维向量的核心数学类,一个二维向量就是一对有序数字…

2026/9/10 10:12:13

CANN/ge矩阵形状内存计算

关于A、B、C矩阵的Shape及内存大小计算公式 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE …

2026/9/10 10:12:13

CANN/ge:创建模型数据集API

aclmdlCreateDataset 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Tenso…

2026/9/10 10:07:12

SpringBoot+Vue非遗文化传承网站开发实践

1. 非遗文化传承网站系统概述这个基于SpringBootVue的非遗文化传承网站系统,本质上是一个面向非物质文化遗产保护与传播的数字化解决方案。作为一名参与过多个文化类项目开发的老兵,我深知这类系统的核心价值在于如何平衡技术实现与文化呈现的关系。系统…

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 0:00:55

目录对比去重实战:用哈希算法精准清理重复文件

我电脑里现在还有一块换了三次机的“数据墓地”硬盘,里面存着2016年以前所有旧笔记本的完整备份。平时不觉得有什么,直到前阵子想把它整理归档,发现同一个安装包、同一批照片、同一份论文草稿,在几个不同的备份目录里反复出现。更…

2026/9/10 0:00:55

Leaflet离线地图完整Demo合集:内网部署与坐标纠偏实战

简介:这是一份面向Web GIS开发者的LeafLet离线地图示例合集,帮助开发者快速掌握离线地图从搭建到交互的完整流程。压缩包共723个文件,大小14.06MB,以319个js脚本、175个html页面和29个css样式文件为主体,配合png/svg图…

2026/9/10 0:00:55

MATLAB读取Rinex 3.02观测文件:多系统GNSS数据解析实战

简介:基于MATLAB开发的Rinex3.02版观测文件(o文件)读取代码包,面向卫星定位导航方向的学习者与研究人员,用于解决新版观测文件的数据解析、历元提取与时间转换问题。压缩包共4个文件,包含两个m脚本、一个19…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码