在详细介绍,然后下载和安装crosstool-ng,如何配置,如何编译crosstool-ng之前,需要先解释一下,crosstool-ng,这个工具,的使用的基本逻辑。
其实,这部分的内容,作者在主页:
crosstool-NG: Download and usage
中,已经解释过了,只是相对比较言简意赅,不是足够详细。
此处,就来详细的解释一下:
在使用crosstool-ng之前,实际上,要明白,有两个概念,不要混淆了:
- 下载,编译,安装crosstool-ng工具本身(到当前的Linux,Cygwin等系统中,供后续使用)
crosstool-ng,作为一个工具,尤其是在Linux领域里
很明显,也有对应的源码包,即:也需要,通过下载对应的源码,去编译源码,然后再安装到当前的系统中
其整体的逻辑,和下载,编译,安装,别的,Linux下的软件包,没有啥特殊区别。
- 用crosstool-ng这个工具(即ct-ng)去制作(配置和编译)所需要的交叉编译器
在安装了crosstool-ng这个工具后,就可以去使用ct-ng了。
然后才是去,配置,和编译,以便制作出对应的相应的交叉编译器
即,用crosstool-ng这个,制作交叉编译器的工具,去制作交叉编译器,的基本步骤,包括:
- 配置
即,为了你要制作的交叉编译器,去配置各种参数
比如CPU是arm还是mips还是其他,运行目标平台是Linux还是bare metal,所用的C库是elibc,还是glibc,还是uclibc等,等等的配置。
选用合适的配置,一般的做法,主要有两种:
- 直接利用已有的配置
crosstool-ng,本身已经支持很多种体系结构的配置
很多时候,你可以直接使用已有的配置,而基本无需更改了。
对应的命令一般是:
ct-ng some_default_config
- 利用已有的,最接近你的需求的配置,再手动去改改
有时候,你所需要编译的交叉编译器,和已有的各种配置中,都没有合适的,没有满足你的需求的
那么就要你,去找一个,和你的需求最接近的一个配置
利用该配置,然后再去修改一些参数,达到最终你想要的效果
对应的命令一般是:
ct-ng some_default_config ct-ng menuconfig
- 直接利用已有的配置
- 编译
等所有的配置都完毕后,就可以去编译,生成你所需要的交叉编译器了。
对应的命令一般是:
ct-ng build
当然,在配置和编译之前和过程中,你需要搞懂很多东西,比如:
你自己的处理器是什么,所要使用的目标系统是什么,要用什么C库等
并且还要,根据这些已有信息,搞清楚如何去配置crosstool-ng等等。
这也就是,此文接下来要解释的内容。
- 配置