Installing crosstool-ng
Initially download the latest crosstool-ng (version 1.5.3 in my case), into ~/bin. Bear in mind that I got complains about some missing programs when I tried to compile the software, so I had to install first these packages: gawk, bison, flex, texinfo, automake, libtool, ncurses-dev, cvs, subversion. So here we go:
# cd ~/bin
# tar -xjvf crosstool-ng-1.5.3.tar.bz2
# cd crosstool-ng-1.5.3
# ./configure –prefix=${HOME}/crosstool-ng/
# make
# make install\\
At this point, crosstool-ng is installed in the system, and you can proceed with building the toolchain.
Using crosstool-ng to build a toolchain
Create a directory such like ~/crosstool-ng-tools, where the toolchains will get created. I like to run crosstool-ng as normal user, that way I prevent any modification to my host system if I do something wrong, imagine e.g. screwing your system by compiling your host glibc!
# mkdir ~/crosstool-ng-tools
# cd ~/crosstool-ng-tools
# ct-ng menuconfig
# ct-ng build\\
The chosen options were:
Prefix directory: ${HOME}/crosstool-ng-tools/${CT_TARGET} (this results in tools being built on ~/crosstool-ng-tools/arm-unknown-linux-uclibc/)
Number of parallel jobs:4 (depending on your CPU)
target options: arm, no EABI, armv4t Architecture level, arm7tdmi CPU, floating point software
operating system: linux target, linux kernel version 2.6.27.35 (long-term stable)
binary utilities: format ELF, binutils version 2.19.1
c compiler: gcc version 4.3.4
c library: uClibc 0.9.30.1, configuration ~/crosstool-ng-tools/uClibc-0.9.30.1.config