制作最新的交叉编译链工具arm-linux-gcc 8.3.0

交叉编译工具制作工具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就可以了)
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

猜你喜欢

转载自blog.csdn.net/qq_43418840/article/details/118707580