The ARM processor family is a complicated one, with many different
leading to large numbers of separate sub-architectures in the Linux kernel.
A quick glance at the ARM directory in a recent kernel tree
shows nearly 70 different sub-architectures, each corresponding to a
different CPU or system-on-chip (SoC). That complexity has made it
harder to develop new products for new or existing ARM devices.
A new organization that was formed by six silicon vendors, Linaro, seeks to simplify that landscape,
and allow easier—faster—development of ARM-Linux-based products.
Linaro was announced on June
3 as a non-profit company founded by ARM, Freescale, IBM, Samsung,
ST-Ericsson, and Texas Instruments that intends to "provide a
stable and optimized base for distributions and developers by creating new
releases of optimized tools, kernel and middleware software validated for a
wide range of SoCs, every six months." That six-month schedule
aligns with Ubuntu's—the first release is due in November, one month
after Ubuntu 10.10—and Canonical will be heavily involved in the effort.
Linaro already has a project in
Launchpad, Canonical's software collaboration platform, and it will
seemingly take the place of Ubuntu-ARM.
The focus will be on the low-level plumbing for ARM-based systems: the kernel,
development tools, boot loaders, and graphics. The Linaro FAQ and other pages on the
web site make it clear that Linaro is not planning on creating a new
distribution. It is, instead, pitching in on upstream projects to simplify
and optimize for ARM systems. It is not a new distribution, but clearly
the hope is that various distributions will adopt the Linaro contributions.
The company lists current mobile distributions as potential
benefactors of its efforts. Android, MeeGo, LiMo, and Ubuntu are
specifically mentioned as mobile ARM distributions that might benefit from
the work Linaro is planning to do. Because the work will be done in
conjunction with the upstream projects, any other existing or new distribution
can also make use of the improvements.
In addition, Linaro touts its benefits to consumers. By reducing the
complexity for device makers, it will be "enabling exciting
innovative products to come to the market quicker". Focusing on
power consumption will also result in devices that "have longer
battery lives or slimmer cooler designs". Linaro clearly wants to
maintain—increase—the level of ARM adoption in mobile devices.
Linaro will be well-funded, with a budget said to be tens of millions of
dollars, much of which will pay for 80 employees. There are several levels
of membership in Linaro, with two paying classes, Core and Club, which each
provide money and engineers to the organization. For small organizations
or individual contributors, there is the free Community Member class.
There is a rather elaborate organizational structure
that governs the company, as well as a management team in
place. Based on all of that, it seems clear that Linaro wasn't just thrown
together quickly, but
has been in the works for some time.
There are already specific plans for what will be contained in the upcoming
Canonical's Linaro release manager, Jamie Bennett, looks at the
plan for Linaro 10.11 on his blog. There he also provides some more detail
on the fragmentation in the Linux ARM world that led to the formation of
Kernels, boot loaders, and to a lesser extent middleware are being worked
on in isolation with little in the way of standards and a common
direction. This is scary for those who are used to working in the Intel
world where one kernel and one boot loader will pretty much work on all
compatible devices. To really push ARM devices into the standard spaces
Intel currently [enjoys], something needs to be done.
That something is laid out in a detailed release document on
the wiki. The tasks are broken up into four areas: Kernel, Graphics and User
Experience, QA and Validation, and Infrastructure, with Linaro-specific as
well as related Ubuntu tasks listed. Using device trees
to describe different ARM hardware, which could reduce the complexity of
Linux for the platform, is high on the list. While some ARM hackers are
not sold on device trees, a recent linux-kernel discussion about the
proliferation of ARM configurations would indicate that
Linus Torvalds, at least, is interested in seeing some kind of complexity
reduction for that architecture. If Linaro can work with the upstream
kernel developers to find a solution—device trees or
something else—to that problem, it will have
There are other things on the agenda for the 10.11 release including
standardizing and unifying the telephony stack for the platform, making Qt
fully functional on ARM, optimizing web browsers for the architecture, and
selecting the "best toolchain for ARM hardware". Overall, the
list of planned achievements for the five months before the release is
quite ambitious. Whether all that can be completed by a brand new
organization—even with a great deal of Canonical
know-how—remains to be seen. In the end, even completing a big chunk of it would
be quite an accomplishment; presumably there will be 11.05 and further
releases to fill in any gaps.
In many ways, Linaro is further proof that Linux is winning the
battle for which OS will run on consumer electronics and other embedded
devices. ARM chips are the dominant embedded Linux platform these days,
but Intel has been targeting the low-power arena with its Atom processors.
Linaro certainly looks like an effort to ensure that ARM-based devices
maintain their lead in the embedded Linux world. It should be an
interesting battle to watch.
to post comments)