Have you heard about Linaro? It’s a non-profit organisation made up of eight members working to improve the Linux kernel for ARM architectures (ARM is one of the largest processor developers in the industry). At Sony, we think this initiative is really great, and we can see clear benefits of cooperating in Linux development. Read on as Tony Månsson, Linux developer at Sony, explains why Linaro is so important, and how you can get started on working on the kernel yourself.
Hi! My name is Tony Månsson and I work with Android™ and Linux at Sony.
As you might know, Linux runs on basically everything today, from the tiniest gadgets to the most powerful supercomputers, and on a number of completely different CPU architectures. A couple of years ago, it became clear that features and optimisation for the ARM architecture was lagging behind, and this was largely due to an inefficient development model where competing companies spent time and effort on solving problems behind closed doors, not thinking about that only one of the many similar solutions would eventually be accepted into the upstream kernel.
A handful of the leading vendors of ARM systems-on-chip (SoC) decided to take action and jointly created Linaro. This model created a win-win situation where no effort was wasted on redundant projects. Instead, everybody could focus on the optimal solution.
Although Linaro is funded by the member companies, the Linaro Working Groups are actually very transparent. Discussions and meetings are held publicly online for anyone to follow and if you have the skills, to participate in. There are groups for toolchain, power management, graphics and kernel consolidation.
For Sony, the work on improving Linux for ARM is important, as all these improvements will be upstreamed to the Linux source and benefit all of Sony’s ARM-based products.
Get started with kernel development
Perhaps the most exciting part for independent developers is that the member companies in Linaro supply affordable development boards for the teams to work on. These boards are available for anyone to purchase, and they contain the same SoCs that these companies put in many of their products. What’s more, each month Linaro publishes tested Android and Ubuntu evaluation builds for these boards, comprising of a hot kernel and a tuned toolchain for download.
As you may know, all Sony smartphones currently use ARM SoCs. This means it would be possible to make the Linaro evaluation builds run on an unlocked Sony phone (please note that by doing this you may void your warranty, see the unlock bootloader web site for details). This will not be as easy as it may sound, but you can start experimenting already today. If you’re an advanced developer, you could actually try to build your own Linux kernel for Sony smartphones already today. Some useful resources are available for this. On a high level, the following steps will get you started:
- First, unlock your phone with our unlock bootloader service. This is necessary for you to be able to flash a new kernel or ROM on your phone. Please note that you may void your warranty.
- Download the Linux kernel source code from our open source archives. This is our implementation of the Linux kernel, and you can use it as a base and reference for your own experiments.
- Follow the steps in the blog post How to build a Linux kernel and flash it to the phone, where you can learn the basics of how to make your own Linux kernel based on our open source archives.
- Check out our additional resources for Linux development below. These can be useful when working with the Linux kernel. Please note that these are specific for Xperia™ S (also note that Xperia™ S is not based on any Linaro-supported SoC).
- Binaries for Xperia™ S – Closed source middleware binaries for Xperia™ S are available for download. These binaries are for example hardware drivers that are specific for a certain chipset, and they are necessary to get certain parts of the system working.
- For Xperia™ S, we also provide the Resource Power Manager binary, rpm.bin, which is necessary for building the kernel, along with necessary tools and instructions to build and flash it onto the phone.
If you just want to play around with the kernel, you can use any Sony smartphone listed on the unlock bootloader web site. If you are interested in experimenting with the Linaro evaluation builds, the XperiaTM sola, XperiaTM P or XperiaTM U are a good start. They all use exactly the same SoC as the Snowball board, which is one of the boards supported by the Linaro evaluation builds.
Right now, some of my colleagues and I are attending Linaro Connect, an open event where Linaro members and other ARM Linux supporters meet and exchange their ideas for the future. If you want to know more about this conference, feel free to check out the Linaro Connect website.
Now, what do you think about the Linaro initiative? Drop us a comment below and let us know what you think!