6.3 KiB
SukiSU Ultra
Android device root solution based on KernelSU
Experimental! Use at your own risk! This solution is based on KernelSU and is experimental!
This is an unofficial fork. All rights are reserved to @tiann
However, we will be a separately maintained branch of KSU in the future
How to add
Using main branching (non-GKI device builds are not supported)
curl -LSs "https://raw.githubusercontent.com/ShirkNeko/KernelSU/main/kernel/setup.sh" | bash -s main
Using branches that support non-GKI devices
curl -LSs "https://raw.githubusercontent.com/ShirkNeko/SukiSU-Ultra/main/kernel/setup.sh" | bash -s nongki
How to use integrated susfs
- Use the susfs-dev branch directly without any patching
curl -LSs "https://raw.githubusercontent.com/ShirkNeko/SukiSU-Ultra/main/kernel/setup.sh" | bash -s susfs-dev
KPM Support
- Based on KernelPatch, we have removed duplicates of KSU and kept only KPM support.
- We will introduce more APatch-compatible functions to ensure the integrity of KPM functionality.
We will introduce more APatch-compatible functions to ensure the completeness of KPM functionality.
KPM templates: https://github.com/udochina/KPM-Build-Anywhere
Note
CONFIG_KPM=yneeds to be added.- Non-GKI devices need to add
CONFIG_KALLSYMS=yandCONFIG_KALLSYMS_ALL=yas well.- Some kernel source code below
4.19also needs to be backport from4.19to the header fileset_memory.h.
How to do a system update to retain ROOT
- After OTA, don't reboot first, go to the manager flashing/patching kernel interface, find
GKI/non_GKI installand select the Anykernel3 kernel zip file that needs to be flashed, select the slot that is opposite to the current running slot of the system for flashing, and then reboot to retain the GKI mode update (This method is not supported for all non-GKI devices, so please try it yourself. It is the safest way to use TWRP for non-GKI devices.) - Or use LKM mode to install to the unused slot (after OTA).
Compatibility Status
-
KernelSU (versions prior to v1.0.0) officially supports Android GKI 2.0 devices (kernel 5.10+)
-
Older kernels (4.4+) are also compatible, but the kernel must be built manually
-
KernelSU can support 3.x kernels (3.4-3.18) through additional reverse ports
-
Currently supports
arm64-v8a,armeabi-v7a (bare)and someX86_64
More links
Projects compiled based on Sukisu and susfs
Hook method
- This method references the hook method from (https://github.com/rsuntk/KernelSU)
-
KPROBES hook:
- Also used for Loadable Kernel Module (LKM)
- Default hook method on GKI kernels.
- Need
CONFIG_KPROBES=y
-
Manual hook:
- Standard KernelSU hook: https://kernelsu.org/guide/how-to-integrate-for-non-gki.html#manually-modify-the-kernel-source
- backslashxx's syscall manual hook: https://github.com/backslashxx/KernelSU/issues/5
- Default hook method on Non-GKI kernels.
- Need
CONFIG_KSU_MANUAL_HOOK=y
Usage
Universal GKI
Please all refer to https://kernelsu.org/zh_CN/guide/installation.html
Note
- for devices with GKI 2.0 such as Xiaomi, Redmi, Samsung, etc. (excludes kernel-modified manufacturers such as Meizu, OnePlus, Zenith, and oppo)
- Find the GKI build in more links. Find the device kernel version. Then download it and use TWRP or kernel flashing tool to flash the zip file with AnyKernel3 suffix.
- The .zip archive without suffix is uncompressed, the gz suffix is the compression used by Tenguet models.
OnePlus
- Use the link mentioned in the 'More Links' section to create a customized build with your device information, and then flash the zip file with the AnyKernel3 suffix.
Note
- You only need to fill in the first two parts of kernel versions, such as 5.10, 5.15, 6.1, or 6.6.
- Please search for the processor codename by yourself, usually it is all English without numbers.
- You can find the branch and configuration files from the OnePlus open-source kernel repository.
Features
- Kernel-based
suand root access management. - Not based on OverlayFS module system, but based on Magic Mount from 5ec1cff
- App Profile: Lock root privileges in a cage.
- Bringing back non-GKI/GKI 1.0 support
- More customization
- Support for KPM kernel modules
License
- The file in the “kernel” directory is under GPL-2.0-only license.
- All other parts except the “kernel” directory are under GPL-3.0 or later license.
Sponsorship list
- Ktouls Thanks so much for bringing me support
- zaoqi123 It's not a bad idea to buy me a milk tea
- wswzgdg Many thanks for supporting this project
- yspbwx2010 Many thanks
- DARKWWEE Thanks for the 100 USDT Lao
If the above list does not have your name, I will update it as soon as possible, and thanks again for your support!
Contributions
- KernelSU: original project
- MKSU: Used project
- RKSU: Reintroduced the support of non-GKI devices using the kernel of this project
- susfs:Used susfs file system
- KernelSU: KernelSU conceptualization
- Magisk: Powerful root utility
- genuine: APK v2 Signature Verification
- Diamorphine: Some rootkit utilities.
- KernelPatch: KernelPatch is a key part of the APatch implementation of the kernel module