Skip to content

KernelSU Root Installation Guide

Kernel-based root solution for Android offering advanced security, granular app control, and superior root hiding at the kernel level.

Quick Navigation

Related Guides:


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.


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.