Kernel Development – Part 1

First, a little background. A few days ago I bought a very interesting device, the Cherry Mobile Flare. I won’t post specs but if any of you’re interested, it’s a re-brand of the Karbonn A9+. Anyways, a few days into using this device, I find the current kernel to have quite a huge potential if modded. Maybe adding new IO governors, new compiler, etc. Unfortunately, the source code for the kernel is still unavailable as of the writing of this post. So what is a motivated kernel dev to do? 😀

Firstly, we need to know the basic command capabilities of the device. Namely the ff:

Since our device is already rooted, we can check adb functionality already on the list.Now we try whether we can boot to the bootloader and if so, connect via fastboot by executing:
adb reboot bootloader

In this case, it boots successfully to bootloader. If you’re on a windows machine, you’ll find that the device becomes unrecognized again. This is because the fastboot interface requires a different driver which can also be found with the drivers you used in installing the ADB interface driver. Once, you install it, it should be recognizable in fastboot using the ff. command:
fastboot devices

Now we’ve checked both adb and fastboot functionality on our list. Since fastboot actually works, this saves us a lot of time with trying to find a way of either flashing or booting test kernels when we actually have one. The next part of this post will detail how we can obtain the current boot.img and recovery.img from the device.

Kernel Development

In the next few posts, I’ll be discussing about the steps I’m taking in creating a kernel mod for my newest device, the Cherry Mobile Flare. This device is based on the Karbonn A9+ model. I’ll also be skipping on the steps on how to get root privileges on the system as this could vary between different devices, firmware versions, etc. Stay tuned! 🙂