Linux for embedded systems
Linux for embedded systems describes use of operating systems based on the Linux kernel in embedded systems — such as customer-premises equipment (CPE), in-vehicle infotainment (IVI), networking equipment, machine control, industrial automation, navigation equipment, spacecraft flight software, and medical instruments in general. The term customer-premises equipment includes smart TVs, home theater PCs, set-top boxes, wireless routers and similar networking equipment, as well as other consumer electronics devices.
Thanks to their nature of versatility, operating systems based on the Linux kernel can be also found in mobile devices that are actually touchscreen-based embedded devices — such as smartphones and tablet computers, together with mobile phones, personal digital assistants (PDAs) and portable media players that also include a touchscreen.
Linux kernel has been ported to a variety of CPUs which are not only primarily used as the processor of a desktop or server computer, but also ARM, AVR32, ETRAX CRIS, FR-V, H8300, IP7000, m68k, MIPS, mn10300, PowerPC, SuperH, and Xtensa processors. Linux is also used as an alternative to using a proprietary operating system and its associated toolchain.
Due to its low cost 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: the Motorola exz series, the Openmoko handsets, the Nokia N900 and Nokia N9 cell phones were all using the Linux kernel. Nowadays the operating system that dominates the cell phone market is the Android operating system which is based on a modified Linux kernel along with a custom user space. The first device shipping with the Android operating system was the HTC Dream, which was released on 22 October 2008.
On machine control systems, industrial automation, and medical instruments Linux has also been used extensively. The website "LinuxForDevices". Archived from the original on 4 June 2012. has many examples of such devices shipping with an embedded Linux as the operating system.
With the availability of consumer embedded devices, communities of users and developers were formed around theses 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 like OpenEmbedded, Buildroot, OpenWrt, and LTIB.
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.
Career opportunities for embedded software developers are also to be considered. When an embedded software development effort is completed, the developers often need to find another job. On 13 November 2013, an online search for jobs in Los Angeles for "VxWorks programmer" found zero job openings, whereas a search for "Linux kernel programmer" found 12 job openings, with annual salaries of $80,000 to $140,000.
- "Migrating VxWorks applications to Linux" (PDF). Monta Vista Software. 2008. Retrieved 2013-11-13.
- "T-Mobile Unveils the T-Mobile G1 - the First Phone Powered by Android". HTC. Retrieved 2009-05-19.
- Weinberg, Bill (July 2008). Uniting Mobile Linux Application Platforms. LinuxPundit.com. p. 18.
- Embedded Linux at the Open Directory Project
- "News and technical articles concerning embedded Linux". Archived from the original on 3 January 2013.
- Embedded Linux mailist list archive
- Complete Embedded Linux system in RJ-45
- Embedded Debian Project
- VxWorks to Embedded Linux: a Success Story