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 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.
(
Log in to post comments)