Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Forum

  Home arrow Linux For Devices Articles arrow A developer's review of the leading Embedded Linux toolkits

A developer's review of the leading Embedded Linux toolkits
By Rick Lehrbaum

Rate This Article: Add This Article To:

Foreword: This article introduces LinuxDevices.com's new series of reviews, by software developer Jerry Epplin, of the most prominent Embedded Linux toolkits. In this kickoff to the series, Epplin provides some background on the Embedded Linux toolkit market, considers the relative advantages of commercial vs.

noncommercial toolkits, establishes a set of criteria against which each toolkit will be measured, and describes his lab setup.



Emergence of the Embedded Linux Toolkit market

Despite the stampede of investor money first into, and then out of, Linux companies, interest in Linux among embedded system developers continues to show strong, steady growth. Developers' realization that they need full featured, network connected, GUI-based operating systems for their future devices has led many to look to Linux as a convenient and low-cost way to solve their problems.

Linux provides the features required in a modern operating system without the high initial investment and royalty expense of commercial real-time OSes. In addition, Linux provides the advantages of an open source distribution model, so anyone can examine it and modify it at will.

But along with the many advantages of Linux come the usual drawbacks of an open source project. Whereas embedded system developers want their operating environment to just work so they can get to work right away on developing the actual application, taking advantage of an open source project can often entail a substantial investment in time to configure, build, and start using it.

For this reason, and especially in light of the ballooning interest in Linux among embedded system developers, a growing number of vendors are now offering toolkits that claim to simplify the task of embedding Linux.

Commercial or non-commercial?

It should be noted, however, that using a commercial toolkit is not the only option -- nor is it necessarily the best.

Several open source toolkits, such as Transmeta's Midori Linux, provide a simple way to configure and build a minimal Linux system suitable for embedded systems. And because the non-commercial systems typically make use of the standard Linux methods for configuring and building a system, they may be more appropriate for users already familiar with Linux. It can also be argued that such an approach is the best in the long run, because making the effort to become familiar with the standard Linux development process allows a developer to keep up with changes in Linux over time without relying on support provided by commercial embedded Linux distributors.

However, for those wishing to configure a system quickly, a commercial toolkit is certainly an attractive option. Plus, when a commercial toolkit is used, the toolkit's vendor generally provides direct support if needed. LinuxDevices.com's surveys have consistently indicated that most developers are quite willing to pay for Embedded Linux toolkits and support, though not for per-unit royalties.

Evaluating Embedded Linux toolkits

The primary emphasis of this series will be to explore such factors as . . .
  • Overall ease of use. Developers want to focus on their application, not the development environment. It should be easy to make changes to the environment without requiring in depth knowledge of Linux, or consulting a manual to make simple adjustments.

  • Learning curve (time and effort) for getting up to speed on using each package. The feasibility of a project can depend on how long it takes the developer to begin producing results.

  • Ease of maintaining a target build over changes in Linux and other software components. Linux itself changes rapidly, so it is important to be able to update your target system when new versions of Linux or other components become available.

  • Quality and usability of documentation (e.g., completeness, clarity, accuracy, etc.). Again, the toolkit should not waste the developer's time; it should be easy to determine how to accomplish necessary tasks.

  • The extent to which the tools provided are open source. I won't rehash the reasons why open source software is preferred to proprietary software; if you are reading this I assume you already know them.

  • Which processor families are supported. Note that I will not attempt to judge how many specific target platforms are supported, or even the number of specific processors; these are much more slippery metrics than that of processor families supported. In many cases, if a processor family is supported, the toolkit can be adapted to the user's platform.
Interestingly, in the context of embedded system development, factors that impact ease-of-use can sometimes be at odds. For example, few Linux newbies would find the standard kernel configuration and build process intuitive and easy, so there is a strong incentive for a commercial distributor to implement an alternative system with a greater emphasis on usability. On the other hand, the rapid changes in Linux itself make it difficult for any one distributor to maintain an alternative build system, as nearly every kernel release would require maintenance work.

Thus, Embedded Linux vendors have a strong motivation to use the standard Linux kernel configuration and build system despite its poor usability. Reconciling these conflicting motivations is one of the main challenges for an embedded Linux distributor. An obvious solution is to implement an alternative configuration system, then provide that system only for selected versions of the kernel. A developer would simply be out of luck (or would have to perform the maintenance manually) if some other kernel version is required -- obviously not a very inspired solution to the problem.

Lab setup

In an effort to understand and evaluate the process of configuring and building realistic embedded systems using several different embedded Linux toolkits, three x86-based single-board computers will be used as standard reference platforms for this series. As our goal in this series is to judge factors such as ease-of-use, documentation, architecture, and maintainability -- rather than more problematic factors such as the ability to work with unusual or small-footprint hardware -- we settled on a set of fairly high-end SBC standards that we knew would be available from multiple SBC vendors . . .
  • PC compatible architecture
  • An Intel Tillamook (mobile Pentium) CPU
  • 16MB minimum DRAM
  • Flash memory expansion with DiskOnChip or CompactFlash
  • Standard SVGA video
  • Ethernet port
  • At least one serial and one parallel port
  • Industry standard EBX form-factor
We approached a handful of embedded computer companies with this list of specifications and requested loaners for use in this series. After receiving an immediate and positive response from everyone, we settled on these three particular EBX SBCs, which all meet the above list of specs, for our lab platforms . . .

Ampro Little Board/P5x -- this EBX SBC is also based on a 266 MHz Tillamook Pentium, supports up to 256 MB of onboard SDRAM, has an Award BIOS, and its key I/O controllers are a PC-compatible super I/O controller, AMD PCnet-FAST+ (AM79C972) Ethernet controller, and Intel 69000 series video controller. The standard Linux kernel offers the option of "AMD PCnet32 PCI" and the 69000 is widely used under Linux, so again no problems are anticipated.

JUMPtec Adastra VNS-786L -- this EBX SBC is based on a 266 MHz Tillamook Pentium with up to 512 MB of onboard SDRAM, has a Phoenix BIOS, and its key I/O controllers are a PC-compatible super I/O controller, Davicom DM9102A Ethernet controller, and ATI Rage Mobility video controller. The Davicom Ethernet controller is supported by the 'dmfe' driver provided in the standard Linux kernel and the ATI video controller is widely used with Linux, so no problems are anticipated.

WinSystems EBC-TXPlus -- this EBX SBC supports any of several Socket 7 CPUs, provides up to 256 MB of RAM, and comes with an Award BIOS. WinSystems supplied the board I am using with a 266 MHz Tillamook Pentium, so that it matches the others that are being evaluated. Its key I/O controllers are a PC-compatible super I/O controller, Intel 82559 Ethernet controller, and 69000-compatible video controller. The standard Linux kernel offers the option of "EtherExpressPro/100" and again the 69000 is widely used under Linux, so again no problems are anticipated.

Getting started

Although the key specs of the three platforms are basically identical, their peripheral hardware components are quite disparate, providing a good test of the Embedded Linux toolkits' abilities.

To develop a sense of how practical it would be for developers to configure systems using each of the Embedded Linux toolkits that will be reviewed, we will build Embedded Linux OS images around each of these boards, and then (at a minimum) get the systems booted and the Ethernet interfaces running. In that process, many aspects of each toolkit will naturally be exercised.

Join us as we step through the leading Embedded Linux toolkits. Note that the efforts will be restricted to offerings that primarily target "embedded Linux" applications, and will not include the substantially more complex task of installing, testing, and comparing "real-time Linux" toolkits.

Be sure to read all the articles in this series . . .

About the author: Jerry Epplin has written embedded software for the past fifteen years, primarily for medical devices. He can be reached at jerry@linuxdevices.com



Talk back! Do you have comments or questions on this article? talkback here




Related stories:



Discuss A developer's review of the leading Embedded Linux toolkits
 
>>> Be the FIRST to comment on this article!
 
 
 
>>> More Linux For Devices Articles Articles          >>> More By Rick Lehrbaum
 



FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.

Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.

Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.

Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.

High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.

Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.

Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.

Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.

7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.

Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click for a profile of each sponsor:
SUPER-PLATINUM SPONSOR
MOBLIN NEWS & LINKS
Moblin Official Blog
Aigo to Go
Wind River's Moblin stack
Adobe AIR for devices
FEATURED VIDEO

Moblin v2 "Fastboot"
PLATINUM SPONSORS
GOLD SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)

Check out the latest Linux powered...

Mobile phones!

MIDs, UMPCs
& tablets

Mobile devices

Other cool
gadgets

Resource Library

• Unix, Linux Uptime and Reliability Increase: Patch Management Woes Plague Windows Yankee Group survey finds IBM AIX Unix is highest in ...
• Scalable, Fault-Tolerant NAS for Oracle - The Next Generation For several years NAS has been evolving as a storage ...
• Managing Software Intellectual Property in an Open Source World This whitepaper draws on the experiences of the Black Duck ...
• Open Source Security Myths Dispelled Is it risky to trust mission-critical infrastructure to open source ...
• Bringing IT Operations Management to Open Source & Beyond Download this IDC analyst report to learn how open source ...


BREAKING NEWS

• NAS system houses 2.5-inch drives for up to 6TB
• Atom SBC boasts special low-power mode
• Android leaps to rugged handheld, and more phones
• Simulator runs Android apps on Ubuntu
• Fanless industrial PC taps Atom
• Router platform runs OpenWRT Linux
• Feature-packed UMPC survives four-foot drops
• UMPC pioneer gives up the ghost
• Biodegradable, solar-powered netbook runs Linux
• Hypervisor rev'd for higher reliability
• Eurotech spins Atom development kits
• Home media server to demo on Intel Atom platform
• Atom boards feature fanless DC operation
• Low-cost pluggable NAS adds Linux support
• Taiwan open source conference sets agenda


Most popular stories -- past 90 days:
• Linux boots in 2.97 seconds
• Tiniest Linux system, yet?
• Linux powers "cloud" gaming console
• Report: T-Mobile sells out first 1.5 million G1s
• Open set-top box ships
• E17 adapted to Linux devices, demo'd on Treo650
• Android debuts
• First ALP Linux smartphone?
• Cortex-A8 gaming handheld runs Linux
• Ubuntu announces ARM port


DesktopLinux headlines:
• Simulator runs Android apps on Ubuntu
• Hypervisor rev'd for higher reliability
• Pluggable NAS now supports Linux desktops
• Moblin v2 beta targets netbooks
• Linux-ready netbook touted as "Student rugged"
• USB display technology heading for Linux
• Ubuntu One takes baby step to the cloud
• Game over for Linux netbooks?
• Linux Foundation relaunches Linux web site
• Dell spins lower-cost netbook


Also visit our sister site:


Sign up for LinuxForDevices.com's...

news feed


Or, follow us on Twitter...