# KernelSU > KernelSU is an open-source, kernel-based root solution for Android GKI devices. KernelSU runs inside the Linux kernel and grants root access to permitted apps directly from kernel space. It consists of a kernel module (loaded as an LKM or built into a GKI kernel), the userspace daemon `ksud`, and the KernelSU manager app. Most Magisk modules work on KernelSU; modules that modify `/system` require a metamodule such as meta-overlayfs. ## Official links - Website: https://kernelsu.org - Source code: https://github.com/tiann/KernelSU - Downloads (manager APK, LKM and GKI images): https://github.com/tiann/KernelSU/releases - Telegram: https://t.me/KernelSU ## Table of Contents ### Guide - [What is KernelSU?](https://kernelsu.org/guide/what-is-kernelsu.md): KernelSU is an open-source, kernel-based root solution for Android GKI devices. It grants root to permitted apps from kernel space and supports Magisk-style modules. - [Difference with Magisk](https://kernelsu.org/guide/difference-with-magisk.md): Similarities and differences between KernelSU and Magisk modules, covering the shared module format, boot scripts, and KernelSU-specific behavior. - [Installation](https://kernelsu.org/guide/installation.md): How to install KernelSU on Android GKI devices. Check device support, back up the stock boot image, and install in LKM mode or GKI mode. - [How to build](https://kernelsu.org/guide/how-to-build.md): Archived reference for building an Android GKI kernel with KernelSU built in. No longer maintained; build the LKM with Ylarod/ddk instead. - [Integrate for non-GKI devices](https://kernelsu.org/guide/how-to-integrate-for-non-gki.md): Archived guide to integrating KernelSU into non-GKI kernels via kprobe or manual source changes. Official non-GKI support ended in KernelSU v1.0. - [Unofficially supported devices](https://kernelsu.org/guide/unofficially-support-devices.md): Archived list of community-maintained non-GKI kernel sources with KernelSU support. Not reviewed by KernelSU developers; use at your own risk. - [Module guide](https://kernelsu.org/guide/module.md): Guide to developing KernelSU modules, including module layout, module.prop, the customize.sh installer, boot scripts, and late-load mode. - [Metamodule](https://kernelsu.org/guide/metamodule.md): Metamodules are pluggable KernelSU modules that control how regular modules are mounted and installed. Learn how to use one such as meta-overlayfs, or build your own. - [Module WebUI](https://kernelsu.org/guide/module-webui.md): Build a web interface for a KernelSU module with HTML, CSS, and JavaScript, using the webroot directory and the JavaScript API exposed by the manager. - [Module Configuration](https://kernelsu.org/guide/module-config.md): Built-in key-value configuration for KernelSU modules, with persistent and temporary values managed through the ksud module config command. - [One-shot scripts](https://kernelsu.org/guide/module-script.md): One-shot scripts are module-style ZIP files that the KernelSU manager runs once in a root shell instead of installing. Covers package layout, params.json, and publishing. - [App Profile](https://kernelsu.org/guide/app-profile.md): App Profile restricts the uid, gid, groups, capabilities, and SELinux rules of root apps, and controls whether modules are unmounted for non-root apps. - [Rescue from bootloop](https://kernelsu.org/guide/rescue-from-bootloop.md): How to recover an Android device from a bootloop caused by flashing a KernelSU boot image or by installing a broken module. - [x86_64 Support](https://kernelsu.org/guide/x86_64-support.md): How to run KernelSU on x86_64 kernels where syscall table hardening breaks the KernelSU syscall hook, and how to choose between the supported fixes. - [FAQ](https://kernelsu.org/guide/faq.md): Answers to common KernelSU questions about device support, bootloader unlocking, modules, Zygisk and Xposed, Magisk compatibility, and older kernels. - [Hidden features](https://kernelsu.org/guide/hidden-features.md): Lesser-known KernelSU features, such as loading a custom shell rc file for su from /data/adb/ksu/.ksurc.