Crosstool-ng 制作交叉编译器

来源:互联网 发布:在淘宝里做代销怎么做 编辑:程序博客网 时间:2024/05/16 20:29

系统环境: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)...


0 0
原创粉丝点击