News and Editorials
April 27, 2010
This article was contributed by Tom Parkin
The deployment of Linux on the desktop and in the server room is well served by the general-purpose
distribution. In the embedded world things are very different: although Linux is used widely,
the concept of the general-purpose distribution is much less in evidence.
Many vendors rely on forked board support packages or home-grown builds to create
their systems, effectively creating their own customized distribution in the process.
While embedded platforms represent a challenge to the traditional Linux distribution,
there is no shortage of community projects to support the development of embedded Linux systems.
What makes embedded systems different?
The primary challenge presented by embedded systems is their diversity. Embedded device
hardware tends to vary both in terms of design and capability.
Even between generations of the same product, it is not unusual for a major system component
such as the CPU to change completely. In addition, most embedded devices
contain a fair
amount of custom, closed-source software which is not packaged by a distribution.
The combined effect of this hardware and software diversity is that most embedded
devices are unique in one way or another, meaning it is difficult to design an embedded
distribution which is simultaneously general enough to be useful and targeted enough to be
efficient across a range of embedded platforms.
To make matters worse, embedded Linux development often takes place behind closed doors.
In some cases this is due to
a lack of hardware to support wider community involvement, since development platforms
for many embedded devices will only exist within the labs of the companies manufacturing
them. In other cases, manufacturers of embedded Linux devices rely on keeping their
designs as secret as possible in order to keep ahead of the competition.
This secrecy tends to stifle the community engagement that helps fuel the development
of many desktop and server distributions.
In addition to the closed nature of many embedded projects, embedded Linux distributions
face a challenge of a lack of perceived utility within developer communities. Given
the heavily customized nature of much of the software within a given device, developers
tend to view any external software as a starting point rather than a completed product.
Rather than a distribution being a central provider, it is simply another component in
a larger project.
Meeting the challenge
Despite the challenges of the embedded Linux ecosystem, embedded Linux tools
and distributions can offer real value to developers working within that space.
Various approaches are being developed by a number of embedded Linux projects,
generating a suite of tools which may be brought to bear on a particular project
according to its needs.
Dispensing with tools: the DIY approach
If complete control over configuration is important to
an embedded developer, then the most efficacious approach is to build the
whole system manually. This would typically involve hand-crafting
a cross-compilation toolchain targeting the embedded device, then downloading
and building the individual packages required to make up the software stack.
Although a somewhat arduous
process, the DIY approach to embedded Linux offers several key benefits, including
the ability to fine-tune packages to requirements, an enforced understanding of
the precise contents of the embedded root file system, and the ability to pick and
choose system components in order to meet project goals.
The basics of putting together a DIY embedded Linux system are
illustrated in Karim Yaghmour's book Building Embedded Linux Systems.
In addition, the Cross Linux From
Scratch guide covers the creation a completely DIY cross-compiled
Linux installation in greater detail.
Meta-distributions and configurable build architectures
The DIY approach to an embedded distribution offers the greatest control and flexibility,
but it does require a large investment of time and no small amount of expertise to get a
basic system up and running. To help mitigate this, a number of configurable build
tools exist which simplify the process.
This approach combines the flexibility of selecting, configuring, and building sources
by hand with the convenience of a framework which hides much of that detail until a
developer needs it. At the time of this writing, several different build architectures are
in active development.
Buildroot is perhaps the simplest of the
build framework projects. Buildroot provides a menu-driven configuration similar to that used
by the Linux kernel, and an automated build based around makefiles. It can be used
to build anything from a cross-compilation toolchain right up to a complete
root filesystem for the device. It also provides a simple mechanism for developers to patch software
packages as they are built. Since its initial release in 2005, Buildroot has achieved
considerable popularity in a range of applications, which can include anything from
chip manufacturer
board support packages to embedded firmware for
rugged displays.
OpenEmbedded is a
more complex system which utilizes a custom build tool, Bitbake, to provide
information on how to build individual packages. Bitbake is derived from Gentoo's portage
system, and many of the concepts utilized in Bitbake will be familiar to Gentoo users.
OpenEmbedded provides Bitbake build recipes for many packages, from cross-compilation
tools to the Qt framework and X. It is used as the build tool for a number of Linux
distributions, including Ångström
and Openmoko, and is also used by
Gumstix to create firmware for their devices.
In contrast, Scratchbox takes a
different approach from both OpenEmbedded
and Buildroot. Rather than providing build instructions for the cross-compilation of packages,
Scratchbox provides a chrooted environment in which the default build tools produce
cross-compiled code. In this environment, packages may be built as though they were being built natively,
thereby avoiding much of the hassle of configuring packages for cross-compilation. In addition
to providing a compilation environment, Scratchbox also integrates Qemu to provide an emulated
platform for running cross-compiled code. This could be a useful feature early in the development
of a new embedded device when the actual hardware is not yet available. Scratchbox has been used
by the Maemo project, which is used in
Nokia's Internet Tablet products—and the N900 phone.
Finally, Firmware Linux marries the simplicity
of Buildroot to the native compilation approach of Scratchbox. Starting life in
2001 as a means of automating a Linux From Scratch build, Firmware Linux has developed into
a general set of scripts for the creation of a native development environment for the
target hardware.
Similar to Scratchbox, Firmware Linux supports the use of Qemu as an
emulation environment for running target binaries and compiling code.
Miniature desktop distributions
Automated build environments allow developers to build complete embedded systems from
source. At the same time, a number of projects are developing
distributions which approach embedded software from the opposite direction, by slimming
down general-purpose distributions to fit the embedded space.
Emdebian aims to make Debian suitable for embedded
devices. So far, this effort has taken two complementary paths. Firstly, Emdebian Crush
provides a heavily modified set of packages based around a Busybox root filesystem to
provide the smallest possible installation of Debian. At the time of this writing, Crush
supports ARM platforms only. Parallel to working on Crush, the Emdebian
team has been developing Emdebian Grip, a low-fat install which tracks the
development of the forthcoming stable release of Debian.
Emdebian Grip has been used in
Toby Churchill's SL40 Lightwriter, and some of Digi's
ARM-based embedded modules, as well as various silicon provider board support packages.
Similar to Emdebian, Gentoo Embedded
(aka Embedded Gentoo)
works to make the Gentoo distribution more suitable for embedded devices. This brings Gentoo's
portage package management tool to bear on the embedded space, and also provides a
handbook which guides users through the process of putting together a Gentoo Embedded system;
a process which will be generally familiar to users of the Gentoo handbook
for desktop and server systems. Readers may be familiar with
Gentoo Embedded through its use in Google's Chromium OS
project, where it has been employed as a cross-compilation tool to build AMD64 binaries on an x86 host.
Commercial offerings
Alongside freely available open source embedded Linux tools and distributions, there
are a number of commercial embedded Linux distributions available. Just as with desktop Linux,
a commercial agreement with a vendor may offer various incentives to reassure pointy-haired
bosses: guaranteed integration support, a quicker time-to-market, enhanced development tools, etc.
MontaVista Linux is one of the most prominent
offerings in this space, however a number of other commercial embedded distributions exist including
Wind River Linux and
BlueCat Linux.
Complete software stacks
Recent initiatives have seen the development of complete, application-specific software stacks for embedded
platforms. Examples include Google's Android and Nokia's Maemo project, which are geared
toward mobile phones and internet tablets; or one of the many network router
firmware projects (e.g. FreeWRT,
Tomato, or OpenWrt).
These projects can offer a complete solution for certain developments, although it is
more likely that they are employed as a foundation to build upon. For example, Android is in use in
the Archos 5 internet tablet and
Barnes and Noble's "nook" e-book reader,
and Maemo has been merged with Intel's Moblin to form
MeeGo.
Many paths to enlightenment
Although the nature of embedded devices makes a general-purpose Linux distribution difficult
to develop there are nonetheless a range of projects which support embedded Linux development
at every level. The Cross Linux From Scratch project provides a simple guide to hand-crafting
a system, the various build frameworks and slimline versions of desktop distributions provide
a sliding scale of automation for the creation of a distribution, and
the complete stacks provided by the likes of Android and MeeGo provide an integrated foundation
for further development.
Of the range of embedded Linux tools, the projects generating the most press are the likes
of Android and MeeGo. This is partially due to the large corporate sponsors behind these
projects, but it may also be because they are starting to change the face of embedded Linux
by commoditizing the software stack for subsets of embedded devices. In so doing, Android and MeeGo
may suggest a possible future development path for embedded Linux as a whole: for many
applications, an off-the-shelf stack could deliver an enticingly short time-to-market along
with the added incentive of high community involvement in the wider project.
Whether or not this model can support enough diversity to make it appropriate
across the embedded ecosystem is not clear, but the potential benefits to manufacturers and
end users may make it an attractive way to deliver Linux in a range of other embedded markets.
Comments (19 posted)
New Releases
The release candidate for Ubuntu 10.04 LTS (Lucid Lynx) is now available. See the
release notes for "
instructions and caveats" before installing. "
The Ubuntu team is pleased to announce the Release Candidate for Ubuntu
10.04 LTS (Long-Term Support) Desktop and Server Editions and Ubuntu 10.04
LTS Server for Ubuntu Enterprise Cloud (UEC) and Amazon's EC2, as well as
Ubuntu 10.04 Netbook Edition. Codenamed 'Lucid Lynx', 10.04 LTS continues
Ubuntu's proud tradition of integrating the latest and greatest open source
technologies into a high-quality, easy-to-use Linux distribution.
[...]
We consider this release candidate to be complete, stable, and suitable for
testing by any user." Click below for the full announcement.
Full Story (comments: 27)
Distribution News
Debian GNU/Linux
Debian Project Leader Stefano Zacchiroli has announced delegations for the
Debian System Administration team and for
the
Debian auditor. Luca Filipozzi, Martin
Zobel-Helas, Peter Palfrader and Stephen Gran have been appointed to the
DSA team, and Luk Claes has been appointed as the Debian auditor.
Comments (none posted)
Click below for a few bits from the Debian Groupware Meeting. Topics
include getting Icedove 3 (Thunderbird), Iceowl (Sunbird) and Evolution
ready for squeeze.
Full Story (comments: none)
Debian welcomes the students selected for this year's Summer of Code.
Click below to see who the students are and what they are working on.
Full Story (comments: none)
Fedora
The Fedora Team has started a series of blog posts highlighting features in
Fedora 13. The first post
looks
at NetworkManager. "
NetworkManager started in 2005 as the brainchild
of Red Hat developer Dan Williams, as his answer to the challenge of making
networking in Linux simple and painless for users. NetworkManager rapidly
grew from primarily being a wireless helper into a full-featured solution
that was still simple and elegant enough to meet the needs of desktop
users."
The second post in the series explores
new features for Python developers. "This second post dives into
several new and innovative features planned for Fedora 13 that we believe
will be useful to Python developers of all levels. Early in the development
cycle, Fedora engineering team member and contributor David Malcolm started
working on more intelligent tracing and debugging features that solve some
common difficulties. This work serves as an example of how Fedora leads by
solving technical problems through the power of open source."
Comments (none posted)
Adam Williamson reports that a memory leak in the Ubuntu 10.04 GLX package
is not present in Fedora. "
Hey everyone, just a quick heads-up. Some
of you may have read about a memory leak that cropped up very late in
Ubuntu 10.04 development process. They kindly put this phrase in their
explanation of the bug: "One possible solution is to roll back the GLX 1.4
enablement patches, and the patch which caused the memory leak to
appear. These GLX patches were produced by RedHat and incorporated into
Debian, they were not brought in due to Ubuntu-specific requirements" which
can obviously create the impression that the patches in question actually
come from Red Hat Enterprise Linux, or from Fedora."
Full Story (comments: none)
Nominations are open for seats on the Fedora Advisory Board and the Fedora
Engineering Steering Committee (FESCo). "
You can nominate yourself,
or someone else. It's recommended if you intend to nominate someone else
that you consult with that person first." Nominations are open
until May 2, 2010.
Full Story (comments: none)
Click below for a list of Fedora IRC Classroom Sessions from April 27 - May
10, 2010.
Full Story (comments: none)
Fedora 13 is scheduled for release on May 18, 2010. Therefore the
end-of-life (EOL) for Fedora 11 will be June 18, 2010. "
When Fedora 11 reaches EOL at that time, bugs open for Fedora 11 will be closed as previously described."
Full Story (comments: none)
Mandriva Linux
Mandriva has a new mailing list for KDE related discussions, problems and
issues.
Full Story (comments: none)
SUSE Linux and openSUSE
SUSE Security has announced that support for openSUSE 11.0 will be
discontinued on June 30, 2010. "
As a consequence, the openSUSE 11.0
distribution directory on our server download.opensuse.org will be removed
from /distribution/11.0/ to free space on our mirror sites. The 11.0
directory in the update tree /update/11.0 will follow, as soon as all
updates have been published. Also the openSUSE buildservice repositories
building openSUSE 11.0 will be removed."
Full Story (comments: none)
Ubuntu family
Mark Shuttleworth
describes a global
menu for the 10.10 Netbook Edition. "
In the netbook edition for
10.10, we're going to have a single menu bar for all applications, in the
panel. Our focus on netbooks has driven much of the desktop design work at
Canonical. There are a number of constraints and challenges that are
particular to netbooks, and often constraints can be a source of insight
and inspiration. In this case, wanting to make the most of vertical space
has driven the decision to embrace the single menu approach."
Comments (29 posted)
Mark Shuttleworth has
announced that
nominations are open for the Regional Membership Board. "
We're
seeking nominations to all three Regional Membership Boards. Ideal
candidates have a track record good judgment - and a willingness to support
positive contributions matched only by their willingness NOT to be drawn
into supporting factions, personalities and cabals. In any community of
scale (and Ubuntu is at a larger scale than most) there will always be
people making fascinating and unexpected (and hard to evaluate)
contributions, as well as people who want to further their own ambitions at
the expense of others. Being able to tell the difference, and recognizing
those who are going to continue to raise the bar for Ubuntu, is a
skill."
Comments (none posted)
Distribution Newsletters
The
DistroWatch
Weekly for April 26, 2010 is out. "
It's the Ubuntu release week, but before we get a chance to swarm the download mirrors with our insatiable desire for new releases, there is still time to cover some of the lesser-known distributions. This week we'll take a look at Scientific Linux, a surprisingly popular Linux option - and not just for sever rooms of high-tech research rooms and leading laboratories. In the news section, Red Hat announces the first public beta of a Xen-less Red Hat Enterprise Linux 6, Fedora continues its strong march towards version 13 with a plethora of (mostly invisible) features, Edubuntu prepares for a launch of a much improved Ubuntu flavour for schools, and MEPIS releases a set of USB images with extra applications and language support. Also in this issue, a look at the current state of affairs at Xandros and an explanation about motives behind 6-month release cycles which many popular distributions adopted in recent years. All this and more in this week's issue of DistroWatch Weekly - happy reading!"
Comments (none posted)
The Fedora Weekly News for April 21, 2010 is out. "
In project-wide
announcements, we have news of a time extension on the Fedora Summer Coding
project, a request for comments on a new Fedora contributor agreement to
replace the CLA, and the start of the always-exciting naming process for
the next Fedora release. From Planet Fedora we hear of a new IcedTea (Java)
release, a PyGTK hackfest, some suggestions for sticking more closely to
the release schedule, and an interesting essay from Dan Williams on CDMA 3G
data adapters. QA tells us all about the recent Graphics Test Week, and
some results of Fedora 13 Beta testing. From the Translation team we hear
about the start of Fedora 13 User Guide translation and an improvement in
the arrangements for updating the Translation Quick Start Guide
(TQSG). Finally, the design team lets us know about an update to the Fedora
13 wallpaper. Enjoy FWN 222!"
Full Story (comments: none)
The
openSUSE
Weekly News for April 24, 2010 is available. "
Now the sixteenth Week has come to a close, and we are pleased to announce our new issue. Last Week started the openSUSE Kernel Review, and we're pleased to announce our new report from the testing Team. We wish you much enjoyment in reading it..."
Comments (none posted)
The Ubuntu Weekly Newsletter for April 24, 2010 is out. "
In this
issue we cover Announcing the Release Candidate for Ubuntu 10.04 LTS, Call
for UDS Plenaries and Lightning Talks, Ubuntu Launchpad Single-Sign-On Now
Open Source, Mark Shuttleworth promotes Ubuntu Party of Paris, Farewell to
the notification area, New Ubuntu Members, Lo``Co Council Meeting, Ubuntu's
success at Anime Boston 2010!, LoCo Stories: the Asturian team drives the
Asturian Language Academy migration to Ubuntu, Ubuntu Turkey LoCo Team
Interviews Canonical CTO, Matt Zimmerman, Ubuntu-NY Lucid release party,
Launchpad in the second half of 2010, Full Circle Magazine Podcast Episode
5: Manual Dexterity, Ubuntu Lucid Lynx 10.04 RC released on time, OMG
Interviews Elizabeth Krumbach, Ubuntu women, learning team, beginners team
all star, Ubuntu Women World Play Day Competition - Win a new netbook!,
Ubuntu Manual Project To Release Quickstart Booklets For Ubuntu 10.10,
Ubuntu: How to Measure Canonical's Business Progress and much, much
more!"
Full Story (comments: none)
Interviews
ITWire has
an
interview with newly elected Debian Project Leader Stefano Zacchiroli. "
Zacchiroli, a post-doctoral fellow at a university in Paris, thus has a fairly tough task ahead as he begins his term. He took some time out to speak to iTWire about his plans for the year."
Comments (none posted)
Distribution reviews
Bruce Byfield
reviews
EasyPeasy, an Ubuntu based distribution for netbooks. "
Netbook
desktops in free and open source software (FOSS) are in a state of rapid
development. Should a netbook be treated as more as a mobile device than as
a laptop? Should developers assume that netbooks are used for light
computing such as social networking, rather than for productivity? These
are just two of the questions whose answers affect the design of any
netbook desktop. However, you would have to search long and hard to find
any distribution that answers such questions as openly as the EasyPeasy
distribution does in its 1.6 release candidate (RC)."
Comments (none posted)
Page editor: Rebecca Sobol
Next page: Development>>