How can I update the Linux kernel of my Android device?
I am using Sony Xperia E Dual with the kernel that identifies as 3.0.8-perf administrator@ubuntu-scm01 #1 and now I want to update it to the latest and the best one. Please help me understand it can be done. According to my findings the website https://www.kernel.org/ offers the latest kernels. Are these kernels for smartphones? And does anyone have an idea of from where to get the latest kernel? How do I replace the existing one?
1 Answer 1
The kernel on your device is tied heavily to the version of the Android operating system you’re running. Sony releases your phone with the «stock ROM» (think a «stock» car in stock car racing; no customization, just as-is from the factory), including the stock kernel. Normally, your kernel would be updated when the operating system — your «ROM» — is updated. This would be the only way to get an official (from Sony) upgrade, and so the only way you’d get one supported by Sony. I point this out only to remind you that installing a kernel as described below will possibly void your warranty, as the changes are not tested or condoned by Sony, and may operate your device outside the intended limits, or possibly render it useless.
What you find on kernel.org is the human readable kernel source code for not only smart phones, but computers and all devices using the Linux kernel, such as Android tablets, TomTom navigation systems, or Linksys routers. The version you find on your phone has been tweaked specifically for your phone, with all the drivers needed to make things like the touchscreen and camera work. Most likely you will not be building a kernel yourself from the source code, but doing one of two things, instead:
- downloading a kernel built by someone else, who may have used a combination of the newer sources on kernel.org, and the drivers and settings from the kernel released by Sony. This would be installed over the top of your existing kernel on your phone, and to you, the phone would appear the same- think a Windows upgrade that changes things behind the scenes with little or no noticeable changes to the user. A popular feature in custom kernels is overclocking, which runs the phone at a faster speed than it was originally designed, but will probably decrease the life of the phone itself, as overclocked chips run hotter than intended. The risk is something you should research for yourself- I personally slightly overclock both my android phone and tablet.
- downloading a custom built version of Android built specifically for your phone. Some of these custom ROMs are extremely similar to the one Sony releases, including maybe the same kernel, or possibly the same interface with a different kernel. Some of the custom ROMs are extremely different, with changes to the user interface, various settings, maybe additional features borrowed from other phones- and may include a custom built kernel, complete with drivers so your phone’s camera, wireless radios etc. all fully function. This may (and almost always does) require you to completely wipe the existing software on your phone, as if you were wiping and re-installing (or installing a newer version of) Windows or MacOS on a computer. It is rare that custom ROMs can be installed as an upgrade over existing, «stock» ROMs. After «flashing» (installing) the new ROM, your phone will behave as if it is the first time you have turned it on. Proper backups are key, and you may want to look into apps such as «Titanium Backup,» which save settings and apps that can be restored after your phone has been «flashed» with a new ROM.
As for finding which custom kernel or custom ROM to use, that is entirely up to you, and you should do a bit of research. Most importantly, I’d ask why you want to use a newer version of the Linux kernel on your phone. If there are no issues you can point to that would be fixed with a newer version, and no specific features you could gain from using a custom kernel, there might not be a good reason to change. Sometimes newer kernels can increase battery life by tweaking the way the phone operates, reacts, sleeps etc., but not always. It’s possible the ‘best’ kernel to use is the one Sony currently includes with the version of Android currently on your phone. You may find a custom ROM that includes certain features or changes to the user interface you’d like to see, and that ROM may use the same kernel Sony has made available.
Now, kernels and ROMs are device specific, meaning you’ll not be able to use a kernel or ROM as-is built for, say, an HTC or Samsung device, or even most other Sony devices. I would highly recommend the xda-developers forums; a community for users and programmers who have taken to building and collectively supporting custom kernels and ROMs for various devices, as well as toolkits for rooting devices, installing new kernels and ROMs, and backing up/restoring all the software on your phone as a whole (just as you would to backup and restore a computer in case of a hard drive failure). Odds are, if anyone has built a custom ROM or kernel for your phone which is stable enough for the public to use, they have mentioned and linked to it there.
The steps to prepare your phone for a new kernel or completely new ROM vary from device to device. Your device comes «locked»- not allowing custom software without acknowledging that you are taking a risk of ruining your device- and will need to be unlocked first, following the instructions on this official Sony site. Then you will need to install a custom «recovery» (software which loads before Android even starts, and is independent from your ROM), and use that recovery interface to make a backup of your current ROM before making any changes. You then use the recovery to wipe the device and install the new ROM, or just install a new kernel over the top of your existing ROM.
The forum for your specific device, the Sony Xperia E Dual, can be found here, with discussions on how to complete all the necessary steps for your specific device, tools you may need, and custom kernels and ROMs in the two ‘Development’ forums. I can’t stress enough that you try to find a walk-through that you are comfortable with understanding, as you can easily leave your device in an unusable state, or in extreme cases, «brick» the device, rendering it more or less useless. Most ROMs come with a list of steps to follow, and, fortunately, other device owners, and the people responsible for the custom ROMs and kernels can be a helpful resource.
Good luck, and welcome to one of the very best parts of owning an Android device: customization!