|
|
Log in / Subscribe / Register

Embedded Linux Flag Version

From:  Tim Bird <tim.bird-AT-am.sony.com>
To:  <linux-embedded-AT-vger.kernel.org>
Subject:  Embedded Linux Flag Version
Date:  Thu, 4 Nov 2010 15:07:28 -0700
Message-ID:  <4CD32EA0.4070805@am.sony.com>
Archive‑link:  Article

Embedded Flag Version


Recently, two embedded Linux summit meetings were held, one in Tokyo,
Japan and one in Cambridge, UK. The purpose of these meetings was to
discuss among industry and community leaders things that might help
improve the value or decrease the cost of embedded Linux. One initiative
which came out of these meetings, was the notion of declaring a "flag
version" of Linux, for embedded use. This would be a specific version of
the Linux kernel, chosen as a rallying point for embedded Linux
software, add-ons and products.


In hearing from several different consumer electronics product companies
and semi-conductor producers at the summits, it became apparent that a
significant problem in the embedded space is variation in the kernel
version. This could be called version fragmentation. Companies,
especially those at the end of the software supply chain, often get
stuck using a particular kernel version for a product due to the cost to
integrate software coming from different entities.


Of course the optimal solution to this problem would be if all required
software were pre-integrated into the latest stable release, at all
times. However, software can not be mainlined instantaneously. Not
everyone is using the latest version of the Linux kernel (2.6.36, as of
this writing). In point of fact, no one in the CE industry does (or
really can), use the absolute latest kernel for a product that is
shipping today. It takes time to assemble the software and perform the
testing required to ship a product. However, it is desirable for many
reasons to stay as close to the current version of Linux as possible.


Selecting a "flag version" is intended to help with this problem. First,
it should be explained what having a flag version means. It means that
suppliers and vendors throughout the embedded industry will be
encouraged to use a particular version of the kernel for software
development, integration and testing. Also, industry and community
developers agree to work together to maintain a long-term stable branch
of the flag version of the kernel (until the next flag version is
declared), in an effort to share costs and improve stability and quality.


It may seem counter-intuitive that selecting a version of the kernel for
long-term stable maintenance would help companies keep up with the
mainline version. But there are a number of reasons why it can. First
and foremost, a lot of effort is spent integrating software components
to make a product. This includes software components from IP block
vendors, semi-conductor vendors, parts suppliers, Linux vendors, and
in-house software teams. By decreasing the effort required to integrate
this software, it becomes possible to spend more time working on other
features, and working with upstream, and increases the frequency that a
company can afford to switch kernel versions. Also, by leveraging the
testing of multiple organizations and developers, including those
outside one's own company, a group can more quickly ensure that a kernel
is suitable for production use. This also decreases the effort required
to use the kernel, and increases the possibility of quicker version changes.


It was noted at the summit that several CE companies and embedded
projects will be using (or are already using) 2.6.35 for upcoming
products or releases. This includes Sony, Google, Meego, and Linaro. On
behalf of the CE Linux Forum and a number of consumer electronics
companies, projects and community developers, we therefore declare
2.6.35 as a flag version of the kernel for embedded use. Several
companies will be investing in development, integration and testing of
this version. Entities wanting to do business with those companies would
therefore be well-advised to make sure their hardware, drivers and
enhancements work well with this version of the kernel.


Tim Bird
Architecture Group Chair
CE Linux Forum
November 4, 2010


--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html




to post comments

Embedded Linux Flag Version

Posted Nov 4, 2010 23:02 UTC (Thu) by jengelh (subscriber, #33263) [Link] (6 responses)

I would not bet my money on 2.6.35, which has been practically declared past its time by Greg KH already. Wait for something that is going to see -stable updates - see what SLES11SP2/SLES12 will have.

Embedded Linux Flag Version

Posted Nov 4, 2010 23:28 UTC (Thu) by JoeBuck (subscriber, #2330) [Link] (2 responses)

For embedded developers, Greg declaring that .35 is almost past its time (meaning that he'll stop changing it) might be seen as a feature.

Embedded Linux Flag Version

Posted Nov 5, 2010 2:03 UTC (Fri) by ewan (guest, #5533) [Link] (1 responses)

Does rather make one wonder who the community developers are in the sentence:
industry and community developers agree to work together to maintain a long-term stable branch of the flag version of the kernel
If that's not a reference to GregKH's stable branches, what is it a reference to?

Embedded Linux Flag Version

Posted Nov 5, 2010 2:08 UTC (Fri) by dlang (guest, #313) [Link]

Greg doesn't need to be the only one maintaining a stable branch. He (and his employers) choose which ones he works to maintain, but he has been willing to hand over maintinance of older branches to other people in the past.

Embedded Linux Flag Version

Posted Nov 5, 2010 1:08 UTC (Fri) by tbird20d (subscriber, #1901) [Link] (2 responses)

Some companies and projects are doing a good job of staying close to mainline, and the issue for them will be that 2.6.35 will indeed start to fall behind where they want to be, soon. For example, Google has been pushing hard to catch up to mainline, and although they will have a release based on 2.6.35, they probably won't stay there long. The same goes for other forward-moving projects that are staying close to mainline (MeeGo and Linaro).

However, for a large segment of the embedded industry, just getting different companies moved up to 2.6.35 (within 1 version of mainline), and synchronized on a single release, will be a really big improvement. At the summit, CE vendors had kernel versions spread all over the place between 2.6.11 and 2.6.32.

Embedded Linux Flag Version

Posted Nov 5, 2010 2:23 UTC (Fri) by xxiao (guest, #9631) [Link]

This indeed is a great idea.

Embedded Linux Flag Version

Posted Nov 5, 2010 6:28 UTC (Fri) by swetland (guest, #63414) [Link]

We are indeed trying to chase mainline as fast as is feasible -- we typically freeze a month or two before a release, working against the most recent released mainline version at that point. We've been doing this since 2.6.16 or so, and are getting pretty good at it now.

I certainly understand that many people may have even longer stabilization cycles than we do, may depend on several sets of vendors to stabilize, etc. In that case agreeing on a "flag version" definitely makes a lot of sense.

Embedded Linux Flag Version

Posted Nov 5, 2010 21:06 UTC (Fri) by jonas.bonn (subscriber, #47561) [Link]

The cynic in me isn't sure about this one:

i) Will vendors actually send fixes upstream, despite the fact that they will be "helping" their competitors by doing so...?
ii) Will out-of-tree/binary drivers be provided for anything other than the flag versions?

I think a "flag"/stable version is great as it should make life easier for everybody, but I do hope to see the resources won from this rationalization "donated" back to upstream.

I'm hoping for the best...

Embedded Linux Flag Version

Posted Nov 11, 2010 3:13 UTC (Thu) by aschwinm (guest, #33817) [Link] (1 responses)

I hope that this will work out, it will help me in convincing a customer to use a particular kernel version and not the latest and greatest near the end of a project. At my current project we use 2.6.34, so very close to the "flag version" already.

I was hoping to see a http://elinux.org wiki page about the "Embedded Linux Flag Version" but I don't see one as of yet. It would be good to have a list of people/companies/organisations who support this concept.

Embedded Linux Flag Version

Posted Nov 13, 2010 6:22 UTC (Sat) by chagas (guest, #26551) [Link]

Development will likely follow the leading provider of a solution most CE vendors use. For instance, if Google decides that Android Gingerbread will target .35, that's the "flag version" for the OEMs that use that version of Android.


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds