Open main menu

μClinux is a variation of the Linux kernel, previously maintained as a fork, that targets microcontrollers without a memory management unit (MMU).[3] It was integrated into the mainline of development as of 2.5.46;[4] 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).

Ipod linux booting kernel.jpg
An iPod booting iPodLinux, based on μClinux
OS familyEmbedded Linux
Working stateCurrent
Source modelOpen source
PlatformsSee below
Kernel typeLinux kernel-fork
UserlanduClinux-dist[1][2], uClibc, BusyBox
uClibc is a wrapper around the system calls of the Linux kernel and/or μClinux.

The letters "μC" are for "microcontroller": the name is pronounced "you-see-Linux", rather than pronouncing the letter mu as in Greek.[5]



μ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 Motorola 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 Freescale) 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. Greg Ungerer (who originally ported μClinux to the Motorola ColdFire family of processors) continues 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.

The project continues to develop patches and supporting tools for using Linux on microcontrollers. μClinux has 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.

Supported architecturesEdit

The current list includes:


  1. ^ "uClinux download".
  2. ^ "uClinux -- Embedded Linux/Microcontroller Project -- Source Distribution".
  3. ^ D. Jeff Dionne; Michael Durrant. "uClinux Description". Archived from the original on 2007-12-25. Retrieved 2007-12-31.
  4. ^ Greg Ungerer. "uClinux mainline Announcement". Retrieved 2008-01-15.
  5. ^ "μClinux". Archived from the original on October 4, 2006. Retrieved August 31, 2015.
  6. ^ "Linux for ARM® Processors 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.

External linksEdit