Computer/Embedded Technology


A taxonomy of resources for embedded Linux developers - Part II

9 May 2001 Computer/Embedded Technology

In Part I we introduced the concept of the Taxonomy and defined what is meant by an ‘Embedded Linux System’. Part II continues this definition and begins the tour of the Taxonomy.

The distinctions mentioned in Part I lead to the two primary characteristics of embedded Linux distributions - they can help with conserving resources, and they can help with performance. For performance we usually mean that they have special facilities for ensuring realtime performance. This can mean the use of an adjunct realtime OS. Examples of these are RTLinux and RTAI. Another way to aid realtime, albeit 'soft' realtime, is to change the Linux scheduler. If you do not need either resource conservation or improved performance than you can use a desktop or server distribution if it supports your target.

In addition, embedded Linux distributions provide a kernel and application code for processors or boards that are characteristic of embedded systems and not just for desktop or server systems. Embedded Linux distributions may also provide special tools for aiding the embedded Linux developer in reducing the size of their target configuration.

Organisations that are building a version of Linux for embedded systems may need to do quite a bit of kernel work. To get an idea of what a developer may be in for, consider the case of TiVo Systems, who build a set-top box that runs Linux. They used kernel release 2.1.24, added updated drivers, and in addition they added 29 files and modified 31 others. Their new code amounts to about 11 500 lines. They added a couple of system calls, modified several places in the kernel that checked for super-user permission to let any user access the resource (it's an embedded system, after all), added extra kernel diagnostics, added some test code and created a new kind of file system.

Embedded Linux distributions often also involve numerous modifications. As an example, Blue Cat Linux from LynuxWorks involves patches of 193 files of kernel release 2.2.12. Note that Blue Cat Linux derives from Red Hat Linux, a distribution targeted for desktop and server applications. The kernel package that comes with Blue Cat Linux says "...the core of your Red Hat Linux Operating System...''.

One usually cannot use a newer version of a kernel with a vendor's patches. For example, if you blindly try to apply the Blue Cat patches to kernel release 2.2.14, then you will find that 15 files fail to patch. If you are really adventurous and you try their patches on kernel release 2.4.0.test7, you will find that 59 files fail to patch. This represents only failures from the patch command. Just because the patch command succeeded on the other files does not mean that they will work as required. This means that a developer that wants to take advantage of features available in a new kernel may be in a for a significant development effort.

The situation, however, is not as dire as what is faced by the typical Independent Software Vendor (ISV). When an ISV produces a version of their software they are usually dependent on the version of the operating system that their customers and suppliers are using. For embedded system developers however, they have control over the operating system that their customers will be running since they provide it with their application.

Other features of embedded Linux distributions

In addition to the kernel modifications, embedded Linux distributions may provide special tools to help reduce resource usage, custom kernel versions for particular targets, smaller versions of standard software or proprietary software (eg a licensed binary driver). The Linux kernel was optimised for desktop and server throughput. The standard kernel was not optimised for realtime response or for use on relatively resource-starved devices. This means that it is likely that an embedded Linux system will use a modified kernel. The characteristics of special distributions are diagrammed in Figure 3.

Figure 3. Characteristics of special distributions
Figure 3. Characteristics of special distributions

An overview of the Taxonomy

Let us begin the tour of the Taxonomy, providing examples for many of the categories. We move over the figures from left to right, top to bottom. The examples chosen do not imply any kind of recommendation; they just serve to help clarify the definition of the category. We add comments about categories to properly define them.

The Information category (see Figure 4) is for informational or reference products. We define the products to be conferences, web sites or publications. Examples of each of the categories include: The Embedded Linux Exposition and Conference, www.linuxdevices.com and Linux Journal, respectively. We associate e-mail lists with websites as part of their information offering.

Figure 4. Taxonomy - information level
Figure 4. Taxonomy - information level

Dataweek will continue Part III of this series in a subsequent issue, and will describe more categories.

Article supplied by Electronic Products Design. For further information about embedded development contact Jaap Willemse, Electronic Products Design, (012) 665 9700. This article was originally published in Embedded Linux Journal, Winter 2000, ( embedded.linuxjournal.cm) published by SSC, ( www.ssc.com) and reprinted with permission.



Credit(s)



Share this article:
Share via emailShare via LinkedInPrint this page

Further reading:

First NVMe SSD Built with 8th-gen BiCS FLASH
EBV Electrolink Computer/Embedded Technology
KIOXIA recently announced the development and prototype demonstration of its new KIOXIA CM9 Series PCIe 5.0 NVMe SSDs, which incorporates CMOS directly Bonded to Array technology.

Read more...
QuecPi smart development board
iCorp Technologies Computer/Embedded Technology
The QuecPi Alpha smart MOB development board is Quectel’s smart development board based on Qualcomm’s QCS6490 high-performance 64-bit octa-core processor.

Read more...
Eskom announces PV registration extension
Computer/Embedded Technology
The South African Photovoltaic Industry Association has welcomed Eskom’s decision to extend its zero-registration fee policy and free smart meter installation for residential Small-Scale Embedded Generation customers until March 2026.

Read more...
Unlock enhanced wireless performance
Computer/Embedded Technology
Duxbury Networking has introduced Cambium Networks’ Deep Virtual Circuit (Deep VC) technology, a free upgrade for the PMP 450 platform that will transform wireless broadband performance across the country.

Read more...
Computing in industrial environments
Vepac Electronics Computer/Embedded Technology
The Panasonic Toughbook CF-33/CF33 Tablet is a 12,0-inch fully rugged device with hot-swappable twin batteries and highly configurable capabilities.

Read more...
DDR5 DRAM series
Vepac Electronics Computer/Embedded Technology
Innodisk has announced its DDR5 6400 DRAM series featuring the industry’s largest 64GB single-module capacity.

Read more...
Generate waveforms at 10 GS/s
Vepac Electronics Computer/Embedded Technology
New flagship arbitrary waveform generator cards from Spectrum Instrumentation generate waveforms with 2,5 GHz bandwidth and 16-bit vertical resolution.

Read more...
Quad-port 10GBASE-T controller
Rugged Interconnect Technologies Computer/Embedded Technology
he SN4-DJEMBE, available from Rugged Interconnect, is a networking adaptor card for CompactPCI Serial systems, equipped with four individual controllers for 10GBASE-T.

Read more...
HPE policy management platform
Computer/Embedded Technology
Duxbury Networking has announced the availability of the HPE Aruba ClearPass policy management platform, that enables business and personal devices to connect to an organisational level, in compliance with corporate security policies.

Read more...
IoT gateways
Brandwagon Distribution Computer/Embedded Technology
IoT Gateways are hardware and software devices that are responsible for collecting data from connected devices, managing communication between devices and the cloud, and processing and analysing the data before sending it to the cloud for further analysis.

Read more...