Article: Where’s the free beer?
Feb 18, 2002 — by LinuxDevices Staff — from the LinuxDevices Archive — 1 views[Updated Feb. 19, 2002] Kevin Dankwardt sets out to discover how many implementations of Embedded Linux are available for free — free as in “free beer”, that is, not free as in “free speech” . . .
In search of free beer
One of the benefits of choosing Linux for embedded projects is the availability of free, downloadable software. At first blush, it might assumed that most embedded Linux vendors and open source projects make complete distributions available for free download. However, a bit of research shows that this is not generally the case.
An embedded Linux project requires a great deal of software: both software on the development, or host, computer; as well as software for the target device. On the host side, cross development tools are often required. This means binutils and a compiler, for example. On the target, the kernel, libraries, device drivers, and a variety of other things are needed. One may consider the collection of software for a given host and target a board support package.
What choices are there for board support packages that are available for free and open download? Very few.
My recent interest in checking this out came up because MontaVista recently stopped making their free (and freely downloadable) “Journeyman Edition” of Hard Hat Linux available.
After a bit of research, I determined that hardly any of the Embedded Linux vendors appears to be making recent, complete, board support packages available for free download. For example, MontaVista had until recently made the complete CD images of their Journeyman Edition of Hard Hat Linux available, which included everything needed for a limited set of boards. Alas, they are no longer making this available.
Free beer here
TimeSys appears to be the sole vendor that currently makes complete board support packages freely available online. When I first examined the downloaded TimeSys tarballs, I did not realize that complete tool chains were contained within bzipped tar balls inside of the outer tarball.
TimeSys includes an install script for the tools and a complete root file system for the target, as well. Look in the sub-directory called “crosstools” for the toolsuite tarball, and in the sub-directory “bin” for a couple of their real-time commands as well as the root filesystem tarball.
A matter of common (dollars and) cents
It's not very difficult to understand why vendors don't want to make such hard-earned software collections available to non-customers. After all, they can ill afford to answer questions from non-customers. Also, it's important to realize that the GPL does not require making either the sources or binaries of GPL-released products freely available — or available at all to non-customers, for that matter. There is no reason to hold this against them.
More free stuff
Of course, there is much noncommercial software available for free use by embedded Linux developers. However, it may require quite a bit more investment of time and resources to utilize. I did a quick survey of all of the commercial and open source Embedded Linux “distributions” that were listed on LinuxDevices.com. Below is a quick summary of the results.
All of the open source projects have something valuable available for download. Several of the commercial vendors do as well, although sometimes what they offer is not on their websites and is therefore hard to locate. For example, MontaVista supports a preemptible kernel effort that is freely available on SourceForge, which was recently merged into an official 2.5 kernel.
In contrast to the commercial products which typically support a wide range of applications, many of the open source projects create a single purpose Linux image. However, since one can examine the source, and freely reverse engineer the project, much can be gained from these even if you don't need to make, for example, a router or a firewall. Some of the projects, such as the Embedded Debian project, even provide cross development tools.
Links to resources
Links to all of the commercial vendors and open source projects mentioned in this article are available here.
Commercial Products . . .
- AMIRIX — none available
- Coollogic — none available
- Coventive — none available
- Esfia — none available
- FSMLabs — none available
- KYZO — binary floppy images available here
- Lineo — old version available here
- LynuxWorks — old version of fairly complete software available here; note: you must agree to their license terms before installing their proprietary pieces.
- Mizi — 600 MB of source available here
- MontaVista — none available
- Neoware — updates for customers available here
- OnCore — none available
- PalmPalm — none available
- Red Hat — none available
- RedSonic — old (version 1.0) SDK available here
- RidgeRun — none available
- Sysgo — binary floppy images available here
- TimeSys — full board support packages available here Web interface requires giving name, address, etc. but supplies software for ARM, SH, x86 and PowerPC.
- Tuxia — available here; note: registration required
- Vitals System — binary images available here
- Embedded Debian Project — cross compilers and binutils for ARM and PowerPC.
- ETLinux — complete x86 based embedded Linux support.
- FREESCO — router replacement; old 2.0 kernel.
- kernel.org — standard kernel support for: alpha, arm, cris, i386, ia64, m68k, mips, mips64, parisc, ppc, s390, s390x, sh, sparc, sparc64
- Linux Router Project — makes a bootable floppy for x86. Acts as a router.
- Linux-VR Project — adds vr41xx kernel to arch directory of linux 2.3 kernel version.
- Linux On A Floppy (LOAF) — x86 and floppy based client.
- Midori Linux — beta software from Transmeta. It is a collection of software, including a build system, but not a kernel, for embedded Linux systems.
- muLinux — another “Linux on a floppy” kind of distribution.
- PeeWeeLinux — Development toolset, including convenient configuration tool, for embedded x86 based systems.
- ThinLinux — packages and other software for x86 based embedded Linux systems.
- Uclinux — complete embedded Linux support for a variety of cpus without memory management units. Distribution includes kernels, build utilities, cross compilers etc. for some complete board support packages.
Copyright © 2002, K Computing. All rights reserved. Reproduced by LinuxDevices.com with permission.
About the author: Kevin Dankwardt is founder and President of K Computing, a Silicon Valley training and consulting firm. He has spent most of the last 9 years designing, developing, and delivering technical training for such subjects as Unix system programming, Linux device drivers, real-time programming, and parallel-programming for various organizations world-wide. He received his Ph.D. in Computer Science, in 1988. He may be contacted at [email protected].
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.