Simplifying open source with Linux

Linaro is attempting to make it easier to use the Linux operating system in embedded systems. By Graham Pitcher.

For the last decade, Linux has become increasingly attractive for those developing what could be termed 'traditional' embedded systems. That hasn't always been the case, however.

But times have changed. Linux is now more tightly focused when it comes to the embedded world and larger, more affordable memories have eased the footprint issues. One of the attractions of Linux is that it is open source; a wide range of people develop applications which run on the operating system, then feed them back into the public domain. But this is also something of a minus point; over time, a number of so called 'distributions' have appeared: currently, there are more than 600 addressing particular applications.

While not differing violently, the subtle variations between these distributions means some applications might not run as anticipated. The solution is to unify the development work and this is the reasoning behind Linaro. Linaro was set up as a not for profit company by ARM, Freescale, IBM, Samsung, ST-Ericsson and Texas Instruments, in order to focus and align work from a variety of companies, organisations and the open source community.

Aiming to output a validated kernel, low level software and tools release every six months, Linaro intends to deliver an optimised code base, including kernel and middleware, as well as compilers, debuggers and profilers. Such offerings would be made available through member silicon suppliers.
Linaro is also working with open source projects such as GCC – the GNU compiler collection. In Linaro's opinion, open source has been one of the biggest trends in embedded electronics over the last few years and has enabled products with a multitude of software stacks and distributions. It says much of the complexity of using open source is the wide choice available for each component and software package.

This software choice extends all the way down to low level software around the Linux kernel, including power management, boot process and choices over which version of the Linux kernel and tools are used. Linaro's chief technology officer is David Rusling, pictured. He said: "There has been an explosion in the use of Linux in the embedded sector and the reality is that building these kinds of product is tough."

Rusling pointed to four particular problems: under investment in open source projects; distribution fragmentation; SoC fragmentation; and a lack of optimisation. "Some of this is to do with the use of older kernels from silicon providers, who are doing some things differently. Users end up starting projects again as they move platform." Without some kind of centralised effort, the situation is unlikely to change. Hence the perceived need for Linaro.

"Pulling all this together is harder when there's a fragmented market," Rusling noted. Linaro has a two part vision, said Rusling. "It's doing engineering to help the ARM community and it's undertaking coherence and consolidation work, allowing the software to become available more quickly."
Rob Coombs, head of global alliances, added: "The emphasis on 'quicker' is important. It's a complex task to get things working and if you have better tools and the know how to do power management more efficiently, for example, we can make an improvement in time to market." Rusling said the Linaro founders provided 'money and engineers'.

Since the launch in mid 2010, the organisation has grown to some 80 engineers. The goal is to provide a single source tree that supports SoCs featuring ARM's Cortex-A8 and A9 cores, with work organised on six month cycles. The engineering effort is arranged into five working groups, overseen by a technical steering committee. These groups address kernel consolidation' the toolchain; graphics; power management; and multimedia.

Rusling said: "We didn't want a 'tea and doughnuts' approach; we wanted an engineering organisation that got things done. Unfortunately, there have been a lot of interesting initiatives which turned out be people exchanging Powerpoints." Rusling believes the working groups are producing 'good stuff'. "It's an open environment and everything we do is in the open. We don't want secrecy; anyone who is interested can see what we are doing – and that's quite a culture shift for those involved."

The groups are autonomous as they can be, Rusling added. All outcomes from Linaro's work groups will be fed back into kernel.org – the Linux kernel archive. Amongst the first issues to be addressed were the toolchain and the kernel. "With the toolchain," Rusling noted, "we concentrated on two things: better outputs and a wider range of tool support." He added that members are also focused on such issues as board support packages.

While focused on Linux and ARM based SoCs, Linaro also has informal arrangements with all distributions. "It's a very collaborative effort," Coombs noted. Rusling expanded on the point. "Collaboration is important. Suppliers to embedded companies are trying to find ways to work with the open source community. ARM certainly needed to find a way of collaborating and that's what Linaro has been designed to do."

Linaro is also interested in dealing with what Rusling called the 'Linux legacy'. "Embedded design is moving to 32bit," he said, "and complexity is rising; Linux is now more appropriate. But, where technology once flowed from desktop applications to the embedded world, it's now the other way around. That knowledge is flowing into Linaro and we can see lessons are being learned." For the future, Linaro will be working with ARM to deliver open source support for the Cortex-A15, as well as expanding its horizons to embrace new market segments.

Development board launchedOpen source developers can now buy Snowball, a low cost, high performance development board which features ST-Ericsson's AP9500 chipset, along with free open source software and tools.

Using some of the most advanced application processors available, developers can access the performance of a pc in the power footprint of mobile. The Snowball Software Development Kit and Product Development Kit is said to extend the choice for software developers who want to create code and products on a platform that costs less than a netbook, but with greater performance and longer battery life.

The boards feature dual core Cortex-A9 and Mali GPU processors with open source software that has been optimised by Linaro.

"Developers will be able to come to the Linaro website and download the latest kernel, board support package and tools and know they are getting a great foundation to base their code or product on," said Stephen Doel, Linaro's chief operating officer. "Our evaluation builds and validation test farm will ensure there is a quick way to use our engineering directly with the major software distributions on low cost boards such as Snowball."