|
@@ -2,32 +2,43 @@ 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. Linux kernel version 3.x is
|
|
|
- supported.
|
|
|
+ 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:
|
|
|
+ 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
|
|
|
|
|
|
- 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
|
|
|
+ If you have an existing .config file, you can update this file
|
|
|
+ using the
|
|
|
|
|
|
- make oldconfig
|
|
|
+ make oldconfig
|
|
|
|
|
|
- command, which will only ask you about new configuration options.
|
|
|
+ command, which will only ask you about new configuration options.
|
|
|
|
|
|
- Available configuration commands are:
|
|
|
+ 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
|
|
@@ -41,8 +52,8 @@ CONFIGURING uClibc-ng:
|
|
|
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
|
|
|
+ change your uClibc-ng configuration, you must current rebuild the
|
|
|
+ entire library, by first running
|
|
|
|
|
|
make clean
|
|
|
|
|
@@ -50,8 +61,8 @@ COMPILING uClibc-ng:
|
|
|
|
|
|
make
|
|
|
|
|
|
- to compile uClibc-ng. or if you are cross compiling, you would
|
|
|
- instead run something like:
|
|
|
+ to compile uClibc-ng. or if you are cross compiling, you would
|
|
|
+ instead run something like:
|
|
|
|
|
|
make CROSS_COMPILE=arm-linux-
|
|
|
|
|
@@ -62,20 +73,19 @@ INSTALLING the uClibc-ng development environment:
|
|
|
|
|
|
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.
|
|
|
+ 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.
|
|
|
+ (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 http://www.openadk.org
|
|
|
+ - Use OpenADK from https://openadk.org
|
|
|
- Use Buildroot from http://www.buildroot.org
|
|
|
- - Use OpenWrt from http://www.openwrt.org
|
|
|
- Use Crosstool-NG from http://crosstool-ng.org
|
|
|
- Use your own build scripts or environment
|