iPodLinux, based on μClinux
OS family Embedded Linux
Working state Current
Source model Free and open-source
Latest stable release uClinux 3.4.0-uc0 / June 20, 2012; 23 months ago (2012-06-20)
Supported platforms See below
Kernel type Linux kernel-fork
Userland uClibc, BusyBox
Official website www.uClinux.org

μClinux was a fork of the Linux kernel for microcontrollers (in embedded systems) without a memory management unit (MMU).[1] It was integrated into the main line of development as of 2.5.46;[2] the project continues to develop patches and tools for microcontrollers.

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


μ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 main line 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 architectures

The current list includes:

Recent developments

Quality of support varies, with some ports no longer under active development. ARM support has recently been merged, with most core support in later 2.6 series kernels. MicroBlaze is actively vying for inclusion in mainline Linux kernels. Development for some architectures has occurred outside of the existing μClinux community (typically by commercial interests, but sometimes by individuals), and resources like the uclinux.org website may not be particularly helpful for all architecture types.

Like any part of the Linux kernel, the extensions (in the form of patches) are licensed under the GPL.

Although strictly speaking μClinux is only the operating system kernel, the μClinux project also produced a C standard library called uClibc (now separately maintained) and a "userland" which can be used as a complete operating system for embedded systems called "μClinux-dist".

The "μClinux-dist" software package contains libraries, applications and tools. It can be configured and built into a kernel with root file system. It was first released by Greg Ungerer in 1999 as the μClinux-coldfire package. In the following years it came to support many architecture families, and now can even build standard Linux architectures (such as x86) as well.

The "μClinux-dist" userland utilities contain tiny HTTP servers, a small 'sh like' shell, and even a fun ASCII art Star Wars film. It also contains many other well-known open source packages, like Samba and FreeS/WAN, all of which run on μClinux systems.

For example, the iPodLinux project uses μClinux for its kernel, and so does Mattel's Juice Box, as well as the well-known Nintendo DS Linux port, DSLinux, the lesser-known PlayStation port Runix, and the PlayStation Portable port.

It has also been used in the


External links

  • μClinux-dist, complete source distribution package
  • μClinux - Setting up the Development Environment
  • Deeply Embedded Linux - A practical Example
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.