Which embedded Linux?

Linux is the primary environment for a majority of software developers and is the solution of choice for embedded systems. Linux is ideal for embedded systems because it comes in so many flavours and varieties. However, this is also one of its biggest challenges. You want to make sure that you are using the right type of Linux to fit your particular use case.

Guest blog written by Pavan Singh, Wind River.

One of Linux’s greatest strengths – but also one of its challenges – is that it comes in so many varieties that are each suited for a particular use case.

A Note About Enterprise Linux

Enterprise Linux includes the general-purpose and desktop distributions of Linux from Ubuntu, Red Hat, etc. This version of Linux is ideal for well-resourced, multipurpose, and often multiuser use cases. These distributions are typically configured to support a huge range of devices with a one-size-fits-most mentality. Distributions are supported with the available source code and customisation is possible but is often limited to package installation and configuration files.

Enterprise Linux has a solid user experience, 'good-enough' reliability for general purposes, and an inexpensive support model with a 3-5-year horizon. However, off-the-shelf enterprise Linux generally makes for a very poor choice for embedded systems. It is too resource intensive, has too large an attack surface from a security perspective, and the maintenance windows are typically too short.

Enterprise Linux is typically not well suited for embedded systems.

Pros

Cons

Solid user experience

Good reliability for general purposes

Inexpensive support models

Minimal customisation

Limited performance in constrained environments

Support for only 3-5 years

Types of Linux for Embedded Systems

Roll-your-own/customised

Since off-the-shelf enterprise Linux doesn’t work well in embedded situations, many organisations choose to create their own customised Linux for embedded systems.

This is typically referred to as roll-your-own (RYO) Linux. To roll their own, developers strip down the community distribution to only the components that they need.

The hope is that developers can then rely upon the existing open-source community for support since their custom Linux was based on a common distribution.

Unfortunately, the reality is that the community doesn’t actually know anything about the now completely custom version that has been created and therefore is unable to provide significant long-term support.Without the community, organisations must have dedicated engineers who understand the unique OS that has been created in order to support and maintain it.

Initially, this isn’t a big burden, but as time goes on, it becomes a bigger headache as the gulf between the community’s currently supported OS and the custom OS becomes wider and wider.

RYO expertise must be maintained in-house with support and maintenance costs that significantly increase over time.

Pros

Cons

Low initial cost

Fully customised

Long term support and maintenance costs

Increased long-tail security risks

Expertise must be maintained in-house (minimal support from the open source community)

Must handle compliance

Commercially-Supported Linux for Embedded Systems

Commercially-supported Linux for embedded systems takes an approach similar to that of commercially supported enterprise Linux but is built with embedded use cases in mind. Instead of creating a one-size-fits-most distribution, commercial vendors create a compact core. This core can support low-resource environments, with very high reliability, on a system that only requires local support for extensions.

The core Linux framework is provided by the Open Embedded and Yocto-Project communities which enable economies of scale in terms of support and customizations that fit each project requirements perfectly.

Board Support Packages (BSPs)

A board support package (BSP) is the layer of software containing hardware specific drivers and other routines that allow Linux to function in a particular hardware environment. It should be customised not just to the correct architecture/OS combination but down to the exact system on a chip (SoC) and board configuration used. To optimise for an embedded environment, the BSP should also include a customised version of Linux (or another OS). Your BSP vendor can provide customized test suites, developer assistance from experts, and other professional services.

BSPs provide a polished development and production and environment along with massive time savings and a big leap forward in reliability and quality compared to building your own drivers and hardware support package.

Benefits of using a BSP supported by a commercial vendor:

Increased speed

Expertise for specific boards and drivers

Economies of scale

Supported and maintained

Win River have thousands of BSPs available for covering almost every popular processor architecture and are currently offering a few for free. Browse the library of free BSPs.

Commercially supported embedded Linux offers the same customisation and uniqueness of the final OS as RYO. However, with commercial-supported Linux, the distributions are all sourced from the same code, which is carefully monitored, maintained, patched by a dedicated team to achieve significant economies of scale.

Commercially supported embedded Linux offers low-costs, long term support and maintenance along with comprehensive development lifecycle services.

Pros

Cons

Lower long-term support and maintenance costs

Fewer technical, business, and legal risks

Includes full development lifecycle services

Get to market faster

Higher initial costs

Commercial embedded Linux offers a clear return on investment versus RYO solutions that are developed and maintained in-house. Ultimately the total cost of ownership is lower, and many of the business, technical, and legal risks associated with maintaining your own are eliminated. A commercial vendor can supply the training, services, maintenance, and support that you need. This, in turn, increases productivity and reduces the overhead associated with maintaining a unique Linux distribution.

In this competitive market, you must concentrate on what you do best to be successful. That means your time should be focused on building great products and avoiding the risks and expenses that occur with platform development.

Electronic Specifier Ltd is not responsible for the content of external sites

This site uses cookies to enhance your visitor experience. Continuing to use this website gives consent to cookies being used. For more information on how to disable cookies see our Privacy & Data Protection Policy