Linux on embedded systems

Revision as of 05:11, 25 May 2025 by imported>OAbot (Open access bot: url-access updated in citation with #oabot.)
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Template:Short description The Linux Operating system is prevalent in embedded systems. As of 2024, developer surveys and industry reports find that Embedded Linux is used in 44%-46% of embedded systems.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Due to its versatility, its large community of developers, as well as its adaptability to devices with size and power constraints, Linux is a popular choice for devices used in Edge Computing<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> and autonomous systems.Template:Citation needed

HistoryEdit

{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}}

additional source for this section <ref name="2net">{{#invoke:citation/CS1|citation

|CitationClass=web }}</ref>

Early DaysEdit

Prior to becoming the de-facto standard for microprocessor-based devices,<ref>Template:Cite book</ref> a linux distribution was created for the Linux Router Project, with the intent of transforming PCs to routers.

Introduction of uClinuxEdit

Starting in the late 1990s and the first decade of the 21st century, the introduction of uCLinux enabled ports to a large variety of microprocessors.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Linux is also used as an alternative to using a proprietary operating system and its associated toolchain.<ref name="vxworks-migration">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Introduction of busyboxEdit

The introduction of busybox in 1999, enabled packaging critical tools in an embedded system, with a minimal footprint.

The ARM-Linux SynergyEdit

As mentioned in the article ARM architecture family, due to their low costs, low power consumption, and low heat generation, arm processors are prevalent in many embedded devices. The open source nature, the flexibility, and the stability of Linux contributes to its wide-spread adoption to ARM devices.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Development ToolchainsEdit

The development of the GNU cross-compiler facilitated the adoption of Linux embedded to many processors.

AndroidEdit

In 2008 Android 1.0 was released, based on the linux kernel. Android, a Linux-kernel-based operating system acquired and extended by Google and introduced in 2008, has become a highly competitive platform for smartphones and tablets. In time, Android would become the most successful linux embedded distribuition.<ref name="2net"></ref>

Real-time SupportEdit

File:Linux embedded Real Time Evolution.png
Linux embedded Real Time Evolution

Not every embedded Linux distribution is required to or meets real-time requirements.<ref>Template:Citation</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> This is particular relevant for safety critical applications and systems.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

The original Linux kernel was not suitable for real-time tasks due to its non-deterministic behavior<ref>Template:Cite journal</ref>

Early attempts to provide real time support, such as RTAI were based on a real-time kernel alongside the standard kernel.

In 2005, the PREEMPT_RT project was initiated to provide a patch to the linux kernel.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

In 2024, the PREEMPT_RT patch was fully merged into the Linux kernel for supported architectures.

IoTEdit

The open source nature and security features of Linux, have contributed to its prevalence in devices on the Edge and IoT Systems.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Correspondingly, the demand for the real time capabilities described in the previous subsection, is driven by the proliferation of IoT devices.

ContainerizationEdit

The emerging technologies of the fourth industrial revolution have driven further enhancements to the linux kernel, notably the adoption of containerization.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Devices coverageEdit

Due to its freely available source code and ease of customization, Linux has been shipped in many consumer devices. Starlink and SpaceX use embedded Linux on their constellations and rockets.<ref name= spaceUses >Tim Bird July 2022 (June 2023) Status of Embedded Linux</ref> The Embeddable Linux Kernel is a lightweight and customizable Linux distribution appropriate for low resource hardware.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Like the synergy with the ARM architecture as mentioned in #The ARM-Linux Synergy, Linux embedded has evolved with hardware technologies like System on a chip and Single-board computer, networking standards, and memory devices.<ref>Template:Cite book</ref> (example: Raspberry Pi)

Linux Embedded EcosystemsEdit

With the availability of consumer embedded devices, communities of users and developers were formed around these devices: replacement or enhancements of the Linux distribution shipped on the device has often been made possible thanks to availability of the source code and to the communities surrounding the devices.

Build SystemsEdit

Alongside the evolution of the linux kernel, build systems evolved to support the building of an optimized operating system for an embedded device.

Before the emergence of these build systems, developers manually built toolchains, and compiled each component of the embedded distribution (kernel, libraries, applications).<ref>Template:Cite book</ref>

Currently, there are several solutions, some full build systems, others are supporting tools.

Development ToolsEdit

VariantsEdit

Summary Table of Variants (2025)Edit

Category of Variant Examples
Networking Devices OpenWRT, firmware variant DD-WRT
IoT Devices Ubuntu Core, Balena OS, Raspberry Pi OS
Automotive Automotive Grade Linux
Safety Critical Applications Windriver Linux (commercial product), Enabling Linux in Safety Applications (ELISA),
High reliability Industrial Applications Torizon, Xenomai

See alsoEdit

Template:Portal

Template:Div col

Template:Div col end

ReferencesEdit

Template:Reflist

Further readingEdit

See alsoEdit

External linksEdit

|CitationClass=web }}

{{#invoke:Navbox|navbox}} Template:Mobile operating systems Template:Real-time operating systems Template:Embedded systems