KernelSU Root Installation Guide
Kernel-based root solution for Android. Install KernelSU for advanced security, granular app control, and superior root hiding.
Quick Navigation
- What is KernelSU
- Installation Modes
- Prerequisites
- Installation Guide
- App Profiles
- Module Management
- Troubleshooting
Related Guides:
- Main Rooting Guide - Complete rooting overview
- Bootloader Unlocking - Required first step
- Root Comparison - Compare with Magisk and APatch
- Troubleshooting Guide - Common issues and fixes
- FAQ - Common questions
Understanding KernelSU
KernelSU is a kernel-based root solution that operates at the Linux kernel level, providing enhanced security and advanced app permission control compared to traditional userspace root methods.
Core Features
- Kernel-Level Integration - Direct kernel modification for enhanced security
- Advanced App Profiles - Granular root permission control per application
- Superior Hiding - Better detection evasion than traditional methods
- GKI Compatibility - Optimized for Generic Kernel Image devices
- LKM Support - Loadable Kernel Module architecture
KernelSU vs Alternatives
Feature | KernelSU | Magisk | APatch |
---|---|---|---|
Architecture | Kernel-based | Userspace overlay | Kernel-based |
Android Support | 11+ (GKI 2.0+) | 6.0+ | 9+ |
Root Hiding | Excellent | Good | Excellent |
App Control | Advanced Profiles | Basic | Basic |
Module System | Growing (300+) | Mature (1000+) | Limited (50+) |
Ease of Use | Moderate | Easy | Moderate |
Custom Kernel | Optional | Not needed | Not needed |
Choose KernelSU if:
- You have Android 11+ device
- You want best root hiding
- You need fine-grained app control
- You use banking/payment apps
- You prefer kernel-level security
TIP
Detailed comaprison with other root solutions: Root Comparison
Installation Modes
KernelSU supports two installation modes on GKI devices.
GKI Mode
How it works: Replaces device's original kernel with KernelSU Generic Kernel Image.
Advantages:
- Universal GKI device compatibility
- Works on Samsung Knox devices
- Independent of firmware updates
- Better for heavily modified devices
Disadvantages:
- Loses manufacturer kernel optimizations
- Requires manual fastboot flashing
- Must reflash after major updates
Best for: Samsung devices, emulators, WSA, custom ROMs
LKM Mode (Loadable Kernel Module)
How it works: Loads KernelSU as kernel module without replacing kernel.
Advantages:
- Preserves original kernel and optimizations
- Easy in-app updates
- OTA-friendly (install to inactive slot)
- No AVB/dm-verity issues
- Can disable without reboot
Disadvantages:
- Requires official firmware
- May not work on all devices
- Less compatible with modified firmwares
Best for: Most modern phones with stock/near-stock firmware
Which Mode to Choose?
Device Type | Recommended Mode | Reason |
---|---|---|
Stock firmware phones | LKM | Preserves optimizations, easy updates |
Samsung devices | GKI | Knox compatibility |
Custom ROMs | GKI | Better modified firmware support |
Emulators/WSA | GKI | Universal compatibility |
Heavily modified | GKI | More reliable |
Prerequisites
Critical Requirements
ESSENTIAL PREREQUISITES
Unlocked Bootloader - KernelSU requires unlocked bootloader. Complete bootloader unlocking first.
GKI Compatible Device - Android 11+ with GKI 2.0 kernel (5.10+) required.
Complete Backup - Backup all important data before proceeding.
Battery 50%+ - Ensure sufficient battery to prevent interruption.
Hardware Requirements
- Android device with unlocked bootloader
- Android 11+ with GKI 2.0 (kernel 5.10+)
- 50% or higher battery charge
- Quality USB cable (data-capable)
- Computer (Windows, macOS, or Linux)
Software Requirements
On Computer:
- Android Platform Tools (ADB/Fastboot)
- Device-specific USB drivers (Windows only)
- Stock firmware for your device
On Device:
- Latest KernelSU Manager APK from GitHub
- File manager app
- At least 500MB free storage
Compatibility Check
Verify GKI Compatibility:
# Check kernel version
adb shell uname -r
# Should show 5.10 or higher
# Check for GKI support
adb shell cat /proc/version
# Look for "GKI" in output
Android Version Support:
Android Version | Kernel Version | KernelSU Support |
---|---|---|
Android 15 | 6.6+ | Full support |
Android 14 | 6.1, 5.15 | Full support |
Android 13 | 5.15, 5.10 | Full support |
Android 12 | 5.10, 5.4 | Full support (GKI 2.0) |
Android 11 | 5.4, 4.19 | Partial support |
Android 10 and older | Various | Not supported |
Check Device Compatibility:
- Download KernelSU Manager APK
- Install on device
- Open app and check status:
- "Not Installed" = Supported, proceed with install
- "Unsupported" = Custom kernel compilation required
Installation Methods
Four installation methods available. Choose based on your device and needs.
Method 1: Pre-Built GKI Kernel (Easiest)
Best for: Users with officially supported devices
Step 1: Check Supported Devices
Visit KernelSU Device List to see if your device has pre-built kernel.
Step 2: Download Pre-Built Kernel
- Visit KernelSU Releases
- Download GKI kernel for your Android version
- Example:
kernel-android13-5.15-2025.01.img
Step 3: Flash Kernel
# Transfer kernel to computer
# Boot to fastboot
adb reboot bootloader
# Verify fastboot connection
fastboot devices
# Flash KernelSU kernel
fastboot flash boot kernel-android13-5.15-2025.01.img
# Reboot device
fastboot reboot
Step 4: Install Manager
- Download KernelSU Manager APK
- Install on device
- Open app to verify installation
Expected result: App shows "Installed" with version number.
Method 2: Boot Image Patching (LKM Mode)
Best for: Devices without pre-built kernels, LKM mode preference
Step 1: Extract Stock Boot Image
From Stock Firmware:
# Extract boot.img from firmware ZIP
unzip stock_firmware.zip boot.img
From Device (requires temporary root):
adb shell su -c "dd if=/dev/block/by-name/boot of=/sdcard/boot.img"
adb pull /sdcard/boot.img
Step 2: Install Manager and Patch
- Install KernelSU Manager APK on device
- Transfer boot.img to device Downloads folder
- Open KernelSU Manager
- Tap "Install"
- Select "Select and Patch a File"
- Choose boot.img
- Wait for patching
Output file: kernelsu_patched_[random].img
in Downloads
Step 3: Flash Patched Boot
# Transfer to computer
adb pull /sdcard/Download/kernelsu_patched_xxxxx.img
# Boot to fastboot
adb reboot bootloader
# Flash patched image
fastboot flash boot kernelsu_patched_xxxxx.img
# Reboot device
fastboot reboot
Step 4: Verify Installation
- First boot may take 2-5 minutes
- Open KernelSU Manager
- Should show:
- KernelSU: Installed (version)
- Mode: LKM or GKI
LKM MODE BENEFITS
LKM mode preserves manufacturer kernel optimizations and supports in-app updates.
Method 3: Custom Kernel Installation
Best for: Devices with custom kernel support, advanced users
Step 1: Find Custom Kernel
Search for device-specific kernels with KernelSU support:
- XDA Developers forums
- Telegram kernel groups
- GitHub repositories
Popular kernels with KernelSU:
- Sultan Kernel (OnePlus)
- Kirisakura Kernel (multiple devices)
- Device-specific kernels
Step 2: Download and Flash
# Download custom kernel ZIP or IMG
# If IMG file:
adb reboot bootloader
fastboot flash boot custom_kernel_kernelsu.img
fastboot reboot
# If ZIP file (requires custom recovery):
# Boot to TWRP/OrangeFox
# Install ZIP from storage
# Reboot system
Step 3: Install Manager
- Install KernelSU Manager APK
- Verify installation successful
Method 4: Build Custom Kernel (Advanced)
Best for: Developers, unsupported devices
Step 1: Setup Build Environment
# Install required packages (Ubuntu/Debian)
sudo apt update
sudo apt install -y git build-essential bc bison flex libssl-dev
# Clone your device's kernel source
git clone https://github.com/yourdevice/kernel_source.git
cd kernel_source
Step 2: Integrate KernelSU
# Use official integration script
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -
# Or manual integration
cd kernel_source
git clone https://github.com/tiann/KernelSU.git KernelSU
Step 3: Configure Kernel
Add to kernel config file:
CONFIG_KSU=y
CONFIG_KSU_DEBUG=n
Step 4: Build Kernel
# Export architecture
export ARCH=arm64
export SUBARCH=arm64
# Build
make clean
make mrproper
make defconfig
make -j$(nproc)
Step 5: Flash and Test
# Flash built kernel
fastboot flash boot out/arch/arm64/boot/Image.gz-dtb
fastboot reboot
Post-Installation Setup
Initial Configuration
Step 1: Verify Root Access
Test with terminal:
adb shell
su
# Should grant root access with KernelSU prompt
Step 2: Configure Manager Settings
Open KernelSU Manager > Settings:
General:
- Hide manager icon: Recommended for banking apps
- Require authentication: Enable biometric lock
- Update channel: Stable (recommended)
Advanced:
- Safe mode: Enable volume key trigger
- Logs: Keep for troubleshooting
- Restore on boot: Enable
Step 3: Security Settings
Configure root access:
- Default response: Prompt (recommended)
- Automatic timeout: 10 seconds
- Root logging: Enable for security
- Notification settings: Configure alerts
Understanding Superuser Access
Unlike Magisk:
- KernelSU operates at kernel level
- More secure by design
- Better detection evasion
- Requires App Profiles for advanced control
Basic Superuser:
- Apps request root like normal
- Grant or deny access
- Access logged and tracked
Advanced Control:
- Create App Profiles
- Set granular permissions
- Control file system access
- Limit hardware access
App Profile System
What are App Profiles?
App Profiles are KernelSU's unique feature providing granular control over each rooted app's permissions and capabilities.
Traditional Root:
- App gets root = Full system access
- No granular control
- Security risks
KernelSU App Profiles:
- Define exact permissions per app
- Control file system access
- Limit hardware access
- Set resource limits
- Create security boundaries
Creating App Profiles
Step 1: Access App Profiles
- KernelSU Manager > App Profiles
- Tap "+" to create new profile
- Select target app
Step 2: Configure Basic Permissions
Profile Name: Custom App Profile
Root Access: ON/OFF
UID/GID: Custom or default
SELinux Context: App context or custom
Mount Namespace: Isolated/Global
Step 3: Configure File System Access
System Partition:
/system: Read Only
/vendor: Read Only
/product: Restricted
Data Access:
/data: Limited to app data
/data/app: Read only
/sdcard: Full access
Critical Paths:
/system/bin: No write
/system/etc: No write
Step 4: Hardware and Network
Hardware Access:
Camera: Allow/Deny
Microphone: Allow/Deny
GPS: Allow/Deny
Sensors: Restricted
Network:
Internet: Allowed
Specific domains: Whitelist mode
Port restrictions: Custom
Step 5: Resource Limits
Performance:
CPU Priority: Normal/High
Memory Limit: No limit/Custom
I/O Priority: Normal
Logging:
Command logging: Enabled
Access logging: Full
Alert on violations: Yes
Pre-Configured Profile Examples
Banking App Profile (Maximum Security):
Profile: Banking Secure
Root Access: DENIED
File System:
/system: Read only
/data: App data only
/sdcard: Denied
Hardware:
Camera: Denied
Microphone: Denied
GPS: Denied
Network: Banking domains only
Logging: Full monitoring
Developer Tools Profile:
Profile: Developer Access
Root Access: FULL
File System:
/system: Read/Write
/data: Full access
/sdcard: Full access
Hardware: All allowed
Network: Unrestricted
ADB Integration: Enabled
Logging: Command history
Gaming Apps Profile:
Profile: Gaming Optimized
Root Access: DENIED
File System: App data only
Hardware:
GPU: High priority
Touch: Low latency
Network: Game servers only
Performance: CPU/GPU boost
Anti-cheat: Bypass root detection
Privacy-Focused Profile:
Profile: Privacy Enhanced
Root Access: LIMITED
File System: Minimal access
Hardware:
Camera: Denied
Microphone: Denied
GPS: Approximate only
Network: Encrypted connections only
Tracking: Blocked
Managing Profiles
Apply Profile to App:
- KernelSU Manager > App Profiles
- Select profile
- Choose target app
- Apply and restart app
Export/Import Profiles:
# Export profile as template
ksud profile export com.example.app > profile_template.json
# Import profile to new app
ksud profile import com.target.app < profile_template.json
Profile Inheritance:
- Create parent profiles for categories
- Child apps inherit settings
- Override specific permissions
- Maintain consistency
Managing Modules
Module System Overview
KernelSU Modules:
- Use OverlayFS system
- Kernel-level integration
- Systemless modifications
- Growing ecosystem (300+)
Module Compatibility:
- Most system overlay modules work
- Some Magisk modules compatible
- Zygisk modules need ZygiskNext
- Growing native module support
Installing Modules
Method 1: Manager Installation
- Download module ZIP from trusted source
- KernelSU Manager > Modules
- Tap "Install from storage"
- Select module ZIP
- Wait for installation
- Reboot when prompted
Method 2: Command Line
# Install module
ksud module install /path/to/module.zip
# List installed modules
ksud module list
# Enable/disable module
ksud module enable module_id
ksud module disable module_id
# Remove module
ksud module remove module_id
MODULE SAFETY
Only install modules from trusted sources. Always verify source code for open-source modules.
Module Troubleshooting
Click to expand content
Module Causes Bootloop:
- Force reboot: Hold power 10 seconds
- Boot to safe mode: Volume down at boot
- Disable module via recovery or ADB:
adb wait-for-device shell
ksud --remove-modules
# Or specific module:
rm -rf /data/adb/modules/[module_name]
Module Not Working:
- Check KernelSU version compatibility
- Verify module logs:
/data/adb/modules/[module]/
- Check if module requires Zygisk
- Try reinstalling module
- Check for module updates
Root Hiding and Play Integrity
Root Detection Reality
Modern Banking Apps:
- Use Play Integrity API
- Hardware-backed attestation
- Increasingly difficult to bypass
KernelSU Advantages:
- Kernel-level hiding (better than userspace)
- More effective root concealment
- Better Play Integrity passing rates
Configure Root Hiding
Step 1: Hide Manager App
- KernelSU Manager > Settings
- "Hide the KernelSU Manager"
- Enter custom name (e.g., "Settings")
- App repackages with new icon/name
Step 2: Create Banking Profile
Use strict App Profile (see examples above) to deny root access to sensitive apps.
Step 3: Install Root Hiding Modules
SUSFS - Advanced root hiding
- Download from GitHub
- Install via KernelSU Manager
- Configure for banking apps
Play Integrity Fix - Pass integrity checks
- Download compatible version
- Install and configure
- Test with YASNAC app
Step 4: Clear App Data
After configuration:
- Settings > Apps
- Clear data for:
- Google Play Services
- Google Play Store
- Banking apps
- Reboot device
- Reopen apps
Testing Play Integrity
Testing Apps:
- YASNAC - SafetyNet checker
- Play Integrity API Checker - Official checker
- TB Checker - Comprehensive tests
Expected Results:
- Basic Integrity: PASS (achievable with proper setup)
- Device Integrity: FAIL (expected with unlocked bootloader)
- Strong Integrity: FAIL (hardware attestation impossible)
NO GUARANTEES
Even with KernelSU's better hiding, some banking apps may still detect root. Always test your specific apps.
Troubleshooting
Installation Issues
Click to expand content
Manager Shows "Unsupported"
Causes:
- Device kernel not GKI 2.0 compatible
- Android version too old (< Android 11)
- Non-GKI custom kernel
Solutions:
- Verify Android 11+ and kernel 5.10+
- Check for custom kernel with KernelSU support
- Consider building custom kernel
- Try Magisk as alternative
Manager Shows "Not Installed" After Flashing
Causes:
- Wrong kernel flashed for device
- Flashed to wrong partition
- GKI mismatch with Android version
Solutions:
- Verify correct GKI kernel for Android version
- Re-flash with correct kernel
- Check fastboot output for errors
- Try LKM boot patching method
Device Bootloops After Installation
Solutions:
- Boot to fastboot immediately
- Flash stock boot.img:
fastboot flash boot stock_boot.img
fastboot reboot
- Verify correct GKI version
- Check for device-specific kernel requirements
Root Access Issues
Click to expand content
Apps Not Getting Root
Solutions:
- Check KernelSU Manager shows "Installed"
- Grant root to shell:
adb shell su
- Check App Profile settings
- Verify app is requesting root properly
- Check logs in KernelSU Manager
Root Access Randomly Lost
Solutions:
- Check if KernelSU still showing installed
- Reinstall via Manager > Install > Direct Install
- Check for module conflicts
- Review recent app profile changes
Module Problems
Click to expand content
Module Not Loading
Solutions:
- Check module compatibility with KernelSU
- Verify module uses OverlayFS (not Magic Mount)
- Check if module needs ZygiskNext
- Review module logs
- Try reinstalling module
Need Zygisk Module Support
Solution:
- Install ZygiskNext module
- Download from GitHub
- Install via KernelSU Manager
- Reboot device
- Zygisk modules now supported
Banking App Issues
Click to expand content
App Detects Root Despite Profile
Solutions:
- Verify App Profile denies root completely
- Hide KernelSU Manager with different name
- Clear app data completely
- Install Shamiko module
- Install Play Integrity Fix
- Accept that some apps may be impossible (hardware attestation)
Play Integrity Fails
Solutions:
- Install Play Integrity Fix module
- Configure proper device fingerprint
- Clear Google Play Services data
- Wait 24-48 hours for propagation
- Accept Device/Strong may be impossible
Next Steps
After Installing KernelSU:
Configure App Profiles:
- Create profiles for sensitive apps
- Set up banking app restrictions
- Configure development tools
Install essential modules:
- ZygiskNext for Zygisk support
- Shamiko for root hiding
- Play Integrity Fix for banking
- Ad blocking modules
Explore advanced features:
- LSPosed Framework - App modifications
- Custom ROMs - Next level
- Root Apps Collection - Essential apps
Optimize security:
- Ad Blocking Guide - System-wide blocking
- Debloating Guide - Remove bloat
- Profile hardening for all apps
Community Resources
Official Resources:
- KernelSU Website - Official documentation
- KernelSU GitHub - Source code and releases
- KernelSU Telegram - Official community
Support Communities:
- Reddit r/KernelSU - Community discussions
- XDA Device Forums - Device-specific help
Awesome Android Root resources:
- FAQs - Common questions
- Troubleshooting Guide - Common issues
Getting Help
When asking for help, provide:
- Device model and Android version
- Kernel version:
adb shell uname -r
- KernelSU version and mode (GKI/LKM)
- Installation method used
- Exact error messages
- KernelSU logs from Manager
- Steps already attempted