Jump to content

Linux on embedded systems

From Wikipedia, the free encyclopedia

The Linux Operating system is prevalent in embedded systems. As of 2024, Embedded Linux shares the top spot with FreeRTOS, with 44% of embedded systems using this operating system [1]. 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[2] and autonomous systems[citation needed].

History

[edit]
additional source for this section [3]

early days

[edit]

Prior to becoming the de-facto standard for microprocessor-based devices[4], 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[5]. Linux is also used as an alternative to using a proprietary operating system and its associated toolchain.[6]

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

Development toolchains

[edit]

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

In 2008 Android 1.0 was released, based on the linux kernel. In time, Android would become the most successful linux embedded distribuition.[3]

Real time support

[edit]
Linux embedded Real Time Evolution

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

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

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

The open source nature and security features of Linux, have contributed to its prevalence in devices on the Edge and IoT Systems.[11] 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.[12]

Variants

[edit]

The Embeddable Linux Kernel Subset is a Linux distribution that fits on a floppy disk for outdated or low resource hardware.[13]

Devices coverage

[edit]

Due to its low cost (freely available source code) and ease of customization, Linux has been shipped in many consumer devices. Devices covering PDAs (like the Sharp Zaurus family), TomTom GPS navigation devices, residential gateways like the Linksys WRT54G series or smartphones such as the Motorola exz series, Openmoko handsets, devices running Sailfish OS developed by Jolla like Jolla C and Intex Aqua Fish and the Nokia N900 and Nokia N9.

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 July 2012, Android's smartphone market share in the United States was at 52%,[14] reaching 82% worldwide in Q2 2015.[15]

Starlink and SpaceX use embedded Linux on their constellations and rockets.[16]

Communities

[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. Due to the high number of devices, standardized build systems have appeared, including Yocto, OpenEmbedded, Buildroot, OpenWrt, and LTIB.[citation needed]

Platform usage

[edit]

The advantages of embedded Linux over proprietary embedded operating systems include multiple suppliers for software, development and support; no royalties or licensing fees; a stable kernel; the ability to read, modify and redistribute the source code. The technical disadvantages include a comparatively large memory footprint (kernel and root filesystem); complexities of user mode and kernel mode memory access, and a complex device drivers framework.[6]

Limitations

[edit]

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

Projects to develop real-time and safety-critical support are Real-Time Linux (PREEMPT RT)[20] and ELISA[21] (under Linux Foundation). Real Time Linux project aims mainlining the PREEMPT_RT-version.[22]

In order for the electronic system to run fully-fledged Linux OS and have multitasking it has to have enough operative memory (or replacing such) and memory management unit implementing virtual addressing to ensure compatibility with software running on Linux.[citation needed]

See also

[edit]

References

[edit]
  1. ^ "Embedded Systems Statistics By Market Size And Technologies". Electro IQ. Retrieved April 20, 2025.
  2. ^ "2023 State of the Edge Report". LFEdge.
  3. ^ a b "Embedded Linux Timeline". 2net.
  4. ^ Kingman, Henry (July 2013). The History of Embedded Linux & Best Practices for Getting Started. Linux Foundation. p. 2.
  5. ^ Opdenacker, Michael. "Introduction to uClinux" (PDF). bootlin.com.
  6. ^ a b "Migrating VxWorks applications to Linux" (PDF). Monta Vista Software. 2008. Archived from the original (PDF) on 2014-02-10. Retrieved 2013-11-13.
  7. ^ Vuong, Kent. "Linux on ARM: The Future of Operating Systems in a Connected World". LinkedIn.
  8. ^ Reghenzani, Federico (2019). "The real-time linux kernel: A survey on Preempt_RT". ACM Computing Surveys. 52: 1-36.
  9. ^ "Real-Time Linux Wiki". Archive Kernel.org.
  10. ^ "PREEMPT_RT patch versions". Linux Foundation.
  11. ^ Cintay, Emre. "The Impact of Linux on Emerging Technologies: IoT, AI, and Beyond". Medium. Retrieved 24 April 2025.
  12. ^ "Guide to Building Embedded Linux Systems with Containers". Pantacor.
  13. ^ "ELKS: The Embeddable Linux Kernel System". GitHub.com/elks. Retrieved 2021-04-12.
  14. ^ Fingas, Jon (2012-09-04). "ComScore: Android tops 52 percent of US smartphone share, iPhone cracks the 33 percent mark". Engadget.com. Retrieved 2012-11-24.
  15. ^ "IDC: Smartphone OS Market Share, 2015 Q2". idc.com. 2015-08-01. Retrieved 2016-05-13.
  16. ^ Tim Bird July 2022 (June 2023) Status of Embedded Linux
  17. ^ 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
  18. ^ "What does it mean to say "linux kernel is preemptive"?". Stack Overflow. Retrieved 2021-03-08.
  19. ^ "Real-Time Operating System - an overview | ScienceDirect Topics". www.sciencedirect.com. Retrieved 2021-03-08.
  20. ^ "Real-Time Linux Continues Its Way to Mainline Development and Beyond". 6 September 2018.
  21. ^ "ELISA: Enabling Linux in Safety Applications". 21 February 2019.
  22. ^ "Realtime:start [Wiki]".

Further reading

[edit]

See also

[edit]
[edit]