《Linux学习一》交叉编译工具链的构建工具Crosstool-ng

(一)下载与安装

1、wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.25.0.tar.bz2
2、解压后进入源码目录编译安装:
(1)./configure 
	在此过程中会出现插件未安装的报错信息,然后根据提示安装相应的插件即可,一般如下:
	A、configure: error: missing required tool: gperf
	   解决办法:sudo apt-get install gperf
	B、configure: error: missing required tool: bison
       解决办法:sudo apt-get install bison
    C、configure: error: missing required tool: flex
       解决办法:sudo apt-get install flex
    D、configure: error: missing required tool: makeinfo
       解决办法:sudo apt-get install texinfo
    E、configure: error: missing required tool: help2man
       解决办法:sudo apt-get install -y help2man
    注意:如果提示缺少 libtool,但执行安装命令 sudo apt-get install libtool 后仍然报错,则执行安装libtool-bin:
    sudo apt-get install libtool-bin 问题解决
(2)直到上述操作无错误后,再分别执行 make 
(3)sudo make install

(二)使用

1、创建生成目录 crosstool-build、src、x-tools:
(1)在源码目录下执行:ct-ng menuconfig,弹出配置界面如下:
在这里插入图片描述(2)进入第一个选项卡,后可看到如下标红处,此处“Path”为在工具链构建过程中自动生成的目录,“src”目录为构建过程中需要的依赖库,此工具会自动执行下载到此目录,然后执行安装;“x-tools”目录为最终生成的工具链安装目录;这两个目录默认会生成在{HOME}路径下,若想生成在自己创建的路径下,需要修改配置即可
在这里插入图片描述
如下为最终生成的效果图:
在这里插入图片描述
在这里插入图片描述
(3)创建目录crosstool-build:将crosstool-ng源码包中 samples/arm-unknown-linux-gnueabi/crosstool.config拷贝到交叉工具链的输出目录crosstool-build下。
2、构建:此处以 S3C6410 为例

修改交叉编译工具针对的架构(S3C6410)
Target options—>
Target architecture(arm)
Endianness(Little endian)
Bitness(32-bit)
(armv6zk) Architecture level
(arm1176jzf-s) Emit assembly for CPU
Floating point(hardware FPU)
其它选项用缺省值,退出并保存配置工具
以上配置也可通过直接修改.config文件来完成

3、执行构建:ct-ng build,此过程时间较长,构建过程中会下载需要依赖的源码放到“src”目录下,在编译过程中会遇到以下报错:
在这里插入图片描述
报错原因是没有找到“zlib-1.2.12”这个安装包,查看编译过程中生成的log文件:
在这里插入图片描述
经过对比路径发现,上述http路径下并不存在此文件,在官网找到此文件在“https://zlib.net/fossils/”路径下:
在这里插入图片描述
将此安装包下载到本地路径,同时需要修改 menuconfig中的配置,按照如下配置即可:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

关于上图“zlib”的配置:
在这里插入图片描述
工具中默认配置为第一项,表示自动下载最新的资源,但配置版本为“zlib-1.2.12”,此处选择“Custom location”自定义路径,然后指定“Custom source location”即可。
4、直到工具编译完成后,可在“x-tools”目录下看到生成的交叉编译链工具,可参见上图

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蕊瑞琳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值