99a39c6f52accc8c90a81dbca98e2e2d61748d0a
* Update source file strings.xml * New translations strings.xml (Romanian) * New translations strings.xml (French) * New translations strings.xml (Spanish) * New translations strings.xml (Arabic) * New translations strings.xml (Danish) * New translations strings.xml (German) * New translations strings.xml (Hungarian) * New translations strings.xml (Italian) * New translations strings.xml (Japanese) * New translations strings.xml (Korean) * New translations strings.xml (Lithuanian) * New translations strings.xml (Dutch) * New translations strings.xml (Polish) * New translations strings.xml (Russian) * New translations strings.xml (Slovenian) * New translations strings.xml (Turkish) * New translations strings.xml (Ukrainian) * New translations strings.xml (Chinese Traditional) * New translations strings.xml (Vietnamese) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Persian) * New translations strings.xml (Marathi) * New translations strings.xml (Thai) * New translations strings.xml (Croatian) * New translations strings.xml (Estonian) * New translations strings.xml (Latvian) * New translations strings.xml (Azerbaijani) * New translations strings.xml (Hindi) * New translations strings.xml (Malay) * New translations strings.xml (Filipino) * New translations strings.xml (Chinese Traditional, Hong Kong) * New translations strings.xml (Bosnian) * New translations strings.xml (Kannada) * Update source file strings.xml
SukiSU Ultra
基于 KernelSU 的安卓设备 root 解决方案
实验性! 使用风险自负!
这是非官方分支,保留所有权利 @tiann
但是,我们将会在未来成为一个单独维护的 KSU 分支
如何添加
在内核源码的根目录下执行以下命令:
使用 main 分支 (不支持非GKI设备构建)
curl -LSs "https://raw.githubusercontent.com/SukiSU-Ultra/SukiSU-Ultra/main/kernel/setup.sh" | bash -s main
使用支持非 GKI 设备的分支
curl -LSs "https://raw.githubusercontent.com/SukiSU-Ultra/SukiSU-Ultra/main/kernel/setup.sh" | bash -s nongki
如何集成 susfs
- 直接使用 susfs-stable 或者 susfs-dev 分支,不需要再集成 susfs
curl -LSs "https://raw.githubusercontent.com/SukiSU-Ultra/SukiSU-Ultra/main/kernel/setup.sh" | bash -s susfs-dev
钩子方法
- 此部分引用自 rsuntk 的钩子方法
-
KPROBES 钩子:
- 用于可加载内核模块 (LKM)
- GKI 2.0 内核的默认钩子方法
- 需要
CONFIG_KPROBES=y
-
手动钩子:
- 标准的 KernelSU 钩子:https://kernelsu.org/guide/how-to-integrate-for-non-gki.html#manually-modify-the-kernel-source
- backslashxx 的 syscall 手动钩子:https://github.com/backslashxx/KernelSU/issues/5
- 非 GKI 内核的默认挂钩方法
- 需要
CONFIG_KSU_MANUAL_HOOK=y
KPM 支持
- 我们基于 KernelPatch 去掉了和 KSU 重复的功能,仅保留了 KPM 支持
- 我们将会引入更多的兼容 APatch 的函数来确保 KPM 功能的完整性
开源地址: https://github.com/ShirkNeko/SukiSU_KernelPatch_patch
KPM 模板地址: https://github.com/udochina/KPM-Build-Anywhere
Note
- 需要
CONFIG_KPM=y- 非GKI设备还需要
CONFIG_KALLSYMS=y和CONFIG_KALLSYMS_ALL=y- 部分内核
4.19以下源码还需要从4.19向后移植头文件set_memory.h
如何进行系统更新保留ROOT
- OTA后先不要重启,进入管理器刷写/修补内核界面,找到
GKI/non_GKI安装选择需要刷写的Anykernel3内核压缩文件,选择与现在系统运行槽位相反的槽位进行刷写并重启即可保留GKI模式更新(暂不支持所有非GKI设备使用这种方法,请自行尝试。非GKI设备使用TWRP刷写是最稳妥的) - 或者使用LKM模式的安装到未使用的槽位(OTA后)
兼容状态
-
KernelSU(v1.0.0 之前版本)正式支持 Android GKI 2.0 设备(内核 5.10+)
-
旧内核(4.4+)也兼容,但必须手动构建内核
-
通过更多的反向移植,KernelSU 可以支持 3.x 内核(3.4-3.18)
-
目前支持
arm64-v8a,armeabi-v7a (bare)和部分X86_64
更多链接
如果你需要为管理器提交翻译请前往 https://crowdin.com/project/SukiSU-Ultra
基于 SukiSU 和 susfs 编译的项目
使用方法
普适的 GKI
请全部参考 https://kernelsu.org/zh_CN/guide/installation.html
Note
- 适用于如小米、红米、三星等的 GKI 2.0 的设备 (不包含魔改内核的厂商如魅族、一加、真我和 oppo)
- 找到更多链接里的 GKI 构建的项目。找到设备内核版本。然后下载下来,用TWRP或者内核刷写工具刷入带 AnyKernel3 后缀的压缩包即可
- 一般不带后缀的 .zip 压缩包是未压缩的,gz 后缀的为天玑机型所使用的压缩方式
一加
1.找到更多链接里的一加项目进行自行填写,然后云编译构建,最后刷入带 AnyKernel3 后缀的压缩包即可
Note
- 内核版本只需要填写前两位即可,如 5.10,5.15,6.1,6.6
- 处理器代号请自行搜索,一般为全英文不带数字的代号
- 分支和配置文件请自行到一加内核开源地址进行填写
特点
- 基于内核的
su和 root 访问管理 - 基于 5ec1cff 的 Magic Mount 的模块系统
- App Profile:将 root 权限锁在笼子里
- 恢复对非 GKI 2.0 内核的支持
- 更多自定义功能
- 对 KPM 内核模块的支持
许可证
kernel目录下的文件是 GPL-2.0-only。- 除
kernel目录外,所有其他部分均为 GPL-3.0 或更高版本。
爱发电链接
赞助名单
- Ktouls 非常感谢你给我带来的支持
- zaoqi123 请我喝奶茶也不错
- wswzgdg 非常感谢对此项目的支持
- yspbwx2010 非常感谢
- DARKWWEE 感谢老哥的 100 USDT
如果以上名单没有你的名称,我会及时更新,再次感谢大家的支持
贡献
- KernelSU:原始项目
- MKSU:使用的项目
- RKSU:使用该项目的 kernel 对非GKI设备重新进行支持
- susfs4ksu:使用的 susfs 文件系统
- kernel-assisted-superuser:KernelSU 的构想
- Magisk:强大的 root 工具
- genuine:APK v2 签名验证
- Diamorphine:一些 rootkit 技能
- KernelPatch: KernelPatch 是 APatch 实现内核模块的关键部分
Languages
Kotlin
67.1%
C
20%
Rust
11.1%
Shell
0.9%
Makefile
0.4%
Other
0.4%