教育/37.61M
KernelSU是一款专门针对Android操作系统的系统工具,主要用于管理和控制设备的核心权限,即超级用户(Superuser)权限。该软件提供对Android系统中敏感操作的访问权限,允许用户在需要时提升自己的权限,以便执行高级操作,并且还能通过授予或拒绝应用对系统级操作的请求,大大增强了系统的安全性。此外,该软件的适用场景十分广泛,当用户需要安装一些需要更高系统权限的应用时、在进行系统定制或升级时,该软件都可以轻松满足需求。而且对于开发者来说,在进行软件开发和测试时,可能需要更高的系统权限来调试和运行程序。有需要的快来下载吧。
KernelSu安装教程
首先我们在本站下载KernelSu,然后打开应用,根据设备内核的区别分为两种情况,我们根据这两种情况分别说说如何安装
第一种:安装页面显示未安装
这种情况是最简单的,仅需按照官方准备的方法进行刷入即可,刷入前注意备份好自己的原厂boot.img,防止刷机中出现差错变砖时,可用于救急
官方提供了下方几种安装方法
1、使用自定义修复(如TWRP)安装
前提:你的设备必须已刷入第三方Recovery,如TWRP;如果没有或只有官方Recovery,请使用其他方法。
步骤:
1)在 KernelSU 的Release页面(https://github.com/tiann/KernelSU/releases)下载与你手机版配对的以 AnyKernel3 开头的 zip 刷机包;
例如,手机内核版本为android12-5.10.66,那么你应该下载AnyKernel3-android12-5.10.66_yyyy-MM.zip这个文件(其中yyyy为年件,MM为月件)。
2)重启手机进入TWRP。
3)使用adb 将AnyKernel3-*.zip(内核文件)放到手机/sdcard 然后在TWRP 图形界面选择安装;或者你也可以直接adb sideload AnyKernel-*.zip安装。
2、使用内核刷写App,如(Franco Kernel Manager)安装
前面提到:你的设备必须已经root。例如你已经安装了Magisk获得了root,或者你已经安装了旧版本的KernelSU需要升级到其他版本的KernelSU;如果你的设备无root,请尝试其他方法。
步骤:
1)下载AnyKernel3的刷机包;下载方法参考使用自定义修复安装那一节的内容。
2)打开内核刷写App使用提供的AnyKernel3刷机包刷入。
3、使用KernelSU 提供的boot.img,使用fastboot 安装
这种方法不需要你有TWRP,也不需要你的手机有root权限;适用于你初次安装KernelSU。
1)找到合适的boot.img
KernelSU 为 GKI 设备提供了通用的 boot.img,您应该将 boot.img 刷写到设备的 boot 分区。
您可以从GitHub Release下载boot.img,请注意您应该使用正确版本的boot.img。例如,如果您的设备显示内部是android12-5.10.101,则需要下载android-5.10.101_yyyy-MM.boot-
其中
注意:
您可以通过magisk boot 来获取您原来的boot 的压缩格式;当然您也可以询问与您的机器型号是否相同的其他更有经验的童鞋。另外,boot的压缩格式通常不会发生变化,如果您使用某个压缩格式成功开机,继续可以优先尝试这个格式。
小米设备经常使用gz或不压缩。
2)将 boot.img 刷入设备
使用adb连接您的设备,然后执行adb reboot bootloader进入fastboot模式,然后使用下方命令刷入KernelSU:
fastboot flash boot boot.img
注意:
如果你的设备支持fastboot boot,可以先使用fastboot boot boot.img来先尝试使用boot.img引导系统,如果出现意外,再启动一次即可开机。
4、手动修改boot.img,然后安装
对于某些设备来说,其boot.img格式不是那么常见;最经典的就是Pixel,它boot.img的格式是lz4_legacy压缩,ramdisk也可能是lz4_legacy;此时如果你直接刷入KernelSU提供的boot.img,手机可能无法打开;此时,你可以通过手机修复boot.img来实现。
可以通过下方两个应用来实现
- Android Image Kitchen
- Magisk
其中Android-Image-Kitchen适合PC端运行,magisk需要手机端配合。
准备工作
- 获取手机的原厂boot.img;你可以从你的设备制造商那里得到它
- 下载由 KernelSU 提供的与您设备的 KMI 版本相匹配的 AnyKernel3zip 文件(您可以参考通过第三方Recovery安装步骤获取)。
- 解压AnyKernel3包,得到Image文件,即KernelSU的内核文件。
使用Android-Image-Kitchen
1)将 Android-Image-Kitchen 下载到您的计算机。
2)将 stock boot.img 放入 Android-Image-Kitchen 的根文件夹。
3)./unpackimg.sh boot.img在 Android-Image-Kitchen 的根目录下执行,这个命令会解压 boot.img,你会得到一些文件。
4)boot.img-kernel将目录替换split_img为您从 AnyKernel3 中提取的文件Image(注意名称更改为 boot.img-kernel)。
5)./repackimg.sh在Android-Image-Kitchen的根目录下执行;你会得到一个名为的文件image-new.img; 通过 fastboot 刷入这个 boot.img(参考上一节)。
使用magiskboot
1)下载最新版的Magisk
2)将 Magisk-*.apk 重命名为 Magisk-vesion.zip并解压。
3)通过adb将Magisk-v25.2/lib/arm64-v8a/libmagiskboot.so推送到您的设备:
adb push Magisk-v25.2/lib/arm64-v8a/libmagiskboot.so /data/local/tmp/magiskboot
4)将 AnyKernel3 中的 boot.img 和 Image 推送到您的设备。
5)进入adb shell和cd/data/local/tmp/目录,然后chmod +x magiskboot
6)进入adb shell和cd/data/local/tmp/目录,执行./magiskboot unpack boot.img解压boot.img,你会得到一个kernel文件,这是你的stock kernel。
7)替换kernel为Image:mv -f Image kernel
8)执行./magiskboot repack boot.imgrepack boot img,会得到一个new-boot.img文件,通过fastboot把这个文件刷入到设备上。
第二种:安装页面显示不支持
出现这种情况要么自己手动编译,将kernel集成到非GKI内核中,然后按照上方方法刷入,要么指望其他大佬为其做适配。
下方是官方内核集成教程,有动手能力的用户可自行编译
https://kernelsu.org/zh_CN/guide/how-to-integrate-for-non-gki.html
KernelSU新手使用教程
1、构建设备内核
同步内核源码:
2、构建内核镜像
例如,我们需要构建 aarch64 内核镜像:
不要忘记添加 LTO=thin, 否则,如果您的计算机内存小于 24GB,构建可能会失败。
从 Android 13 开始,内核由 bazel 构建:
3、使用 KernelSU 构建内核
如果您可以成功构建内核,那么构建 KernelSU 就很容易,根据自己的需求在内核源代码根目录中运行以下任一命令:
最新tag(稳定版本)
main分支(开发版本)
指定tag(比如v0.5.2)
然后重建内核,您将获得带有 KernelSU 的内核映像!
KernelSU是否支持我的设备?
首先,您的设备应该能够解锁 bootloader。如果不能,则不支持。
然后在你的设备上安装 KernelSU 管理器并打开它,如果它显示 不支持 ,那么你的设备没有官方支持的开箱即用的boot image;但你可以自己编译内核集成KernelSU进而使用它。
KernelSU 是否需要解锁Bootloader?
当然需要。
KernelSU 是否支持模块 ?
支持,但它是早期版本,可能有问题。请等待它稳定 ??
KernelSU 是否支持 Xposed ?
支持。Dreamland 和 TaiChi 可以正常运行。LSPosed 可以在 Zygisk on KernelSU 的支持下正常运行。
KernelSU 支持 Zygisk 吗?
KernelSU 本体不支持 Zygisk,但是你可以用 Zygisk on KernelSU 来使用 Zygisk 模块。
KernelSU 与 Magisk 兼容吗 ?
KernelSU 的模块系统与 Magisk 的 magic mount 有冲突,如果 KernelSU 中启用了任何模块,那么整个 Magisk 将无法工作。
但是如果你只使用 KernelSU 的 su,那么它会和 Magisk 一起工作:KernelSU 修改 kernel 、 Magisk 修改 ramdisk,它们可以一起工作。
KernelSU 会替代 Magisk 吗?
我们不这么认为,这也不是我们的目标。Magisk 对于用户空间 root 解决方案来说已经足够好了,它会存活很久。KernelSU 的目标是为用户提供内核接口,而不是替代 Magisk。
KernelSU 可以支持非 GKI 设备吗?
可以。但是你应该下载内核源代码并将 KernelSU 集成到源代码树中并自己编译内核。
KernelSU 支持 Android 12 以下的设备吗?
影响 KernelSU 兼容性的是设备内核的版本,它与设备的 Android 版本没有直接的关系。唯一有关联的是:出厂 Android 12 的设备,一定是 5.10 或更高的内核(GKI设备);因此结论如下:
出厂 Android 12 的设备必定是支持的(GKI 设备)
旧版本内核的设备(即使是 Android 12,也可能是旧内核)是兼容的(你需要自己编译内核)
KernelSU 可以支持旧内核吗?
可以,目前最低支持到 4.14;更低的版本你需要手动移植它,欢迎 PR !
为什么我手机系统是 Android 13,但内核版本却是 "android12-5.10"?
内核版本与 Android 版本无关,如果你需要刷入 KernelSU,请永远使用内核版本而非 Android 版本,如果你为 "android12-5.10" 的设备刷入 Android 13 的内核,等待你的将是 bootloop.
KernelSU 支持 --mount-master/全局挂载命名空间吗?
目前没有(未来可能会支持),但实际上有很多种办法手动进入全局命名空间,无需 su 内置支持,比如:
nsenter -t 1 -m sh 可以获得一个全局 mount namespace 的 shell.
在你要执行的命令之前添加 nsenter --mount=/proc/1/ns/mnt 就可以让此命令在全局 mount namespace 下执行。 KernelSU 本身也使用了 这种方法
我是 GKI1.0, 能用 KernelSU 吗?
GKI1 跟 GKI2 完全是两个东西,所以你需要自行编译内核。
v0.9.0-3-ga5e7655版本
1、KernelSU现在支持通过内核模块(LKM)安装(仅限GKI),您可以将其与官方内核或第三方内核一起使用;同时管理器还增加了安装功能,可以选择打补丁文件、直接安装、或者OTA后安装。
2、关于新的LKM安装方法,有一些提示:
3、LKM不支持非GKI内核,以后也不会支持;
4、打补丁时,如果init_boot分区存在,则应选择打补丁init_boot;否则,修补启动;
5、如果您已经安装了KernelSU提供的GKI内核,想要切换到LKM方式,则需要闪回原厂内核;如果你的设备有init_boot分区,可以直接闪回stock boot;
6、GKI内核和LKM的安装方法永远存在,你喜欢用哪个就用哪个;未来还将支持在管理器中刷写GKI内核。
玩得开心!