|
Documentation Home for Devicescape Universal Wireless Platform | Package Guide
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
- Extract
uclibc sources:
tsrpm --extract uClibc-0.9.27-1.1.src.rpm
This extracts the sources in ./rpm-sources/uClibc-0.9.27-1.1
- Apply patches to the uclibc source RPM.
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.
- Making configuration changes
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, demostrated 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.
- Isolate customization patches.
If it is necessary to keep patches that add customizations separate. 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.
- Rebuilding uclibc
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
- Install
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
|