mirror of
https://git.busybox.net/uClibc
synced 2025-05-08 23:02:28 +08:00
86 lines
2.7 KiB
Plaintext
86 lines
2.7 KiB
Plaintext
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 havn'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:
|
|
|
|
- Use 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.
|
|
|
|
|