summaryrefslogtreecommitdiffstats
path: root/INSTALL
blob: 79cde848dd08ac0da954ea41f3a470bd942788ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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=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.