crosstool-ng 编译生成交叉编译链

来源:互联网 发布:手机淘宝进入支付宝 编辑:程序博客网 时间:2024/06/05 05:46

crosstool 就是交叉编译器生产脚本,它会自动下载,自动编译,少折腾很多..
虽然这个东西本身也是折腾,不过主要是看经验吧,我1个多小时就搞定了,因为以前碰过很多钉子
现在学

官网
http://crosstool-ng.org

下载目前最新版是 1.17.0
http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.17.0.tar.bz2

我的系统是 CentOS 6.3 X86_64
例如我安装在 /opt/crosstool-ng

./configure --prefix=/opt/crosstool-ng
make
make install

添加环境变量
export PATH=${PATH}:/opt/crosstool-ng

随便建立一个目录,进入目录,查看编译链信息,对比其他,我决定编译 arm-unknown-linux-gnueabi
工具链,基于 glibc 的,可以编译linux

ct-ng help
ct-ng list-samples
ct-ng show-arm-unknown-linux-gnueabi

接着配置
ct-ng arm-unknown-linux-gnueabi

接着开始编译
ct-ng build

接着并不是那么顺利的,主要是看你的系统的工具包是否全,因为编译软件需要很多工具,编译编译链
更加是那样,所以build的过程中查看出错信息,看缺了什么工具,就安装什么工具。
方法是先查找,然后安装
yum list *gcj* 查找这个包相关的,一般 包含了 devel 的包就是你需要安装的
然后 yum install xxx  就行了。
当然了,有些比较特殊的还是需要问问度娘,例如提示缺 makeinfo,但是找不到这个,查了后发现其实
就是 texinfo ,安装了就好了。

真个过程比较漫长,要下载,编译,安装,我的机器上大概用 40分钟。(XEON E3 1230V2算比较不错的机器)

默认的编译链安装在HOME的 x-tools 目录,也加入环境变量

export PATH="${PATH}:${HOME}/x-tools/arm-unknown-linux-gnueabi/bin"

测试一下工具链是否完成。
arm-unknown-linux-gnueabi-gcc -v

我下载了个uboot201210,编译了一下,没有问题。

原创粉丝点击