Embedded Linux/Microcontroller Project


What is uClinux?


Getting started with uClinux


uClinux Ports

The Developers

E-Mail Forum

Contact us

HTTP download

Sponsor Links

ColdFire Links:








EMAIL - gerg@uclinux.org

The following are links to a complete source distribution package for uClinux. This is a full source package, containing kernel, libraries and application code.

The following link is the latest snapshot source package that includes support for a wide variety of CPU architectures. And it includes pre-canned configurations for hundreds of boards from dozens of different vendors. (Note that this code base is designed to run on both non-MMU processors and processors with MMU hardware).

Full Source Distribution (20160919) (gzip archive) (md5 sums)

The best way to download the latest source archive is at the fast mirror on sourceforge. Use this link:

Sourceforge mirror of uClinux-dist-20160919.tar.bz2

Here are links to older releases if you are looking for those:

These are source only packages. You will need a tool chain to generate anything usefull from this source. A number of pre-built binary tools packages with instructions on installation are available at www.uclinux.org. Links below for the most common ones:

If you wish to rebuild the tool set from scratch then follow the links to the above binary tool chains for helpful build scripts. For many VM targets the toolchains are quite standard (usual binutils and gcc packages). Tool chains for the non-MMU targets tend to be a little more tricky to build (needing binutils, gcc, elf2flt at least). Again follow the links above for appropriate versions that are known to work.

The CodeSourcery tool chains have also successfully been used with the uClinux-dist, find them at their site. Other binary tool chains may work, and most could be made to work without to much effort.

Instructions for compiling:

  1. Install a tool chain. If you are using a binary tool chain package then install that now. If you are building your own tool chain, then do that now.

  2. Un-archive the source package. It is a gziped tar image, so do:
            tar xvzf uClinux-dist-XXXXXXXX.tar.gz
    This will dump the source into a uClinux-dist directory. Typically you would do this somewhere in your local user directory. (Good practice dictactes that you don't build things like this as root :-)

  3. Cd into the source tree:
            cd uClinux-dist
  4. Configure the Linux kernel. Configure the build for your specific target. Do the following:
            make xconfig
    Or you can use the menuconfig or config make target if you are not running the X windows system on your development machine.

    The top level selection is strait forward if you know the vendor of the board you want to compile for. You can choose also to modify the underlying default kernel and application configuration if you want.

    At first I suggest using the default configuration for your vendors board. It will almost certainly work as is on your board.

  5. Build the image:

Thats it!

The exact binary files produced depends on your target. The binaries files generated will be in the images directory.

Instructions for running

This is totally dependant on your target board. They are all different.

Check in the Documentation directory at the top level of the source tree for a HOWTO file for your specific board. If present it will list exactly how to load and run images generated from this source.

Otherwise you will need to consult the documentation supplied with your board.


Console output is generally from the primary serial port. The baud rate is typically the default for that board.

You should see the Linux kernel startup messages come out. The shell is interactive, a small set of shell tools is available and can be executed.

© Copyright 1999 - 2000 Moreton Bay © Copyright 1999 - 2000 Rt-Control Inc. © Copyright 2000 - 2001 Lineo © Copyright 2002 - 2008 SnapGear Inc

Last Updated: 19-SEP-2016