Embedded Linux refers to use of a Linux system in a very limited computing environment. Such an environment might be a PDA, a network device such as a router or network camera, or controller for an industrial tool.
Example: Sharp Zaurus. One of the foremost examples of an embedded Linux system is the Sharp Zaurus. Models vary, but the Zaurus has from 32 to 64 MB of RAM, 16 to 32 MB of flash ROM, and a StrongARM or XScale processor. The PDA is driven by a customized Linux kernel, the QT/Embedded widget set, the QTopia environment, and the Jeode Java runtime. Also, there is an alternative 'distribution' called OpenZaurus, which uses the enhanced Opie environment instead of QTopia.
Example: Familiar Linux/iPaq. Of course, embedded Linux is not always this simple. Also of note is the Familiar Linux distribution for iPaq PDAs. It has more in common with normal Linux distributions in that there is a selection of different software packages, such as between Opie or GPE, both on top of the Tiny-X X11 server.
Example: Axis 2100 Network Camera. Actually, all of the network cameras made by Axis run this software stack. The Axis cameras contain an ETrax SOC (System On Chip) which runs a web server and other vitals over Linux.
Why Linux? The general advantages of the Linux kernel have been extolled far and wide and do not need repeating. The advantages for an embedded system are that it is very small and fast, especially with tuning; that it is inexpensive (a must for those PDA pricetag woes); and that there is great flexibility in the software stack, as is demonstrated by the variety of distributions and projects in existence.
Why or why not call it GNU/Linux? On principle, a lot of people refer to Linux systems as GNU/Linux becaue of the extensive toolchain that make the system functional, such as the gcc compiler, bash shell, or common tools like rm. Many embedded systems, however, contain fewer GNU tools than a full Linux distribution. The Sharp Zaurus PDA, for example, runs primarily on the QTopia environment, rather than a typical shell and tools (though it does have a shell). This means it is less dependent on GNU tools. This does not mean that GNU tools were not used in creating the system; there's a good chance that they were. Thus, it could still be a social or political issue, but it is much more common to just call it 'Linux' in the embedded arena.
Common embedded Linux hardware platforms. There are many, many devices and platforms capable of running Linux; there are far too many to list all of them. I'll try to cover all the bases, though. Let me know if you see a major omission. I'll be adding more lists of stuff soon enough.
- Major PDA platforms
For a fuller list, try http://www.linuxdevices.com/.
- Commonly used processors/System-On-Chip designs
Many others, various and sundries. See http://www.linuxdevices.com/.
- Embedded form factor designs
There are actually dozens of embedded Linux SBC's of varying processors and capabilities. Check out... http... Nevermind.
Embedded Linux distributions, projects, products. There are lots of flavors of Linux. There always have been, even before there was Linux. The Red Hat and Debian and Suse and Slackware and Gentoo people would just sit around and argue about... Nothing. It was a great time in the history of Linux. Anyway, this is not a comprehensive list.
- Open Source projects
- Familiar Linux - flexible distro for iPaq's; see http://familiar.handhelds.org
- OpenZaurus - A heavy modification of the Zaurus' software stack - http://www.openzaurus.org
- Opie - An improved QTopia-based environment used by OpenZaurus - http://opie.handhelds.org
- GPE - An X11/GTK+ based environment, often used with Familiar Linux - http://gpe.handhelds.org
- PicoGUI - A new GUI architecture for portable apps - http://www.picogui.org/
I will try to improve upon this list in the future. Many of these sites are hosted by handhelds.org, a site sponsored by HP (I believe).
-
Subliminial - this is a commerically made system by Dexdyne that appears to be very compact and useful. (Thanks, jasstrong)
I will try soon to build a list of commercial software stacks and products, and just get more stuff in general. Tell me if you see something that belongs here.
For lots and lots and lots of info, go to http://www.linuxdevices.com/.
Thanks to http://www.linuxdevices.com for lots of info, http://www.handhelds.org for more info, and various and sundry other sources.