
Introduction of Canting Kernel
Contents
Canting is a security-focused Android kernel based on Google’s kernel-common and CAF, named after a traditional batik tool.
Project Discontinuation Notice
Please be advised that as of October 2025, the Canting Kernel project is no longer under active development. The landscape of Android customization has grown increasingly complex, making it difficult to continue providing the level of support and updates this project deserves.
The source code and all existing releases will remain publicly available for archival and educational purposes. However, no further updates, security patches, or support will be provided.
Source Codes
xiaomi-msm8953
xiaomi-sdm845
Features
- Upstream with latest linux-stable releases
- Upstream with latest CAF-kernel releases
- Clang supported
- CPU Governors: schedutil, powersave, performance
- I/O Schedulers: noop, cfq
- Compat vDSO from Pixel kernel
- TCP Congestion Algorithm: bbr, westwood, reno, cubic
- WireGuard VPN support
- Boeffla wakelock blocker
- Simple Low Memory Killer
- Sound Control: Speaker, Microphone, Headphone (Per-channel control)
- KCAL & KLapse Interface
- Vibration Intensity Control
- backlight min option
- Removed safetynet flags (no need of magisk to bypass safteynet)
- Extend File System Support: F2FS, EXFAT, NTFS
- and many more
Device Support
canting-3.18.y
MSM8953abandoned
canting-4.9.y
How to Build
This section describes how to set up your local work environment to build the Canting Kernel. You must use Ubuntu/Debian.
Set-up Environment
- Instal required packaged for Ubuntu based distro, according to the source.android.com and xdaforums.com. Install the following packaged:
| |
- Clone the kernel trees For an example, we are going to build canting-4.9.q for sdm845 into canting as directiories:
| |
3. Clone required toolchain, at this point only Clang with prebuilt binutils(arm and arm64) in it to build canting-kernel.
| |
Compile Kernel
- Make sure to clean the kernel trees
| |
2. Export required crosscompile, previously we use prebuilt google-clang.
| |
3. Make the device config and build the kernel, at this point we will build dipper kernel.
| |
Repack Kernel Image
At this point, we are going to repack the kernel image into flashable kernel.zip. There is a powerfull flashable.zip made by Chris Renshaw called AnyKernel. All of supported kernel are able to use those flashable.zip, just follow this guides:
- Clone Canting-AnyKernel repository, for an example we use dipper branch
| |
2. Copy or move the kernel images into the AnyKernel directories
| |
3. Compress the kernel using zip
| |

