]>
Commit | Line | Data |
---|---|---|
8d6489ff | 1 | SOFTWARE REQUIREMENTS |
e261c8f8 | 2 | |
1528771f EA |
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 havn'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. | |
e261c8f8 | 11 | |
e261c8f8 | 12 | |
8d6489ff | 13 | CONFIGURING uClibc: |
e261c8f8 | 14 | |
8d6489ff EA |
15 | - Use must have a valid configuration file to compile uClibc. Do not |
16 | skip this step. New configuration options are added in each | |
1528771f EA |
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 | |
e261c8f8 | 28 | |
1528771f EA |
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. | |
8d6489ff EA |
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. | |
fc71b53f | 39 | "make allnoconfig" Set all values to "no" for all options. |
e261c8f8 DS |
40 | |
41 | ||
e261c8f8 | 42 | |
e261c8f8 | 43 | |
8d6489ff | 44 | COMPILING uClibc: |
e261c8f8 | 45 | |
1528771f EA |
46 | - uClibc does not have proper dependancy checking (yet) so if you |
47 | change your uClibc configuration, you must current rebuild the | |
48 | entire library, by first running | |
49 | ||
50 | make clean | |
e261c8f8 | 51 | |
1528771f | 52 | - Once you have a valid configuration file, just run |
e261c8f8 | 53 | |
1528771f | 54 | make |
e261c8f8 | 55 | |
1528771f EA |
56 | to compile uClibc. or if you are cross compiling, you would |
57 | instead run something like: | |
e261c8f8 | 58 | |
1528771f | 59 | make CROSS=arm-linux- |
e261c8f8 | 60 | |
e261c8f8 DS |
61 | |
62 | ||
1528771f | 63 | INSTALLING the uClibc development environment: |
e261c8f8 | 64 | |
1528771f | 65 | - As root, if necessary, run something like: |
e261c8f8 | 66 | |
1528771f | 67 | make PREFIX=<some path> install |
e261c8f8 | 68 | |
1528771f EA |
69 | This will install the uClibc runtime and development system (i.e. |
70 | all the header files, libraries, etc) into the directories defined | |
71 | within your .config file. | |
8d6489ff EA |
72 | |
73 | ||
74 | USING uClibc: | |
75 | ||
1528771f EA |
76 | - To compile programs with uClibc you will need a complete toolchain |
77 | (i.e. binutils, gcc, and uClibc) that was built expressly for use | |
78 | with uClibc. | |
79 | ||
80 | - Native and cross compiling toolchains, as well as makefiles for creating | |
81 | uClibc toolchains, are available from the uClibc website. You may want | |
82 | to check out "buildroot", which is available from the uClibc download area, | |
83 | which provides examples of how to build your own uClibc based system. | |
84 | ||
e261c8f8 | 85 |