系统环境:Centos6.5
1、从官网下载源码包
$ wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.19.0.tar.bz2
2、解压源码包并编译安装
$ tar -xjf crosstool-ng-1.19.0.tar.bz2
$ cd crosstool-ng-1.19.0
$ ./configure
$ make
$ sudo make install
正确安装完成会输出下面信息
For auto-completion, do not forget to install 'ct-ng.comp' into
your bash completion directory (usually /etc/bash_completion.d)
3、配置menuconfig
使用 samples/arm-unknown-linux-gnueabi/crosstool.config 为默认config
$ cp samples/arm-unknown-linux-gnueabi/crosstool.config .config
进行配置
$ ct-ng menuconfig
Paths and misc options --->
(${CT_TOP_DIR}/src) Local tarballs directory// 指定编译器所需要的源码包下载路径
(${CT_TOP_DIR}/arm) Prefix directory// 制定编译完成后工具链的存放路径
Target options --->
Target Architecture (arm) --->// 架构平台
[*] Use EABI
Toolchain options --->
[*] Build Static Toolchain
Operating System --->
Target OS (linux) --->
Get kernel headers from: (kernel's 'headers_install') --->
Linux kernel version (2.6.33.7) --->// 指定内核版本
配置完成保存后就可以开始编译了
4、自动下载编译
$ ct-ng build
接下来就是漫长的下载编译安装
编译过程会下载很多源码包,建议提前手动下载并放到相应的路径下,这样编译会快很多
所需源码包如下
binutils-2.19.1a.tar.bz2
dmalloc-5.5.2.tgz
duma_2_5_15.tar.gz
ecj-latest.jar
expat-2.1.0.tar.gz
gcc-4.3.2.tar.bz2
gdb-6.8a.tar.bz2
glibc-2.9.tar.bz2
glibc-ports-2.9.tar.bz2
gmp-4.3.2.tar.bz2
libelf-0.8.13.tar.gz
ltrace_0.5.3.orig.tar.gz
mpfr-2.4.2.tar.bz2
ncurses-5.9.tar.gz
strace-4.5.19.tar.bz2
5、安装完成
如果一切顺利的话最后会打印下面信息
[INFO ] Cleaning-up the toolchain's directory: done in 3.39s (at 118:54)
[INFO ] Build completed at 20160329.092543
[INFO ] (elapsed: 118:53.07)
[INFO ] Finishing installation (may take a few seconds)...