| 1 |
SOFTWARE REQUIREMENTS |
| 2 |
|
| 3 |
Compiling uClibc requires Linux kernel header files. uClibc will |
| 4 |
be compiled to match the interfaces available in the provided |
| 5 |
version of the Linux kernel headers. Linux kernel version 2.0, |
| 6 |
version 2.2, version 2.4 and version 2.6 are known to work. Other |
| 7 |
kernel versions may work but haven't been tested. Its also helpful |
| 8 |
to have a working version of GNU binutils, and GNU gcc -- using |
| 9 |
excessively old versions of these packages can cause very strange |
| 10 |
errors that are difficult to find and fix. |
| 11 |
|
| 12 |
|
| 13 |
CONFIGURING uClibc: |
| 14 |
|
| 15 |
- Users must have a valid configuration file to compile uClibc. Do not |
| 16 |
skip this step. New configuration options are added in each |
| 17 |
release, and odd configuration options are sometimes removed. |
| 18 |
To configure uClibc, you can run: |
| 19 |
|
| 20 |
make menuconfig |
| 21 |
or |
| 22 |
make config |
| 23 |
|
| 24 |
If you have an existing .config file, you can update this file |
| 25 |
using the |
| 26 |
|
| 27 |
make oldconfig |
| 28 |
|
| 29 |
command, which will only ask you about new configuration options. |
| 30 |
|
| 31 |
Available configuration commands are: |
| 32 |
"make config" Text based configuration, no menus or colors. |
| 33 |
"make menuconfig" Text based color menus, radiolists & dialogs. |
| 34 |
"make oldconfig" Default all questions based on the contents of |
| 35 |
your existing ./.config file. |
| 36 |
"make defconfig" Use defaults for all options. |
| 37 |
"make randconfig" Use random values for all options. |
| 38 |
"make allyesconfig" Set all values to "yes" for all options. |
| 39 |
"make allnoconfig" Set all values to "no" for all options. |
| 40 |
|
| 41 |
|
| 42 |
COMPILING uClibc: |
| 43 |
|
| 44 |
- uClibc does not have proper dependancy checking (yet) so if you |
| 45 |
change your uClibc configuration, you must current rebuild the |
| 46 |
entire library, by first running |
| 47 |
|
| 48 |
make clean |
| 49 |
|
| 50 |
- Once you have a valid configuration file, just run |
| 51 |
|
| 52 |
make |
| 53 |
|
| 54 |
to compile uClibc. or if you are cross compiling, you would |
| 55 |
instead run something like: |
| 56 |
|
| 57 |
make CROSS=arm-linux- |
| 58 |
|
| 59 |
|
| 60 |
INSTALLING the uClibc development environment: |
| 61 |
|
| 62 |
- As root, if necessary, run something like: |
| 63 |
|
| 64 |
make PREFIX=<some path> install |
| 65 |
|
| 66 |
This will install the uClibc runtime and development system (i.e. |
| 67 |
all the header files, libraries, etc) into the directories defined |
| 68 |
within your .config file. |
| 69 |
|
| 70 |
|
| 71 |
USING uClibc: |
| 72 |
|
| 73 |
- To compile programs with uClibc you will need a complete toolchain |
| 74 |
(i.e. binutils, gcc, and uClibc) that was built expressly for use |
| 75 |
with uClibc. |
| 76 |
|
| 77 |
- Native and cross compiling toolchains, as well as makefiles for creating |
| 78 |
uClibc toolchains, are available from the uClibc website. You may want |
| 79 |
to check out "buildroot", which is available from the uClibc download area, |
| 80 |
which provides examples of how to build your own uClibc based system. |