Linux on embedded systems

Uses in embedded systems

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.[1][2][3] 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[4] and autonomous systems.[citation needed]

## History

[edit]

Main article: Linux kernel version history

additional source for this section [5]

### Early Days

[edit]

Prior to becoming the de-facto standard for microprocessor-based devices,[6] a linux distribution was created for the Linux Router Project, with the intent of transforming PCs to routers.

### Introduction of uClinux

[edit]

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.[7] Linux is also used as an alternative to using a proprietary operating system and its associated toolchain.[8]

### Introduction of busybox

[edit]

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

### The ARM-Linux Synergy

[edit]

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.[9]

### Development Toolchains

[edit]

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

### Android

[edit]

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.[5]

### Real-time Support

[edit]

Linux embedded Real Time Evolution

Not every embedded Linux distribution is required to or meets real-time requirements.[10][11] This is particular relevant for safety critical applications and systems.[12]

The original Linux kernel was not suitable for real-time tasks due to its non-deterministic behavior[13]

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.[14][15]

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

### IoT

[edit]

The open source nature and security features of Linux, have contributed to its prevalence in devices on the Edge and IoT Systems.[16] Correspondingly, the demand for the real time capabilities described in the previous subsection, is driven by the proliferation of IoT devices.

### Containerization

[edit]

The emerging technologies of the fourth industrial revolution have driven further enhancements to the linux kernel, notably the adoption of containerization.[17]

## Devices coverage

[edit]

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.[18] The Embeddable Linux Kernel is a lightweight and customizable Linux distribution appropriate for low resource hardware.[19] 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.[20] (example: Raspberry Pi)

## Linux Embedded Ecosystems

[edit]

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 Systems

[edit]

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).[21]

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

* Yocto Project
* Buildroot
* BitBake
* CMake
* OpenWrt
* Open Embedded

### Development Tools

[edit]

* GNU Compiler Collection \- cross compiler
* GDB
* Qemu
* Eclipse IDE

## Variants

[edit]

### 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 also

[edit]

* Linux portal

* Articles:
* Convergent Linux Platform
* Linux range of use
* Linux for mobile devices
* TinyLinux
* Products/Distributions:
* Armbian \- specialised for ARM single board computers
* BusyBox
* BuildRoot
* Debian – used on Raspberry Pi
* Embeddable Linux Kernel Subset
* Emdebian Grip
* Familiar Linux
* Google's Android well-known type of embedded Linux, e.g. on smartphones
* Mobilinux
* OpenMoko
* OpenWrt
* DD-WRT
* RTLinux
* Tizen – embedded Linux for smartphones
* Ubuntu \- Core and Server, on RPi, x86, ARM
* μClinux
* Vendors:
* Access Co.
* Canonical with Ubuntu Core and Ubuntu Server
* LynuxWorks
* Mentor Graphics
* MontaVista Software
* Wind River Systems
* TimeSys
* ENEA AB
* SUSE

## References

[edit]

1. ^ "Embedded Systems Statistics By Market Size And Technologies". Electro IQ. Retrieved April 20, 2025.
2. ^ "The Eclipse Foundation Unveils 2024 IoT & Embedded Developer Survey Results". Eclipse Foundation. Retrieved 10 May 2025.
3. ^ "Wind River Continues Long-Standing #1 Ranking in Edge Operating System Platforms". businesswire. Retrieved 10 May 2025.
4. ^ "2023 State of the Edge Report". LFEdge.
5. ^ a b "Embedded Linux Timeline". 2net.
6. ^ Kingman, Henry (July 2013). The History of Embedded Linux & Best Practices for Getting Started. Linux Foundation. p. 2.
7. ^ Opdenacker, Michael. "Introduction to uClinux" (PDF). bootlin.com.
8. ^ "Migrating VxWorks applications to Linux" (PDF). Monta Vista Software. 2008. Archived from the original (PDF) on 2014-02-10. Retrieved 2013-11-13.
9. ^ Vuong, Kent. "Linux on ARM: The Future of Operating Systems in a Connected World". LinkedIn.
10. ^ Erciyes, K. (2019), "Real-Time Operating Systems", Distributed Real-Time Systems, Computer Communications and Networks, Cham: Springer International Publishing, pp. 65–88, doi:10.1007/978-3-030-22570-4_4, ISBN 978-3-030-22569-8, S2CID 199583025, retrieved 2021-03-08
11. ^ "What does it mean to say "linux kernel is preemptive"?". Stack Overflow. Retrieved 2021-03-08.
12. ^ "Real-Time Operating System - an overview | ScienceDirect Topics". www.sciencedirect.com. Retrieved 2021-03-08.
13. ^ Reghenzani, Federico (2019). "The real-time linux kernel: A survey on Preempt_RT". ACM Computing Surveys. 52: 1-36.
14. ^ "Real-Time Linux Wiki". Archive Kernel.org.
15. ^ "PREEMPT_RT patch versions". Linux Foundation.
16. ^ Cintay, Emre. "The Impact of Linux on Emerging Technologies: IoT, AI, and Beyond". Medium. Retrieved 24 April 2025.
17. ^ "Guide to Building Embedded Linux Systems with Containers". Pantacor.
18. ^ Tim Bird July 2022 (June 2023) Status of Embedded Linux
19. ^ "ELKS: The Embeddable Linux Kernel System". GitHub.com/elks. Retrieved 2021-04-12.
20. ^ Yaghmour, Karim (2008). Building Embedded Linux Systems (2nd ed.). O'Reilly.
21. ^ Yaghmour, Karim (2003). Building Embedded Linux Systems. O'Reilly.

## Further reading

[edit]

* Weinberg, Bill (July 2008). Uniting Mobile Linux Application Platforms (PDF). LinuxPundit.com. p. 18\. Archived from the original (PDF) on 2012-02-16. Retrieved 2009-05-08.

## See also

[edit]

* Preemption (computing)
* Safety-critical system

## External links

[edit]

* Linux Foundation
* Embedded Linux course on youtube (Zedboard)
* "News and technical articles concerning embedded Linux". Archived from the original on 3 January 2013.
* Embedded Linux mailist list archive
* Embedded Debian Project Archived 2006-06-30 at the Wayback Machine (obsolete)
* VxWorks to Embedded Linux: a Success Story
* Embedded Linux Wiki: A centralized place for sharing Embedded Linux Knowledge

* v
* t
* e

Linux

Linux kernel|

* History
* Linus's law
* Linux-libre
* Booting process
* Kernel oops
* Tux
* more…

Controversies|

* Criticism of Linux
* Criticism of desktop Linux
* GNU/Linux naming controversy
* Tanenbaum–Torvalds debate
* SCO and Linux

Distributions|

* General comparison
* Distributions list
* Netbook-specific comparison
* Distributions that run from RAM
* Lightweight
* Security-focused operating system
* Package manager
* Package format
* List of software package managers

Organizations|

* LinuxChix
* Linux Counter
* Linux Documentation Project
* Linux Foundation
* Linux Mark Institute
* Linux User Group (LUG)

Adoption|

* Adopters
* Desktop
* Embedded
* Gaming
* Mobile
* Range of use
* Linux malware

Media|

* DistroWatch
* Free Software Magazine
* Full Circle
* Linux.com
* Linux Format
* Linux Gazette
* Linux Journal
* Linux Magazine
* LinuxUser
* Ubuntu User
* Linux Outlaws
* Linux Voice
* LugRadio
* LWN.net
* Phoronix
* Revolution OS
* The Code

Security
certifications|

* CompTIA Linux+
* Linux Foundation
* Red Hat

* Linux portal
* Free and open-source software portal
* Category

* v
* t
* e

Mobile operating systems

* Comparison
* Open-source mobile phones, OSes
* Open Handset Alliance
* Open Mobile Alliance
* Mobile app distributions
* Mobile app development

Linux|

| Kernel|

* Active: Android
* forks
* Android Go
* Wear OS
* EMUI, HarmonyOS (Linux kernel subsystem)
* ChromeOS
* ChromeOS Flex
* KaiOS
* Smart Feature OS
* Kindle firmware
* LuneOS
* Maemo Leste
* Tizen

* Defunct: Bada
* Firefox OS
* B2G OS
* MeeGo
* MontaVista
* MotoMagx
* Mobilinux
* OpenEmbedded
* Ångström
* Openmoko Linux
* QtMoko
* SHR
* OpenEZX
* WebOS

|

GNU/
Linux|

* Active: Fedora Mobility
* Manjaro ARM
* postmarketOS
* PureOS
* Sailfish OS
* SteamOS
* Ubuntu Touch
* UBports
* Mobian

* Defunct: Maemo
* Mer
* Moblin

XNU|

* iOS
* iPadOS
* watchOS
* bridgeOS

QNX|

* BlackBerry 10
* BlackBerry Tablet OS

Microsoft
Windows|

* Windows XP Tablet PC Edition
* Windows Mobile
* Windows Phone
* 7
* 8
* 8.1
* Windows RT
* Windows 10 Mobile
* Windows 8
* Windows 8.1
* Windows 10
* Windows 11

Zircon|

* Fuchsia

FreeBSD, NetBSD|

* PlayStation Vita system software

OpenHarmony,
HarmonyOS NEXT|

* Active: OpenHarmony
* HarmonyOS
* HarmonyOS NEXT

* Defunct: EMUI (non GMS-based)
* LiteOS
* Huawei Band OS

FreeRTOS|

* Amazfit OS
* Zepp OS
* MIUI Band OS

Nintendo
system software|

* Nintendo 3DS system software
* Nintendo DSi system software
* Nintendo Switch system software

Minix 3|

* Intel Management Engine

Symbian|

* S60
* S80
* S90
* UIQ

Others|

* Binary Runtime Environment for Wireless (BREW)
* BlackBerry OS
* EPOC
* GEOS
* Magic Cap
* Nokia Asha platform
* PalmDOS
* Palm OS
* PlayStation Portable system software
* S30
* S30+
* S40
* Sony Ericsson Java Platform
* ThreadX

* Software
* Mobile operating systems
* Mobile applications
* Telecommunication

* v
* t
* e

Real-time operating systems (RTOS)

Operating
systems|

| POSIX support|

| Unix-like|

* DNIX
* Junos OS
* LynxOS
* Multi-Environment Real-Time^ (MERT – Unix-RT)
* OS2000
* QNX^
* Real-Time Linux°
* RTLinux°
* UNOS

|

LiteOS|

* LiteOS°

Partial|

* ChorusOS^
* Integrity^
* Nucleus RTOS^
* NuttX^°
* Operating System Embedded^ (OSE)
* PX5 RTOS^
* RIOT^°
* RTEMS°

TRON support|

* ITRON project
* T-Kernel
* Micro T-Kernel
* T-Engine Forum (organization)
* T-License

Partial|

* eCos°
* RTEMS°

Capability-based|

* EROS^°
* seL4^°

Java virtual machine|

* Chorus/Jazz^ (JavaOS \+ ChorusOS^)

DOS|

* Multiuser DOS
* Concurrent DOS
* FlexOS
* REAL/32

L4 kernel|

* L4Linux^°
* PikeOS^
* REX OS^
* Wombat^°

Psion|

* EKA2^° kernel → Symbian OS^°

Microsoft|

* ThreadX^
* Windows Embedded Compact

IBM|

* 4680 OS
* 4690 OS
* Transaction Processing Facility (TPF)

Texas Instruments|

* DSOS
* TI-RTOS Kernel^°

DEC PDP-11 & VAX|

* RSX-11
* RT-11
* VAXELN

Low resource|

* ChibiOS/RT^°
* Contiki°
* ERIKA Enterprise°
* FunkOS°
* Mynewt°
* Nano-RK°
* OpenComRTOS^
* PX5 RTOS^
* RT-Thread° Nano
* RIOT°
* RTEMS°
* ThreadX^
* Zephyr^°

* BeRTOS^°
* DioneOS
* embOS
* FreeRTOS^°
* µC/OS^°
* µ-velOSity^
* MQX^
* OS-9 (Microware)
* Phantom OS^°
* pSOS
* RMX
* RT-Thread° Standard
* ScreenOS
* Sintran III
* THEOS
* Thoth^ → Harmony^
* VRTX^
* VxWorks
* UniProton

Frameworks, kits|

* Robot Operating System° 2
* RTAI°
* TI-RTOS^°
* Xenomai°

Developers|

* Gordon Bell
* David Cheriton
* Dave Cutler
* Dan Dodge
* Adam Dunkels
* Ken Sakamura

* Italics = discontinued
* ^ = Microkernel
* ° = Open-source software
Comparison Category

* v
* t
* e

Embedded systems

General terms|

* ASIC
* Board support package
* Bootloader
* Consumer electronics
* Cross compiler
* Embedded database
* Embedded hypervisor
* Embedded OS
* Embedded software
* FPGA
* IoT
* Memory footprint
* Microcontroller
* Single-board computer
* Raspberry Pi
* SoC

Firmware and controls|

* Firmware
* Custom firmware
* Proprietary firmware
* Closed platform
* Crippleware
* Defective by Design
* Hacking of consumer electronics
* Homebrew (video games)
* iOS jailbreaking
* PlayStation 3 Jailbreak
* Rooting (Android)
* UEFI
* Vendor lock-in

Boot loaders|

* U-Boot
* Barebox

Software libraries|

* uClibc
* dietlibc
* Embedded GLIBC
* lwIP
* musl

Programming tools|

* Almquist shell
* BitBake
* Buildroot
* BusyBox
* OpenEmbedded
* Stand-alone shell
* Toybox
* Yocto Project

Operating systems|

* Linux on embedded systems
* Linux for mobile devices
* Light-weight Linux distribution
* Real-time operating system
* Windows IoT
* Win CE

Programming languages|

* Ada
* Assembly language
* CAPL
* Embedded C
* Embedded C++
* Embedded Java
* MISRA C
* MicroPython

* Lightweight browsers
* List of open-source hardware
* Open-source robotics

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template