A developer’s review of Lineo’s Embedix SDK (Part 5)
Sep 10, 1997 — by Rick Lehrbaum — from the LinuxDevices Archive — 2 viewsLineo's real-time Linux option
About a year ago Lineo was on an acquisition spree, acquiring a number of small companies that provided Embedded Linux products. Among the companies they acquired were Zentropix, Moreton Bay, and RT-Control. In the process they became involved in a number of open-source projects, each with its own philosophy, programming model, and documentation. The result is a conglomeration of useful, but in some cases minimally integrated, products.
One such example is RTAI, the real-time extension to the Linux kernel started by Paolo Mantegazza and having many enhancements added by Zentropix employees among many others. RTAI illustrates how difficult it can be to commercialize an open source project. Mantegazza started the project to meet the specific needs of his application, after having encountered what he perceived to be flaws in the earlier RTLinux project, the main principles of which RTAI uses.
Over time, others have provided additions to RTAI, including (among others) LXRT, which provides the ability to run real-time tasks in user space under restricted conditions; dynamic memory allocation; just about every interprocess communication model one can conceive of; and, of all things, Perl bindings to RTAI. In true bazaar fashion, RTAI has accepted all of these contributions, every one of which has its loyal and enthusiastic adherents. One can only imagine the situation facing Lineo when attempting to package all of this disparate functionality into Embedix and presenting it to customers in a coherent way.
Lineo has done about as good a job of this as possible, attempting to integrate the RTAI build into the Target Wizard in a seamless manner. RTAI requires a kernel patch, which is included in the kernel provided by Embedix. Building RTAI into your kernel is then a matter of clicking the appropriate selection in the Target Wizard and rebuilding the system. Of course, users should be aware that upgrading to a new kernel version would require first applying the RTAI kernel patch.
Lineo has also provided a good manual for RTAI (the longest manual of the set) that makes a valiant effort to impose order on the disparate components of the subsystem. One cannot help but admire the tech writer who put the best face on a manual that required everything from a short introduction to pthreads to the description of Perl bindings for a hard real-time system. In the end, however, there is no shortcut to using RTAI — you have to invest some time into its use, and you should not look for an overarching philosophy behind it. Like many open-source projects, it is the result of many people working to meet their own needs; this makes it very difficult to productize.
Potential RTAI users should also be aware of the licensing issues involving the RTLinux patent. Lineo has recently licensed the patent, a move that may protect Embedix users making use of the RTAI component of the product. Lineo has promised to provide a clarification of the license terms; we will provide an update when this information becomes available. In the meantime, potential users of RTAI should at least be aware of the patent. Note that it applies only to the RTAI component of Embedix; those not needing to meet hard real time requirements can ignore the issue.
Story navigation . . .
- Part 1: First impressions
- Part 2: Managing a project
- Part 3: Thoughts on the kernel configuration process
- Part 4: Other Embedix components and features
- Part 5: Lineo's real-time Linux option
- Part 6: Taking Embedix for a spin
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.