|
|
Subscribe / Log in / New account

LK2008: Embedded and Mobile Linux

By Jonathan Corbet
October 15, 2008
Linux-Kongress 2008 attendees had the opportunity to hear two different sessions dedicated to organizations trying to improve the state of Linux support for embedded and mobile systems. They have similar goals, but are taking different approaches and have different levels of resources available to them.

The first of these is OpenSourceEmbedded, presented by uClinux developer Jeff Dionne. He opened with a statement that, ten years ago, Linux-based embedded systems were nearly unknown. Now those systems are everywhere, with hundreds of millions of deployments. Embedded systems, he says, make up the largest installed base of Linux systems.

All is not perfect, though, in the embedded sphere. Linux still has an uncomfortably large footprint for embedded use. There is also no unified distribution for embedded use; instead, the industry is full of homemade solutions made by vendors. He would like to address this situation through the creation of a next-generation platform. It would take the form of a kit that developers could start with which comes equipped with design examples for a number of applications: telephones, digital video recorders, etc.

There are two hardware platforms being targeted initially by this effort. One is a Plasma MIPS processor - a very simple device which can be implemented with an FPGA. A simulator for this processor runs about 600 lines of code. The other, more advanced platform is a LEON 2/3 SPARC processor, a full system with a memory management unit and which supports multiprocessor configurations. Examples of the first processor include a RealTek MIPS system, while the LEON SPARC CPU is similar to current SuperH 3 processors. The Plasma and LEON SPARC processors are being designed now, with the intent of producing them as open hardware designs.

On top of these processors will be a base operating system layer with a "mini-POSIX" environment. There will be an interesting packaging system which stores components as separate "blocks" in flash, outside of any filesystem. The running system will be assembled from the blocks by the boot loader. This organization is designed to avoid bricking; any bad or corrupted components can simply be bypassed without affecting the functioning of the rest of the system. This, evidently, is how PalmOS did things.

The next challenge is creating a community around this whole effort. To that end, resources are to be put up at opensourceembedded.org - though nothing is available as of this writing. The site will include project hosting, along with the ability to download the development kits. Jeff says that the uClinux experience has shown that the kit approach works; with a ready-to-use code base like that, a community can come together.

There are also plans to create an organization behind this effort which, among other things, can enter into non-disclosure agreements with hardware manufacturers. This organization will also work to help vendors ship GPL-compliant products.

OpenSourceEmbedded appears to be in an early state, so it's hard to make any guesses about how successful it will be. For more information, see Jeff's slides [PDF].

Mobile Linux

The closing session at the 2008 Linux-Kongress was a talk by Dirk Hohndel, who began by noting that Linux-Kongress is, in fact, the oldest Linux event. It was first held in 1994, and hosted many of the kernel developers who were active at that time; Dirk estimates that about half of the development community was to be found in a single room. It would take a rather larger room to accomplish that now. Dirk complimented the event on its avoidance of commercialism and its sustained focus on the technology.

The technology that Dirk came to talk about was mobile Linux. He started by expressing his disappointment with desktop Linux. It has become a collection of poorly-integrated applications which are somehow trying to replicate Windows 95. The result does not work well on the desktop, and it most certainly is not optimized for the mobile environment.

But, says Dirk, mobile Linux is not really embedded Linux either. Embedded Linux evokes images of access points and other single-application boxes which are not meant to be extended past a single function. They are not concerned with the user's experience, and they are not concerned with mobility. The subject here is devices with a screen, and which can have new applications installed onto them. So some sort of desktop-like interface is needed, but current desktop Linux does not fill the bill.

According to Dirk, the problem with desktop Linux is the fundamental approach: developers are not the target audience for this software, but they are making all the interface decisions. What's needed is input from people who are specialized in interface design and human-computer interaction. That leads to a "scary thought": interface specialists are generally not coders, but they will be making decisions that coders are expected to implement. That is not a normal mode of operation in the free software community, but it is needed here.

Other problems include the proliferation of "80% done" projects. Much of the work has been done, but nobody wants to do the work to finish the job. There's also far too many choices; in general, says Dirk, people do not like it if they have to choose between more than two alternatives. When dealing with the Linux desktop, it's hard to find situations where there are fewer than six choices. And, overall, the Linux desktop lacks consistency. That, says Dirk, is why he uses an Apple laptop. Apple enforces a consistent design across the application space and, he says, the result is very nice.

Devices should be simple and natural to use; such devices are increasingly hard to find anywhere. As an example, he held up a paper notebook. The device boots very quickly, has a nice "touch-based" pencil-oriented interface. No manuals or explanations are needed. Linux-based devices should be just as easy to use. But, at the same time, they need to offer an experience which is close to what people expect from an ordinary, desktop computer. It should have access to the Internet, and users should be able to install software.

[Dirk Hohndel] Dirk then pulled out an Eee PC system and gave the five-second boot demonstration. This work, he says, is an example of what is being done by Intel in support of the Moblin project. Intel is trying to solve some of the hardest problems in the mobile space, contributing the results for everybody to use.

To that end, Moblin is working toward the creation of a base distribution for mobile systems. The user interface will be based on the GNOME mobile work, but with a lot of enhancements. The end goal is the creation of a Linux distribution for mobile devices which is far better than the state of the art today. It is not, he says, an attempt to compete with distributors; instead, Moblin is providing a base which the distributors can build on. Intel's effort will naturally focus on Intel processors, but contributions for any architecture are welcome at Moblin.

In conclusion, Dirk noted that Linux's success on the server side was relatively easy. The mobile problem is much harder. Intel is hoping that others will join in to help Moblin reach its rather ambitious goals.

Index entries for this article
ConferenceLinux-Kongress/2008


to post comments

LK2008: Embedded and Mobile Linux

Posted Oct 15, 2008 23:52 UTC (Wed) by vomlehn (guest, #45588) [Link] (2 responses)

"...he held up a paper notebook. The device boots very quickly, has a nice "touch-based" pencil-oriented interface. No manuals or explanations are needed."

What!?! It took me a long time to read, and you could probably find witnesses who would affirm that I *still* can't write with a pencil! But, once I did learn to read and type, I could use a whole range of devices to do so. There will always be a learning cure for anything other than the most trivial of tasks. Our primary UI job is to minimize the additional learning beyond what most of use already have.

LK2008: Embedded and Mobile Linux

Posted Oct 17, 2008 19:01 UTC (Fri) by tmassey (guest, #52228) [Link]

Wow, that's a profound thought.

No doubt using a pad of paper and pencil was a simple illustration given for effect at a presentation to a large number of people. I get it. But the sheer volume of things that such a metaphor ignores or drastically oversimplifies is huge.

Of course, it ignores the *years* of effort that it took to be able to read and write. Without that effort, a pad of paper becomes little more useful than cave paintings. Even overlooking that, though, holding up a pad of paper and pencil as a paragon of user-interface simplicity ignores the real limitations of the medium.

Even the technique of "cut-and-paste" with a physical paper document pushes the limits of actual-paper technology. Where's the spellcheck? How about changing the font or layout of such a document? Anything other than the most simple of editing will require rewriting the entire document. Even storage and retrieval of a paper document is difficult--where did I put that piece of paper with that phone number on it?!?

Computer interfaces are complex because they allow the user to do so much more. The only way to keep that simplicity is to pare down the functionality. The Palm interface is a perfect example of this. It does very, very little, but it does it well.

The idea of "I want it as easy to use as paper, but to do 100 times as much!" is intriguing, but unrealistic.

However, one improvement that could be made would be to at least hide such details as much as possible. Apple and Google do a great job of this: give the user only the bare minimum of options. 95% of users will never try to move beyond this. For the 5% who will, they provide methods for making such changes, but not at the sacrifice of the simplicity of the 95%.

But saying "How come my Internet-enabled multimedia-capable phone/PDA/messaging device isn't as easy to use as a stack of index cards?" not only ignores the complexity of the device, it ignores the complexity of a stack of index cards! :)

LK2008: Embedded and Mobile Linux

Posted Oct 19, 2008 17:50 UTC (Sun) by vonbrand (subscriber, #4458) [Link]

Just my thought too. Most of the "but Windows is easier" crowd comes from the same direction: They have long forgotten how hard it was to learn to handle all the "easy, everyday" stuff.

LK2008: Embedded and Mobile Linux

Posted Oct 16, 2008 9:53 UTC (Thu) by mb (subscriber, #50428) [Link] (1 responses)

> There is also no unified distribution for embedded use;

I consider OpenWRT to be _the_ distribution for embedded use.
It's easy to use. It's easy to develop on. It's easy to port.

LK2008: Embedded and Mobile Linux

Posted Oct 23, 2008 17:11 UTC (Thu) by Duncan (guest, #6647) [Link]

... And OpenWRT's small core and package based extension system make it
extremely flexible.

(I only recently bought a wireless router, a Linksys WRT54GL that
happened to be on sale at Fry's for $50, to compliment and connect my new
Acer Aspire One. Of course, being a strong FLOSS believer, it didn't
take me long to kill the shipped firmware in favor of a FLOSS
alternative, only long enough to do the research and find OpenWRT both
the most open and the most flexible. I'm now looking forward to the time
when a freedomware 2.6 kernel module can replace the no-freedomware 2.4
proprietary wireless module for full openness.)

Duncan

OpenEmbedded vs OpenSourceEmbedded

Posted Oct 20, 2008 13:03 UTC (Mon) by thomas_d_stewart (subscriber, #4328) [Link]

What is the relationship between the already established OpenEmbedded project and this new OpenSourceEmbedded project?

http://en.wikipedia.org/wiki/Openembedded
http://www.openembedded.org/

It already runs on a number of devices:
http://git.openembedded.net/?p=openembedded.git;a=tree;f=...

It also allows easy customisations that can still track git.oe.net. For instance gumstix pull openembeded, add there own customisations and use it as there firmware base. Which in turn end users of gumstix can pull and add their own personal customisations.


Copyright © 2008, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds