uClibc-ng - Embedded C library

What is it?

uClibc-ng is a small C library for developing embedded Linux systems. It is much smaller than the GNU C Library, but nearly all applications supported by glibc also work perfectly with uClibc-ng.

Porting applications from glibc to uClibc-ng typically involves just recompiling the source code. uClibc-ng supports shared libraries and threading. It currently runs on standard Linux and MMU-less (also known as uClinux) systems with support for Aarch64, Alpha, ARC, ARM, AVR32, Blackfin, CRIS, C-Sky, C6X, FR-V, H8/300, HPPA, i386, IA64, LM32, M68K/Coldfire, Metag, Microblaze, MIPS, MIPS64, NDS32, NIOS2, OpenRISC, PowerPC, Sparc, Sparc64, SuperH, Tile, X86_64 and XTENSA processors. Alpha, FR-V, HPPA, IA64, LM32, NIOS2, Tile and Sparc64 are experimental and need more testing.

Since latest Linux kernels removed a lot of uClibc-ng supported architectures (AVR32, Blackfin, CRIS, Metag, Tile) you might consider trying Waldux on your old embedded hardware.

Latest Release

1.0.30 (Codename Duchesse De Bourgogne) released 28.04.2018

https://downloads.uclibc-ng.org/releases/1.0.30/uClibc-ng-1.0.30.tar.xz

GPG signature: https://downloads.uclibc-ng.org/releases/1.0.30/uClibc-ng-1.0.30.tar.xz.asc

SHA256: 992bd9a2889ea385902b87e3d3d30603741eb16728288fbf537ff2027f770496

Older releases: https://downloads.uclibc-ng.org/releases/

Talks about uClibc-ng

ELCE 2017, uClibc Today: Still Makes Sense - Alexey Brodkin, Synopsys

Youtube video: https://www.youtube.com/watch?v=Q-ooZmO256A&index=69&list=PLbzoR-pLrL6pISWAq-1cXP4_UZAyRtesk

Slide: http://events.linuxfoundation.org/sites/events/files/slides/uclibc-still-makes-sense-brodkin-elce2017.pdf

Projects using uClibc-ng

and others.

Development

Get the source via the following command:

  • git clone git://uclibc-ng.org/git/uclibc-ng

Or via HTTPS (can be used with a proxy):

GIT is mirrored here:

Testing

uClibc-ng project maintains a separate testsuite to do regular testing of any source code changes.

Get the source via the following command:

  • git clone git://uclibc-ng.org/git/uclibc-ng-test

Or via HTTPS (can be used with a proxy):

GIT is mirrored here:

Reports running the testsuite for releases can be found here:

https://downloads.uclibc-ng.org/reports

Contact

  • You can chat with us via IRC #uclibc-ng @ irc.freenode.net
  • You can subscribe to the developer mailinglist and sent an e-mail to devel@uclibc-ng.org
  • If you have any comments, patches or criticism you can also send directly an e-mail to wbx at uclibc-ng dot org

History

uClibc-ng is a spin-off of uClibc (from Erik Andersen) from http://www.uclibc.org. Our main goal is to provide regulary a stable and tested release to make embedded system developers happy.

The first release 1.0.0 with the code name Leffe Blonde was made while visiting Fosdem 2015. It was prepared in a hotel room in Brussels on 1 February 2015. All releases are prepared while drinking a pair of belgian beer since then.

The idea to fork uClibc started in July 2014 and was discussed on the Buildroot and OpenWrt mailinglists.

Thanks

Thanks to following companies or people for hardware donations:

  • Arcturus Networks Inc. - Blackfin + Coldfire Development Boards
  • Cadence Design Systems, Inc. - Xilinx Kintex 7 FPGA KC705 incl. Daughterboard
  • Andes Technology Corporation - FPGA Development Board for NDS32
  • Soldrun Ltd. - Clearfog ARM Board
  • Rob Wehrli - Hitachi EDOSK2674 H8S development board and t-shirt
  • Dmitry Bondar - c6745-som a Texas Instruments C6745 DSP with development board
  • Guo Ren - c-sky gx6605s development board
  • Synopsys Inc. - Designware ARC HS Development Kit

Donations

If you want to help the project with money to compensate costs for hosting and hardware, please use following link https://www.paypal.me/wbx

Have fun!