Company Products/Technology Services News/Events Support Spacer Contact Partners Customers
English    日本語
Products Photo

Product Documentation
Devicescape Wireless Infrastructure Platform

Documentation Home for Devicescape Wireless Infrastructure Platform > Package Reference

Package ReferencePreviousNextIndex

 


uClibc package

Information on this package is covered here.

Package
Description
License
uClibc
Small footprint C library

Summary

uClibc is a space-saving "small footprint" C library for embedded Linux systems.

Although considerably smaller then the GNU C Library, uClibc supports most applications supported by glibc. uClibc supports standard Linux systems and also supports devices without memory management units (MMUs), known as "MMU-less" or µClinux systems.

These characteristics make uClibc an optimal choice for wireless device applications.

To port an application from glibc to uClibc, you must rebuild the source code. A brief outline of how to do this is provided below.

Rebuilding uClibc

  1. Extract uclibc sources:
  2. tsrpm --extract uClibc-0.9.27-1.1.src.rpm

    This extracts the sources in ./rpm-sources/uClibc-0.9.27-1.1

  3. Apply patches to the uclibc source RPM.
  4. Add the custom enhancement/fix patch to the rpm-sources/uClibc-0.9.27-1.1 directory, add appropriate patch directives to the spec file.

  5. Making configuration changes
  6. The existing spec file and patch set shows a different approaches to doing this. One approach is to patch the extra/Configs/Config.in file to change the default values of variables. See the nousr patch and the endianness patch as examples.The other approach, demonstrated in the spec files is to add sed directives to the existing fragment in the spec file that edits the .config file generated after running make defconfig.

  7. Isolate customization patches.
  8. If it is necessary to keep patches that add customizations separately, they can be added to the
    rpm-sources/uClibc-0.9.27-1.1/devicescape directory. Patches added here will get automatically picked up if tsrpm is invoked with the --cust=devicescape option.

  9. Rebuilding uclibc
  10. tsrpm  --build  --target=armv5b-uclibc
    rpm-sources/uClibc-0.9.27-1.1/uClibc.spec  # Build for target
    tsrpm  --build --cross-tool --target=armv5b-uclibc
    rpm-sources/uClibc-0.9.27-1.1/uClibc.spec  # Build for cross-tools
  11. Install
  12. Install the rpms built in the above step.

Licensing

uClibc is maintained by Erik Andersen and is licensed under the GNU LIBRARY GENERAL PUBLIC LICENSE.

See LGPL (GNU Lesser General Public License).

Related Packages

None

Package ReferencePreviousNextIndex