12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- SOFTWARE REQUIREMENTS
- Compiling uClibc-ng requires Linux kernel header files. uClibc-ng will
- be compiled to match the interfaces available in the provided
- version of the Linux kernel headers. Any modern Linux kernel is
- supported (3.x/4.x).
- 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.
- INSTALLING Linux kernel headers:
- Extract a Linux kernel source tree and create a populated headers
- directory:
- make INSTALL_HDR_PATH=/tmp/linux-headers headers_install
- CONFIGURING uClibc-ng:
- - Users must have a valid configuration file to compile uClibc-ng. Do not
- skip this step. New configuration options are added in each
- release, and odd configuration options are sometimes removed.
- To configure uClibc-ng, you can run:
- make menuconfig
- or
- make config
- You need to point in "Target Architecture Features and Options"
- the field "Linux kernel header location" to for example
- /tmp/linux-headers/include if you installed the headers to
- /tmp/linux-headers (Variable name KERNEL_HEADERS in .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-ng:
- - uClibc-ng does not have proper dependancy checking so if you
- change your uClibc-ng 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-ng. or if you are cross compiling, you would
- instead run something like:
- make CROSS_COMPILE=arm-linux-
- INSTALLING the uClibc-ng development environment:
- - As root, if necessary, run something like:
- make PREFIX=<some path> install
- This will install the uClibc-ng runtime and development system (i.e.
- all the header files, libraries, etc) into the directories defined
- within your .config file.
- USING uClibc-ng:
- - To compile programs with uClibc-ng you will need a complete toolchain
- (i.e. binutils, gcc and uClibc-ng) that was built expressly for use
- with uClibc-ng.
- - You have following choices at the moment:
- - Use OpenADK from https://openadk.org
- - Use Buildroot from http://www.buildroot.org
- - Use Crosstool-NG from http://crosstool-ng.org
- - Use your own build scripts or environment
|