用Crosstool 制作交叉编译工具链

本文详细介绍了如何使用Crosstool来制作针对ARM平台的交叉编译工具链,包括下载Crosstool、配置脚本、安装依赖、下载源码、编译过程以及解决编译过程中遇到的常见错误。通过这个教程,读者可以掌握构建自定义交叉编译工具链的步骤。
摘要由CSDN通过智能技术生成

一:下载 Crosstool

    http://kegel.com/crosstool/

    解压到downloads文件夹

 

    apt-get install bison

    apt-get install flex

 

二:进入解压后的Crosstool

    vim Demo-arm-softflaot.sh 

    修改如下两行:

    TARBALLS_DIR=$HOME/downloads         所需安装包保存目录
    RESULT_TOP=$HOME/crosstool                 交叉工具链生成后的保存目录
    查看工具链的版本号

    eval `cat arm.dat gcc-4.1.0-glibc-2.3.2-tls.dat` sh all.sh --notest

 

    vim arm-softfloat.sh

    修改arm-softfloat-linux-gnu  为arm-linux

三:下载源码

    vim gcc-4.1.0-glibc-2.3.2-tls.data

    下载=号后的源码

     BINUTILS_DIR=binutils-2.16.1
     GCC_CORE_DIR=gcc-3.3.6
     GCC_DIR=gcc-4.1.0
     GLIBC_DIR=glibc-2.3.2
     LINUX_DIR=linux-2.6.28
     LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
    GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
    GDB_DIR=gdb-6.5
    可到ChinaUnix.net下载

 

四:执行编译脚本

     ./demo-arm.sh

 

五:设置环境变量

    export PATH=$PATH:$HOME/crosstool/gcc-4.1.0-glibc-2.3.2/arm-linux-gnu/bin:

 

六:错误

    1:

configure: error:

*** These critical programs are missing or too old: gcc
*** Check the INSTALL file for required versions.
gcc 版本高或低,sudo apt-get remove gcc ,sudo apt-get install gcc-4.1

2:
applying patch
/home/pengly/downloads/crosstool-0.43/patches/glibc-2.3.2/arm-asm-clobber.patch
getandpatch.sh: 1: patch: not found
没有安装PATCH sudo apt-get install patch
3:
make[2]: *** [/home/pengly/source-packet/cross/crosstool-0.43/build/arm-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc/csu/version.o] 错误 1
make[2]:正在离开目录 `/home/pengly/source-packet/cross/crosstool-0.43/build/arm-linux-gnu/gcc-4.1.0-glibc-2.3.2/glibc-2.3.2/csu'
make[1]: *** [csu/subdir_lib] 错误 2
make[1]:正在离开目录 `/home/pengly/source-packet/cross/crosstool-0.43/build/arm-linux-gnu/gcc-4.1.0-glibc-2.3.2/glibc-2.3.2'
make: *** [all] 错误 2
修改如下文件:
vim build/arm-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-glibc/csu/version-info.h
"Available extensions:/n"
"/n"
vim Demo-arm.sh
在工具链版本后加 --notest --nounpack

 

4:gcc 太新

     rm /usr/bin/gcc

     ln -s /usr/bin/gcc-4.1 /usr/bin/gcc

 

 

七:添加环境变量

#export PATH=$PATH:/home/pengly/crosstool/gcc-4.1.0-glibc-2.3.2/arm-linux-gnu/bin

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值