ARM-Linux交叉编译工具链搭建之LFS

本文档详细介绍了如何在Linux环境下搭建ARM交叉编译工具链,包括源码选择、环境设置、编译步骤,涉及binutils、bootstrap gcc、glibc等组件的配置与编译,为在ARM平台上开发和部署软件提供了清晰的指南。
摘要由CSDN通过智能技术生成

    i.过程概括

    1.下载源文件、补丁和建立编译的目录

    2.建立内核头文件

    3.建立二进制工具(binutils)

    4.建立初始编译器(bootstrap gcc)

    5.建立c库(glibc)

    6.建立全套编译器(full gcc)

 

<准备工作>

    ii.源码版本选择:

    选择你所需的glibc版本,然后查看该版本中的INSTALL说明,根据要求下载相应的

    gcc版本和 binutils版本

              binutils-2.22、gcc-4.7.0、gmp-5.0.2、mpfr-3.1.0、glibc-2.12.2、glibc-linuxthreads-2.5、glibc-ports-2.12.1、gdb-7.4、linux-2.6.39

    源码依赖关系:

              gcc:

                  mpc:(可使用系统自带的库)

                       gmp:mpfr(可使用系统自带的库)

    下载地址:ftp://ftp.gnu.org/gnu/、ftp://ftp.kernel.org/pub/linux/kernel

    中科大:http://oss.ustc.edu.cn/

      iii.主机环境

    建立源码目录和编译目录,导出相关变量:TARGET、PREFIX、TARGET_PREFIX、PATH      

    #!/bin/sh

    #exportit.sh

    #exportenvironments for cross-tool-chain

    exportARMDIR=/home/peter/workspace/arm

    exportTARGET=arm-none-linux-gnueabi

    exportHOST_PC=i686-pc-linux-gnu

    exportHOST_ARM=arm

    exportPREFIX=${ARMDIR}/cross-chains/

    exportTARGET_PREFIX=${ARMDIR}/cross-chains/arm-linux

    exportPATH=${PREFIX}/bin:${PATH}

    exportSRC=${ARMDIR}/src

    exportBUILD=${ARMDIR}/build

    mkdir-p $SRC $BUILD $PREFIX

    cd$BUILD && mkdir binutils bgcc gcc glibc gdb gdbserver

    脚本执行方式:source exportit.sh

    iii.解压src目录下的压缩包

    #!/bin/sh

    #extract_here.sh

    echo"start extrating files from the tar balls..."

    mkdirtars

    files=$(ls)

    forFILE in $files

    do

    set- `echo "$FILE"|awk -F. '{print $NF}'`

    case"$1" in

 

    bz2)

    tar-jxvf  $FILE;;

    gz)

    tar-zxvf  $FILE;;

    xz)

    tar-Jxvf $FILE;;

    *)

    ;;

    esac

    done

    mv*.bz2 tars/;mv *.gz tars/;mv *.xz tars/ 
    在src路径下运行extract_here.sh,解压完成后压缩包被移至tars目录下

 

<开始编译>

    i.binutils

    cd$BUILD/ binutils

    $SRC/binutils-2.22/configure  --target=$TARGET  --prefix=$PREFIX \

    [otheroptions]

    make&& make install

--------------------------------------------------------------------------------------------------------------------------------------------------

      #other options

      --disable

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值