| SOFTWARE REQUIREMENTS |
| |
| Compiling uClibc requires Linux kernel header files. uClibc will |
| be compiled to match the interfaces available in the provided |
| version of the Linux kernel headers. Linux kernel version 2.0, |
| version 2.2, version 2.4 and version 2.6 are known to work. Other |
| kernel versions may work but haven't been tested. Its also helpful |
| to have a working version of GNU binutils, and GNU gcc -- using |
| excessively old versions of these packages can cause very strange |
| errors that are difficult to find and fix. |
| |
| |
| CONFIGURING uClibc: |
| |
| - Users must have a valid configuration file to compile uClibc. Do not |
| skip this step. New configuration options are added in each |
| release, and odd configuration options are sometimes removed. |
| To configure uClibc, you can run: |
| |
| make menuconfig |
| or |
| make config |
| |
| If you have an existing .config file, you can update this file |
| using the |
| |
| make oldconfig |
| |
| command, which will only ask you about new configuration options. |
| |
| Available configuration commands are: |
| "make config" Text based configuration, no menus or colors. |
| "make menuconfig" Text based color menus, radiolists & dialogs. |
| "make oldconfig" Default all questions based on the contents of |
| your existing ./.config file. |
| "make defconfig" Use defaults for all options. |
| "make randconfig" Use random values for all options. |
| "make allyesconfig" Set all values to "yes" for all options. |
| "make allnoconfig" Set all values to "no" for all options. |
| |
| |
| COMPILING uClibc: |
| |
| - uClibc does not have proper dependancy checking (yet) so if you |
| change your uClibc configuration, you must current rebuild the |
| entire library, by first running |
| |
| make clean |
| |
| - Once you have a valid configuration file, just run |
| |
| make |
| |
| to compile uClibc. or if you are cross compiling, you would |
| instead run something like: |
| |
| make CROSS_COMPILE=arm-linux- |
| |
| |
| INSTALLING the uClibc development environment: |
| |
| - As root, if necessary, run something like: |
| |
| make PREFIX=<some path> install |
| |
| This will install the uClibc runtime and development system (i.e. |
| all the header files, libraries, etc) into the directories defined |
| within your .config file. |
| |
| |
| USING uClibc: |
| |
| - To compile programs with uClibc you will need a complete toolchain |
| (i.e. binutils, gcc, and uClibc) that was built expressly for use |
| with uClibc. |
| |
| - Native and cross compiling toolchains, as well as makefiles for creating |
| uClibc toolchains, are available from the uClibc website. You may want |
| to check out "buildroot", which is available from the uClibc download area, |
| which provides examples of how to build your own uClibc based system. |