Skip to content

KernelSU Root Installation Guide

KernelSU is a kernel-based Android root solution. This guide covers how to check compatibility, choose GKI or LKM mode, install KernelSU or KernelSU Next, use modules and app profiles, and diagnose common failures. Kernel support and the correct image are device-specific; do not flash a build just because the Android version matches.

Quick Navigation ​

Related Guides:

KernelSU topic links: installation · modules · WebUI · KernelSU Next · KernelSU vs Magisk · troubleshooting


Understanding KernelSU ​

KernelSU is a kernel-based root solution operating at the Linux kernel level, providing enhanced security, advanced app permission control, and superior detection evasion compared to userspace root methods.

Core Features ​

  • Kernel-Level Integration - Direct kernel modification for enhanced security
  • Advanced App Profiles - Granular root permission control per application
  • Metamodule System - Pluggable module infrastructure for systemless modifications
  • Superior Hiding - Better detection evasion than traditional methods
  • LKM Support - Loadable Kernel Module architecture

KernelSU vs Alternatives ​

FeatureKernelSUMagiskAPatch
ArchitectureKernel-basedUserspace overlayKernel-based
Root HidingExcellentGoodExcellent
App ControlAdvanced ProfilesBasicBasic
Module MountingRequires MetamoduleBuilt-inBuilt-in
Ease of UseModerateEasyModerate

Choose KernelSU if:

  • You have Android 11+ device
  • You want best root hiding
  • You need fine-grained app control
  • You use banking/payment apps (see root hiding apps)
  • You prefer kernel-level security

TIP

Detailed comparison: Root Comparison


KernelSU Variants ​

The KernelSU ecosystem has expanded beyond the original project. Different variants serve different needs:

VariantBest ForKey Features
Official KernelSUModern GKI 2.0 devicesMost stable, LKM mode primary, official module repo
KernelSU-NextBroader device compatibilityGKI+LKM, auto-updates, modern UI, module backup/restore
SukiSU-UltraLegacy & non-GKI devicesBroadest kernel compat, built-in SUSFS, KPM support
ReSukiSUMulti-manager setupsSukiSU-Ultra fork with multi-manager support

Quick variant selection:

  • Official KernelSU - Stable, modern GKI 2.0 devices, maximum compatibility with official support
  • KernelSU-Next - If you want auto-updates, broader kernel range, and extra features
  • Wild KSU / SukiSU-Ultra / ReSukiSU - When built-in SUSFS root hiding or KPM kernel patching is needed

TIP

All variants now delegate module mounting to a metamodule. See Metamodules & Modules.


KernelSU WebUI (ksuwebui) ​

KernelSU modules can expose a small web interface that the KernelSU Manager opens in its embedded WebView. This is a module interface, not a separate root method: a module places its page at webroot/index.html and can use KernelSU's JavaScript APIs for module-specific actions. The module author must document whether WebUI is supported and which manager version is required.

Installation Modes ​

KernelSU supports two installation modes. Note: Official KernelSU now recommends LKM mode. Community forks (Next, SukiSU) continue shipping GKI builds.

GKI Mode ​

How it works: Replaces device's original kernel with a KernelSU-patched Generic Kernel Image.

ProsCons
Universal GKI device compatibilityLoses manufacturer kernel optimizations
Works on Samsung Knox devicesRequires manual fastboot flashing
Better for heavily modified devices & custom ROMsMust reflash after major OS updates

Best for: Samsung devices, emulators, WSA, custom ROMs

LKM Mode (Loadable Kernel Module) ​

How it works: Loads KernelSU as a kernel module without replacing the original kernel.

ProsCons
Preserves original kernel & optimizationsRequires official firmware
Easy in-app updates, OTA-friendlyMay not work on all devices
No AVB/dm-verity issues, can disable without rebootLess compatible with modified firmware

Best for: Most modern phones with stock/near-stock firmware

Which Mode to Choose? ​

Device TypeRecommendedReason
Stock firmware phonesLKMPreserves optimizations, easy updates
Samsung devicesGKIKnox compatibility
Custom ROMsGKIBetter modified firmware support
Emulators/WSAGKIUniversal compatibility

If both modes are available, GKI takes priority and LKM is ignored.


Prerequisites ​

ESSENTIAL

  • Unlocked bootloader - Complete bootloader unlocking first
  • GKI compatible device - Modern Android with GKI 2.0 kernel support
  • Full backup of all important data
  • Battery 50%+ to prevent interruption

Requirements ​

HardwareSoftware
Android device with unlocked bootloaderAndroid Platform Tools (ADB/Fastboot)
Data-capable USB cableDevice-specific USB drivers (Windows only)
Computer (Windows, macOS, Linux)KernelSU Manager APK from variant's GitHub releases
500MB+ free storage on deviceStock firmware for your device (optional but recommended)

Compatibility Check ​

bash
# Check kernel version
adb shell uname -r
# Look for GKI 2.0 support (check with your variant's requirements)

# Quick device check
# Install KernelSU Manager → Open app → Check status:
# "Not Installed" = supported
# "Unsupported" = custom kernel or different variant needed

Installation Methods ​

Three main methods. Choose based on your device and variant.

Method 1: GKI Kernel Flash ​

Best for: GKI 2.0 compatible devices using GKI mode

Step 1: Download the appropriate GKI kernel from your chosen variant's releases:

Step 2: Flash the kernel:

bash
adb reboot bootloader
fastboot flash boot kernelsu-gki-*.img
fastboot reboot

Step 3: Download and install the variant's Manager APK. Verify installation opens correctly.


Method 2: Boot Image Patching (LKM Mode) ​

Best for: Preserving stock kernel, LKM mode preference

Step 1: Extract stock boot image:

bash
# From firmware ZIP
unzip stock_firmware.zip boot.img

# Or from device
adb shell su -c "dd if=/dev/block/by-name/boot of=/sdcard/boot.img"
adb pull /sdcard/boot.img

Step 2: Install Manager APK, open it, tap "Install" → "Select and Patch a File" → choose boot.img. Output: kernelsu_patched_[random].img.

Step 3: Flash the patched image:

bash
adb pull /sdcard/Download/kernelsu_patched_*.img
adb reboot bootloader
fastboot flash boot kernelsu_patched_*.img
fastboot reboot

Step 4: Open Manager to verify - should show "Installed" with LKM mode.


Method 3: Custom Kernel ​

Best for: Devices with community kernel support

Find device-specific kernels with KernelSU integration on XDA Forums, Telegram groups, or GitHub. Popular options include Sultan Kernel (Pixel), and various device-specific builds from WildKernels.

bash
# For IMG files
adb reboot bootloader
fastboot flash boot custom_kernel.img
fastboot reboot

# For ZIP files (requires custom recovery like TWRP)
# Boot to recovery → Install ZIP → Reboot

Post-Installation Setup ​

Initial Steps ​

  1. Verify root access - Open Manager, confirm "Installed" status. Test: adb shell su -c "id"
  2. Configure Manager - Enable hiding (rename for banking apps), require authentication, enable safe mode
  3. Install a metamodule (required for module support - see next section)
  4. Set up App Profiles for granular root control
  5. Backup your patched boot image for recovery

App Profile System ​

App Profiles are KernelSU's unique feature - granular permission control per app, beyond simple root grant/deny.

What you can control per app:

  • Root access on/off
  • File system access (read/write/deny per path)
  • Hardware access (camera, mic, GPS, sensors)
  • Network access and domain restrictions
  • Resource limits and SELinux context
  • Mount namespace isolation

Quick Examples ​

Profile TypeRootFilesystemHardwareUse Case
Banking SecureDENIEDApp data only, /sdcard deniedAll deniedBanking/finance apps
Developer AccessFULLFull accessAll allowedDev tools, ADB
Gaming OptimizedDENIEDApp data onlyGPU high priorityGames, anti-cheat

Apply a Profile ​

  1. KernelSU Manager → App Profiles → "+" → select app
  2. Configure permissions (root, filesystem, hardware, network, resources)
  3. Save and restart the app

Export/Import via CLI:

bash
ksud profile export com.example.app > profile.json
ksud profile import com.target.app < profile.json

TIP

See official App Profile docs for complete configuration options.


Metamodules and Modules ​

What is a Metamodule? ​

Current KernelSU releases no longer include built-in module mounting. A metamodule provides the mounting infrastructure - without one, modules that modify /system will install but not mount. (Modules using only scripts, sepolicy, or system.prop still work without one.)

This applies to all variants: Official KernelSU, KernelSU-Next, Wild KSU, SukiSU-Ultra, and ReSukiSU.

Why metamodules?

  • Reduced detection surface (KernelSU itself doesn't mount)
  • Flexibility to choose your mounting method (OverlayFS, Magic Mount, hybrid)
  • Core KernelSU stays stable while mounting evolves independently

WARNING

Only one metamodule can be active at a time. To switch, uninstall all regular modules → uninstall metamodule → reboot → install new metamodule → reinstall modules.

Available Metamodules ​

MetamoduleDescriptionBest For
meta-overlayfsOfficial reference using OverlayFSMost users, standard setup
mountifyOverlayFS + tmpfs/ext4 sparse, cross-platformReduced detection, multi-root
meta-hybrid_mountDual engine (OverlayFS + Magic Mount) + auto-fallbackAdvanced control, stealth
meta-mmLightweight Magic Mount alternativeMagisk-like mounting
ZeroMountMountless VFS path redirection + SUSFSMaximum stealth

Recommendation: Start with meta-overlayfs or mountify.

Installing a Metamodule ​

  1. Download metamodule ZIP from GitHub releases
  2. KernelSU Manager → Modules → "Install from storage" (➕)
  3. Select the ZIP → Reboot

The active metamodule shows in your module list with a special designation.

Installing Regular Modules ​

Prerequisite: A metamodule must be active.

  1. KernelSU Manager → Modules → "Install from storage"
  2. Select module ZIP → Reboot when prompted

CLI alternative:

bash
ksud module install /path/to/module.zip
ksud module list
ksud module enable/disable module_id
ksud module remove module_id

Module Compatibility ​

Module Troubleshooting ​

IssueLikely CauseFix
Not mountedNo metamoduleInstall metamodule → reboot
BootloopBad moduleHold power 10s → Volume Down at boot (safe mode) → disable/remove module
Root hiding not workingNeed ZygiskInstall ZygiskNext
Module incompatibleWrong metamoduleTry different metamodule

Root Hiding and Play Integrity ​

Modern banking apps use Play Integrity API with hardware-backed attestation - increasingly difficult but not impossible to manage on rooted devices. KernelSU's kernel-level approach offers better evasion than userspace methods.

StepActionDetails
1Hide ManagerKernelSU Manager → Settings → "Hide the KernelSU Manager" → rename (e.g., "Settings")
2Banking ProfileCreate App Profile denying root, filesystem, and hardware access for banking apps
3Install SUSFSFor SUSFS-patched kernels - advanced root hiding with filesystem manipulation
4Install Play Integrity FixUse Play Integrity Fork or Play Integrity Fix (inject) for MEETS_DEVICE_INTEGRITY
5Clear app dataClear data for Google Play Services, Play Store, and banking apps → Reboot

What's Realistic ​

  • Basic Integrity: PASS - achievable with proper setup
  • Device Integrity: PASS - possible with PIF + TrickyStore (keybox required for locked-bootloader-equivalent verification)
  • Strong Integrity: FAIL for most - requires an unrevoked hardware keybox (increasingly scarce)

Testing Tools ​

WARNING

No guarantees. Some apps may still detect root despite all measures. Always test your specific apps.


Troubleshooting ​

Common Issues & Fixes ​

IssueLikely CauseSolution
Manager shows "Unsupported"Device not GKI 2.0 compatibleTry KernelSU-Next or SukiSU-Ultra for broader compat, or use Magisk
"Not Installed" after flashingWrong GKI kernelUse correct kernel for your Android version; try LKM patching
BootloopIncompatible kernel/moduleFlash stock boot.img via fastboot → fastboot flash boot stock_boot.img
Modules not mountedNo metamodule installedInstall a metamodule (meta-overlayfs recommended) → reboot
Apps not getting rootProfile restriction or Manager issueCheck Manager shows "Installed", verify App Profile, check logs
Banking app detects rootInsufficient hidingHide Manager, create restrictive profile, install SUSFS + Play Integrity Fix
Play Integrity failsDetection not fully bypassedInstall PIF/TrickyStore, clear Google Play Services data

Emergency Recovery ​

Bootloop:

  1. Force reboot (hold power 10s)
  2. Boot to safe mode (Volume Down at boot) - disables all modules
  3. If still looping, flash stock boot.img:
bash
fastboot flash boot stock_boot.img
fastboot reboot

Module causing issues:

  • Disable: touch /data/adb/modules/[module_name]/disable
  • Remove: rm -rf /data/adb/modules/[module_name]
  • Remove all modules: ksud --remove-modules (via ADB)

Next Steps ​

  1. Configure App Profiles for sensitive apps (banking, finance)
  2. Install essential modules: ZygiskNext (Zygisk support), SUSFS (root hiding), Play Integrity Fix
  3. Explore: LSPosed Framework, Custom ROMs, Root Apps Collection
  4. Optimize: Ad Blocking, Debloating

Community Resources ​

ResourceLink
Official Websitekernelsu.org
Official GitHubgithub.com/tiann/KernelSU
Official Module Repositorymodules.kernelsu.org
Telegram (Official)@KernelSU
Redditr/KernelSU
Awesome KernelSU Resourcesgithub.com/fynks/awesome-kernelsu

Getting help: When asking, provide device model, kernel version (adb shell uname -r), your variant and mode, installation method, and exact error details.