The kernel is one of the key parts of any computing system, serving as a bridge between the hardware and the software.
Most Android hacking activities will involve installing a custom ROM – replacing the device’s firmware – and as such affect the user experience, but the kernel can also be changed and bring about enhancements that will be more geared towards the device’s actual performance. Android is based on the open source Linux kernel and is ripe for tweaking and improving.
New kernels for your device can allow you to speed it up by overclocking it, improve battery life by slowing the processor down whilst its not needed and much more. With any hacking and tweaking its vital that you make a backup of your device before you start, while installing a new kernel is highly unlikely to cause any permanent damage to your device, if you flash one that is not compatible with your current ROM it may mean it can’t boot.
If this is the case then you just need to reboot into recovery mode and restore the backup. This guide will take you through the process of finding a kernel, copying it to the phone , flashing it and then exploring some of its features.
You will, of course, need to have a rooted device in order to complete the process.
Before you begin it is essential to create a full backup of your phone. Switch off your phone and then boot into recovery, usually by holding down the volume down key and power button simultaneously. Navigate your way to the Backup/Restore option, then choose Backup to begin.
You can flash new kernels in the same way you would a new ROM. Only instead of using the ROM Manager app there’s an app called Kernel Manager that you can get from the Play Store. There is a paid version, but the free version will also work for this tutorial.
Using Kernel Manager
Open up Kernel Manager and tap on Load Kernel List , then accept the request for root privileges. You should then see a list of compatible kernels for your current ROM (kernels are ROM as well as device dependent). In the description of each kernel you will see a list of abbreviated features such as CIFS ,HAVS , Overclock etc.
Choose your kernel
Pick your kernel based on what you want it for. Most will support overclocking and undervolting, which will enable the processor to run at a faster speed, or will tell the hardware to draw a lower voltage and use less power. Choose the kernel you want and select ‘Download and flash kernel’.
Flashing the kernel
Your new kernel will first be downloaded and then the process of flashing it to your phone will begin. Once the process is completed your device should then reboot, don’t worry if this takes slightly longer than normal. Once it’s booted you can then start to explore the new features.
Adjust the CPU speed
We’ll use our new kernel to adjust the speed of the CPU. Download SetCPU from the Play Store and open it. Then select ‘Autodect Speeds Recommended’ , accept the root request and the app will configure some fairly safe settings. Usually this will speed up your device.
There are two settings you can adjust, one for maximum clock speed, one for minimum. To save battery you can drop the top value down a little, maybe by a third. You can then tweak this value to find a level you are comfortable with.
Save your profile
Profiles can be used to adjust the processor speed of your device depending on what state its in. For example, while its plugged in you probably are not bothered about battery drain so you can set the max level to the top, and the min higher to increase responsiveness.
Finding other kernels
Kernel Manager is not the sole source of kernels. Newer ones, or those for less popular handsets can be found elsewhere online. A good place to start is the forum for your specific handset at forum.xda-developers.com. Specific kernels are often required for specific ROMs.
Other kernel features
There are many other features that can be added by a new kernel. A common one is CIFS, which uses the popular Samba file sharing protocol and enables you to mount drives from your LAN. Look for apps in the Play Store for this and other kernel-related features.
Read more great hacking tutorials on littlegreenrobot.co.uk