A Survey of Embedded Linux Packages

Brief looks at the various embedded Linux projects and applications.

Because Linux is openly and freely available in source form, a great many variations and configurations of Linux distributions have evolved in order to match the needs of a broad range of markets and applications. There are implementations ranging from handheld devices including PDAs and cell phones, to Internet appliances, thin clients, firewalls, telephony infrastructure equipment and even supercomputer clusters. There are small-footprint versions and real-time enhanced versions. And despite the origins of Linux as a PC operating system, there are now ports to numerous non-X86 CPUs, with and without memory management units, including PowerPC, ARM, MIPS, 68K and even microcontrollers. And there's more coming, all the time!

One of the most interesting characteristics about embedded Linux, is the abundance of choice. Even for a given architecture, such as PowerPC, there tends to be an abundance of available alternatives. So, how do you decide which distribution to use? That depends.

First, it's important to realize that all Linux distributions are, more or less, variations on the same theme. That is, they tend to be collections of the same basic components, including the Linux kernel (of course), drivers, command shells (command processors), GUI and windowing frameworks, utilities and libraries.

So, what makes them different? The distinctions between distributions frequently center around which of the many hundreds of Linux utilities are included, what modules or utilities (both open-source and proprietary) are added, kernel patches and modifications, and how the installation, configuration, maintenance and upgrade process is managed. How easy is it, for example, to build a small-footprint Linux system that closely matches your application's unique requirements?

Then there's the question of proprietary open-source software. This might be an important philosophical issue for you or your company. You (or your company) may want to restrict your Linux-related activities to using exclusively open-source software so there are no licensing restrictions or royalty requirements, and so that you can supply source code to your customers. Or, you might prefer a more pragmatic approach, using (and sometimes licensing) whatever software components best match your application's needs—whether proprietary or open-source.

Either way, whether you decide to use pure open source, or to mix open and proprietary software components, using Linux in embedded applications is unlikely to be totally “free” of costs. You'll either invest resources to create your own implementation, money for tools and licensed components, or pay for outside services and support.

That said, there are certainly a wide variety of excellent open-source tools and utilities that you can download free of charge; and, there are also excellent proprietary tools and utilities that you would need to license or purchase. Then, too, bear in mind that the companies that offer “commercial” embedded Linux distributions generally possess a high level of expertise and have well-trained staff ready and waiting to assist you in your project. Paying money to one of the “commercial” embedded Linux suppliers can have many advantages, including development tools, useful utilities—and, of course, support. The proprietary embedded Linux suppliers' companies are actively investing in developing tools and services to differentiate their Linux offerings from the pack, and (or) to advance their standing as a prospective partner for companies building embedded applications that will have Linux inside. In many cases, they are also contributing to the overall pool of open-source software.

Taken as a whole, there are a great many options—both open-source and proprietary—that fall into these general areas:

  • Tools to automate and simplify the process of generating a Linux configuration that is tuned to a specific embedded system's requirements.

  • Graphical user interfaces (GUIs), windowing environments and browsers that vary in size, appearance, features and capabilities.

  • Drivers and utilities that support the specific needs of a diverse range of applications including telephony equipment, multimedia devices, mobile computing, wireless capabilities and more.

  • Linux kernel enhancements and add-ons that support the “hard”, “firm”, or “soft” real-time performance requirements of such applications as streaming media, IP telephony, machine control, etc.

What follows, are brief descriptions of many of the currently available commercial and noncommercial sources for embedded Linux solutions. Bear in mind that new projects and products come into being on an almost daily basis. For this reason, LinuxDevices maintains a set of continually updated on-line embedded Linux Quick Reference Guides that are available for free public access.

______________________

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix