交叉编译工具制作工具crosstool-ng的下载地址:http://crosstool-ng.org/download/crosstool-ng/
操作步骤:
下载crosstool-ng-1.24.0.tar.bz2放在linux服务器里
mkdir arm-linux-tool
cp crosstool-ng-1.24.0.tar.bz2 arm-linux-tool
cd arm-linux-tool
sudo apt-get install gperf flex bison texinfo gawk libtool automake libncurses5-dev g++ help2man //建立编译交叉编译工具所依赖的环境
mkdir crosstool-build crosstool-install src //建立三个要用到的文件夹,依次是编译文件夹,编译环境安装文件夹,编译过程所需要的源码包存放的文件夹
tar xjf crosstool-ng-1.24.0.tar.bz2
cd crosstool-ng-1.24.0
./configure --prefix /home/zhangjiaqi/arm-linux-tool/crosstool-install/ /*指定安装路径*/
make
make install //在crosstool-ng-1.24.0目录下make
在 crosstool-install/bin 目录下执行 ./ct-ng -v //检查是否安装成功
export PATH=$PATH:/home/zhangjiaqi/arm-linux-tool/crosstool-install/bin/ //为了后面使用方便,配置临时环境变量
//基于现有的模板编译适合我们的gcc
cd arm-linux-tool
cp crosstool-ng-1.24.0/samples/arm-unknown-linux-gnueabi crosstool-build //第一步建立的文件夹
cd crosstool-build
cp arm-unknown-linux-gnueabi/crosstool.config .config
ct-ng menuconfig
Paths and misc options-->
Local tarballs directory == /home/zhangjiaqi/arm-linux-tool/src //指定源码的存放位置
Prefix directory == /home/zhangjiaqi/arm-linux-tool/x-tool //指定交叉编译器的安装路径
Target options-->
Architecture level=armv4t
Emit assembly for CPU=arm9tdmi
Tune for CPU=arm920t
Floating point: (software (FPU))
Toolchain options-->
Tuple’s vendor string="arm-jaky2440-linux-gnueabi-",所以在这里填上jaky2440
Tuple’s alias = "arm-linux"
Operating System-->
Path to custom source=(/home/zhangjiaqi/linux-5.8.5)
Custom Linux version=5.8.5
C compiler(默认)
C compiler选择gcc
gcc version(看一下)
C-library(大概看一下,框架相关的选择arm,linux就行)
做完上述配置工作后,选择save然后退出
编译:ct-ng build(在crosstool-build进行)
编译过程很容易因为下载不了一些源码包而停止(提示解析不了某个源码包,此时根据源码包名自己去百度搜索下载到相应的包然后放到src目录下,再次ct-ng build就可以了)