μClinux
This article needs additional citations for verification. (December 2011) |
![]() | |
OS family | Embedded Linux |
---|---|
Working state | Current |
Source model | Open source |
Platforms | See below |
Kernel type | Linux kernel-fork |
Userland | uClinux-dist, uClibc, BusyBox |
Official website | uclinux.org at the Wayback Machine (archived 2018-11-13) |
![](http://178.128.105.246/content-http-upload.wikimedia.org/wikipedia/commons/thumb/5/56/Linux_kernel_System_Call_Interface_and_uClibc.svg/300px-Linux_kernel_System_Call_Interface_and_uClibc.svg.png)
μClinux is a variation of the Linux kernel, previously maintained as a fork, that targets microcontrollers without a memory management unit (MMU).[1] It was integrated into the mainline kernel as of 2.5.46;[2] the project continues to develop patches and tools for microcontrollers. The homepage lists Linux kernel releases for 2.0, 2.4 and 2.6 (all of which are end-of-life in mainline).
The letters "μC" are for "microcontroller": the name is pronounced "you-see-Linux", rather than pronouncing the letter mu as in Greek.[3]
History
[edit]μClinux was originally created by D. Jeff Dionne and Kenneth Albanowski in 1998. Initially, they targeted the Motorola DragonBall family of embedded 68k processors (specifically the 68EZ328 series used in the 3Com PalmPilot) on a 2.0.33 Linux kernel. After releasing their initial work, a developer community quickly sprang up extending their work to newer kernels and other microprocessor architectures. In early 1999, support was added for the Motorola (now NXP) ColdFire family of embedded microprocessors. ARM processor support was added later.
Although originally targeting 2.0 series Linux kernels, it now has ports based on Linux 2.4 and Linux 2.6. The Linux 2.4 ports were forward ported from the 2.0.36 Linux kernel by Michael Leslie and Evan Stawnyczy during their work at Rt-Control. There were never any μClinux extensions applied to the 2.2 series kernels.
Since version 2.5.46 of the Linux kernel, the major parts of μClinux have been integrated with the mainline kernel for a number of processor architectures.[4]
Greg Ungerer (who originally ported μClinux to the Motorola ColdFire family of processors) continued to maintain and actively push core μClinux support into the 2.6 series Linux kernels. In this regard, μClinux is essentially no longer a separate fork of Linux.
μClinux had support for many architectures, and forms the basis of many products, like network routers, security cameras, DVD or MP3 players, VoIP phone or gateways, scanners, and card readers.
Support for several of the original target architectures was dropped in 2018.[5] The obsolete CPU architectures set to be removed in Linux 4.17 and subsequent releases included ADI Blackfin, Etrax CRIS, Fujitsu FR-V, Mitsubishi M32R, Matsushita/Panasonic MN10300, Imagination META (Metag), and Tilera TILE.[6]
Hardware projects
[edit]The leanXCam was an open-source programmable smart camera used for industrial applications in the field of machine vision that ran under μClinux; the camera won an award at the 2008 VISION tradeshow.[7] As of 2015, the project was discontinued.[8]
Supported architectures
[edit]The current list includes:
- Altera Nios/Nios II
- Amber (open FPGA core)
- ARM ARM7TDMI, ARM Cortex-M3/M4/M7,[9] ARM Cortex-R
- Lattice Mico32
- NXP 680x0 (Motorola/Freescale 680x0)
- Hyperstone E1/E2 (called hyLinux)
- Intel i960
- MIPS
- NXP ColdFire (Motorola/Freescale ColdFire)
- Xilinx MicroBlaze
No longer supported
[edit]- NEC V850E - removed in Linux 2.6.27.[10][11]
- Hitachi/Renesas H8 (h8300) - removed in Linux 5.19.[12][13]
Before Linux 4.17 the following architectures were also supported:[14]
References
[edit]- ^ D. Jeff Dionne; Michael Durrant. "uClinux Description". Archived from the original on 2007-12-25. Retrieved 2007-12-31.
- ^ Greg Ungerer. "uClinux mainline Announcement". Archived from the original on 2007-10-31. Retrieved 2008-01-15.
- ^ "μClinux". Archived from the original on October 4, 2006. Retrieved August 31, 2015.
- ^ Miles Gillham "uClinux and Linux set to merge", Linux.com, November 19, 2002.
- ^ Linus Torvalds "Linux 4.17-rc1", LKML.ORG, 15 April 2018.
- ^ Jonathan Corbet "Shedding old architectures and compilers in the kernel", LWN.net, February 26, 2018.
- ^ Wilson, Andrew, ed. (Jan 2009). "Open-source system wins VISION Award". Vision System Design. Vol. 14, no. 1. pp. 11–12, 15. ProQuest 224134687. Retrieved 2023-11-29.
- ^ "home". GitHub. Retrieved 2023-11-29.
- ^ "Linux for ARM® Processors www.arm.com Summer/Winter 2013 Robert Boys System Design Division, ARM" (PDF). 2013-09-10. Retrieved 2014-07-17.
What about Cortex-M and Cortex-R ? /../ These can run a modified version of Linux called uClinux.
- ^ "Linux 2.6.27 kernel released 9 October 2008". Retrieved 2023-12-13.
- ^ "remove the v850 port".
- ^ "Linux 5.19 was released on Sunday, 31 Jul 2022". Retrieved 2023-12-24.
- ^ "remove the h8300 architecture".
- ^ "[GIT PULL] arch: remove obsolete architecture ports".
External links
[edit]- Uclinux-dev on GitHub
- μClinux-dist, complete source distribution package at the Wayback Machine (archived 2018-11-13)
- μClinux at SourceForge
- μClinux - Setting up the Development Environment at the Wayback Machine (archived 2017-03-24)
- Accelerated Linux, an actively developed continuation[1] of μClinux-dist by Digi