September 17, 2014 By: Tomek Kondrat
Those who might have thought that MediaTek would never release working kernel source might have to wipe their eyes right about now. It’d be best for such readers to sit down as all of you are in for a treat. As we talked about some time ago, MediaTek has been making great strides in supporting the development community. And now, MediaTek has honored that commitment with the release of the full source code for the first batch of Android One devices. Start your Linux machines and make sure that there is a lot of coffee on tap, as some serious development will take place for these budget-friendly devices.
Despite MediaTek’s best efforts, the OEMs behind many devices featuring MediaTek chipsets have failed to comply with the GPL-mandated kernel source code release policies. But now, MediaTek has bypassed this problem by pushing code for the 3.4.67 Linux kernel into the kernel/mediatek repo on Google’s Android repo. This means that developers planning to work on Android One devices can clone the source tree and add different governors, overclock, undervolt, and do whatever else they need to do to get development up and running on Android One devices. We hope that Google will also push the device trees of Micromax Canvas A1, Karbonn Sparkle V and Spice Dream Uno like they did with the whole Nexus line, but this has yet to be seen.
You can get the kernel source by entering this command, work on it locally and then push to your own online git repo like Github:
git clone https://android.googlesource.com/kernel/mediatek/ -b android-mediatek-sprout-3.4-kitkat-mr2
Hopefully, we will continue to see more progress like this from MediaTek in the coming weeks and months ahead!
September 13, 2014 By: Tomek Kondrat
In the last few days, we’ve talked about some fairly high end devices receiving official ports of popular ROMs or updates via OTA. Users of mid-range devices usually must be more patient when it comes to waiting for their devices getting developer support. Patience, however, is certainly a virtue.
The HTC Desire 816 was announced at MWC in Barcelona in February of this year and eventually released in April. This 5.5” phablet brought a number of high-end specs into mid-range world. Now, Desire 816 owners have a proper reason for celebration, as XDA Recognized Developer Grarak and XDA Senior Member v_superuser laid the cornerstone for the future development for this device by releasing a CyanogenMod 11. This port is still in quite an early stage and some things simply don’t work. However with a bit of a luck, everything should be fixed in the not so distant future.
There is more of good news for Desire 816 users. The device has been given an official TWRP support. This means that the latest version of the recovery is available to download and should work without issues. Grarak also created a first custom kernel that will enhance the Sense experience.
As you can see, many good things have been happening lately in the Desire 816 community. If you are an owner of this phablet, feel free to visit the CyanogenMod development thread to get some taste of source-built sweets for your device.
The Kindle Fire HD 7” is quite an intriguing device. Technically it uses its own operating system, “FireOS,” which is essentially a skinned variant of Android 4.2.2. Of course, it was only a matter of time before fully fledged Android was ported to this device. Actually, lots of development related activity has happened since September 2012, when the device was made public.
One of the latest development projects for this tablet comes from XDA Senior Member SafinWasi, who compiled a new kernel for this device with fast charge enabled. Fast charge itself isn’t a new concept, and you can find it in various projects since 2011. This modification enables charging with the full power of your AC or USB charger, enabling devices to be fully charged much faster than using the throttled current.
Installation of this kernel is pretty straightforward. All you need to do is reboot your Kindle into the fastboot mode, flash the kernel, and reboot the device. The magic can be done within terminal or by using one of the popular applications able to control the kernel.
If you own a Kindle Fire HD 7”, you may try to boost up the speed of its charging. To do so, head over to the FastCharge kernel for the Kindle Fire HD 7 thread and give it a try. Keep in mind that this kernel is described as an alpha, so there might be some flaws available here and there.
August 26, 2014 By: Tomek Kondrat
Unlike other operating systems, Android uses its own graphical image formats. Most of the images use in the OS are PNGs, but there are some devices that use the RLE image format for their kernel logos. This format provides a pretty good compression ratio and is very fast. Sadly, converting a PNG file to RLE isn’t easy and requires some tools. There are plenty of them, but not many can be described as cross-platform and don’t require ImageMagick to work properly.
If you are looking for a simple tool able to convert PNG files into RLE files in just few seconds, XDA Senior Member alireza7991 has created something for you. PNG2RLE is a text tool that converts raw PNG images into the kernel logo compatible format on almost every OS. It works like a charm on Linux, Windows, and even directly on Android.
Usage is very simple and straightforward. You need to execute the binary and put a path to the input and output files. As a result, you’ll get a RLE file ready to be placed in your device’s ramdisk. In case of any problems, you can read the provided ReadMe file that can be found in one of the files on Github, because PNG2RLE is an open-sourced project.
Don’t leave your kernel with a stock and ugly kernel image. Replace it with your favorite PNGs using PNG2RLE. You can get started by visiting the PNG2RLE original thread.
August 2, 2014 By: Tomek Kondrat
The big hype surrounding Android L’s unveiling caused us all to skip one important change, the debut of the Linux 3.10 kernel in the ARM world. New smartwatches like the LG G Watch and Samsung Gear Live work atop the Linux 3.10 kernel. However, most currently released devices are using the Linux 3.4 kernel, the ninth long-term stable release from 2012, with supports that expires in October 2014. Google is eventually planning to switch to 3.10 from June 2013, the tenth long-term stable release. In the Android Wear source recently pushed to the Google Git, you may find some pretty interesting findings.
If you take a closer look at defconfigs, you might notice that there are some experimental configs available for various platforms. For example, there are files with configs for MSM8974 architecture, widely used in various flagships like the OnePlus One, HTC One (M8) or Google Nexus 5. But Qualcomm SoCs aren’t the only devices covered in the last pushed, as there are configs for Exynos SoCs used mostly in Samsung devices. Does it mean that all supported devices will be updated to work with a new 3.10 kernel? Unlikely, but those configs can be used by developers to enhance the custom kernel building experience.
Like everything, these speculations will be verified once Google decides to finally press the shiny red button and launch Android L to public. Meanwhile, we can wait and analyze the code to find something that can be used in the custom kernel development. The community has proved many times that “impossible” is just a word that can be easily forgotten. If you are willing to sink your teeth into the code, head over to the Google Git, where everything is available.
[Huge thanks to XDA Senior Member r3pwn for the tip!]
There are dozens of overclocking and kernel tweaking apps out there. In addition, some ROMs offer built-in settings to set your CPU governor and overclocking options. However, not every ROM offers such functionality, and many applications that let you tweak the more advanced kernel capabilities are paid-only or freemium.
XDA Recognized Developer pedja1 wants to change this with a free app that lets you work your kernel tweaking magic.Kernel Tuner 2014 is a rewritten version of Kernel Tuner, an app originally intended for HTC Evo 3D. The majority of functions work with other devices, hence the decision to revamp the app, adding some brand new functions.
So, what this app can actually do? Many things. You can fully control the CPU, GPU on Qualcomm devices, voltage, governors, and much more. The list of features is very long, so the best thing to do would be to try it out for yourself on your own device.
To use Kernel Tuner 2014, your phone must be rooted and be running a custom kernel. Obviously, you must also be careful when adjusting your kernel parameters. If you don’t know what you’re doing, be prepared to have a restore image handy.
Unleash the full power of your kernel in a few simple steps. Head over to the Kernel Tuner 2014 application thread to get started.
July 25, 2014 By: Jimmy McGee
HTC One M7 and M8 Android 4.4.3 kernel source code has been released! That and much more news is covered by Jordan, as he reviews all the important stories from this weekend. Included in this week’s news is the announcement of the partial Android Wear Source being uploaded to AOSP and some more speakers who will be at xda:devcon 2014. That’s not all that’s covered in today’s video!
Jordan talks about the other videos released this week on XDA Developer TV. XDA Developer TV Producer TK released an Xposed Tuesday video for PINshortcuts. Then, Adam Unboxed The XDA Way a Samsung Gear Live. And later, TK gave us an Android Wear App Review of EchoWear Song Search. Pull up a chair and check out this video.
Kernel development is undoubtedly one of the most popular and important types of development here on XDA. There are literally thousands of kernel projects available on this site, spread across almost every supported device forum. Creating something original definitely isn’t easy, but given the Linux kernel’s open source nature, it’s easy to learn and incorporate external features into your own builds.
If you ever wondered how to make your favorite kernel even better, you are in the right place to learn! XDA Forum Member srsdani created yet another great video tutorial. This time, srsdani shows viewers how to play with kernel and add some things like CPU governors and I/O schedulers.
There is also a short video explaining how to use the make menuconfig option, which is very useful if you want to add some new features to existing kernel source. After following the steps shown in these videos, you should get ready to flash your new kernel image with the newly added functions. Then once you’ve gotten the hang of things, you can try with other features.
If you are eager to learn some of the basics regarding kernel development such as adding governors and schedulers, visit the original thread.
Not too long time ago, we compared Linaro and GCC to see whether changing your compiler could result in better performance. The process of compiling a kernel with Linaro and other toolchains is similar to using GCC by itself. However, it requires a bit of knowledge and preparation, and this is where guides and tutorials come in.
If you prefer to learn in video form, you should definitely check out the video guide series by XDA Forum Member srsdani. This series of eight movies guides you through all the issues you may face while installing a Linux distro on a VM, configuring it, and of course, building a kernel with Linaro.
The process will take you couple of hours, so this guide will be a perfect companion on your journey to Android development. The guide also contains a few tricks that can be used to extract the kernel config, or dump a boot.img, making the video tutorial even more interesting.
You can find the videos in the original thread. So if you are keen to learn new things related to kernel development, head over there and give it a try.
March 25, 2014 By: Tomek Kondrat
The Sony Xperia Z2 is a flagship device that many end users and developers have been waiting for. A powerful CPU and many unique features make it one of the most interesting phones of the first half of 2014. The device will be soon available to buy in many countries and its development community surely will flourish like previous “Z” devices.
Developers working with Sony devices will be happy to know that a few days ago the GPL-mandated open source files were released for these devices. (Yes, that GPL. *cough* Micromax and MediaTek *cough*.) And thanks to the release, developers such as the FXP group will be able to release unofficial kernels and recoveries soon.
March 20, 2014 By: Tomek Kondrat
The Linux kernel is an absolutely brilliant piece of development work. Every Linux-based operating system uses it as the central unit responsible for process execution, and it serves as the interface between the hardware abstraction layer and your running processes.
Android sits atop the Linux kernel, but the ARM version usually lags behind a release or two when compared to the version used in desktop operating systems like Ubuntu and Arch. It now appears as if this situation will change, as commits available in AOSP repository on Github suggest that Google engineers are working hard on bringing the 3.14 kernel to Android.
This is rather surprising, considering that 3.14 is still not yet officially released, and it is currently only available as a release candidate. It appears that the Android kernel will finally match the revision on kernel.org. This move will reduce the mismatch between releases, and when these newest features are added to the Android kernel. It’s more than likely that we will see the newest kernel in one of the upcoming Nexus devices, which could be released at this year’s Google I/O or even sooner.
There is still some time left until the next generation of Google Nexus devices see the light of day. In the meanwhile, you can study and review the code by visiting the Android kernel Github repository.
[Big thanks to XDA Recognized Developer and Contributor varun.chitre15 for the tip!]
February 3, 2014 By: Tomek Kondrat
The Samsung Galaxy Gear is a somewhat unusual device. The smartwatch was originally designed for the Samsung Galaxy Note 3 and Galaxy S 4 flagships, and quickly became one of the most popular devices in its category. Despite this, it’s still up for debate whether the Galaxy Gear will ever become a commercially successful device. This doesn’t change the fact that development on XDA is quite fruitful, as we’ve already covered a custom ROM made by XDA Senior Member fOmey.
Those of you who use Sony devices may be familiar with XDA Recognized Developer lilstevie. If your memory’s a little rusty, he managed to release LittleKernel and a custom bootloader for several Sony devices some time ago. Recently, lilstevie decided to put his efforts into kernel development for the Galaxy Gear, and that’s how Triangulum kernel was born.
Triangulum is the first custom kernel for the Galaxy Gear, and it adds a few nice things like auto-rooting, init.d support, and most importantly, it unlocks the device’s second processor core. The kernel can be flashed with Odin, Heimdall, or with custom recovery made by fOmey.
If you own a Samsung Galaxy Gear and wish to unlock its full potential, you can find out more in the kernel thread.
Every Android kernel is made of few parts, which (depending on the OEM) contains a zImage created during kernel compilation and a ramdisk where some device-specific settings are stored. Sometimes, the ramdisk contains a recovery, logo, and so on.
If you’ve ever tried to work on a precompiled kernel, you’ve noticed that it can’t be extracted with a simple archive manager. Rather, you need some tools capable of unpacking and repacking the kernel as an IMG file. These tools can be easily built on Linux. And thanks to XDA Senior Member A.S._id, you can download them easily and compile your 0wn.
The current set of tools includes such binaries as: mkbootfs, simg2simg, make_ext4fs, mkbootimg, ext2simg, img2simg, simg2img, sgs4ext4fs, and unpackbootimg. Some of them were created by XDA Senior Recognized Developer Chainfire and the CyanogenMod team.
The compilation process is presented in the thread. It’s really simple, and needs just two commands. If you have problems executing them, don’t forget to set the correct permissions by setting the files as executable. After compilation, you end up with binaries that can be used in the kernel modification process.
Naturally, this tool works only on Linux machines. Having configured Github account is also recommended. You can learn more about those binaries by visiting the original thread.