`

用Crosstool 制作交叉编译工具链

 
阅读更多

一:下载 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:

***Thesecriticalprogramsaremissingortooold:gcc
***ChecktheINSTALLfileforrequiredversions.
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

分享到:
评论

相关推荐

    crosstool创建交叉编译工具链(Ubuntu)

    crosstool创建交叉编译工具链(Ubuntu)

    使用crosstool制作ARM-Linux交叉编译工具链

    使用crosstool制作ARM-Linux交叉编译工具链

    crosstool交叉编译制作工具源码包

    此工具是crosstool-ng源码包,可以制作arm交叉编译工具链等,智能选择组件包,比如gnu libgcc,binutils等。

    用crosstool-ng构建基于ARM的交叉编译工具链(详细版)

    交叉编译工具链的详细编译步骤。 说明: 1、主要依照参考文献[1]、[2],如果有需要可以直接参看参考文献; 报错问题的解决方案,大多源于网络, 如http://forum.ubuntu.org.cn/index.php(UBUNTU中文论坛); 2、...

    cross-tool 交叉编译工具链

    这是ARM LINUX 下的交叉编译工具链,是用croostool制作的。制作环境是ubuntu linux 。 crosstool-ng。 使用的平台是arm920t armv4 ,arm9TDMI.

    教你建嵌入式linux交叉编译工具链

    一、交叉工编译工具链的简介 ——构建交叉编译工具链 二、交叉编译工具链的制作方法 用Crosstool工具构建交叉工具链(建议使用此种方法)

    MacOX下ARM交叉编译工具链arm-linux-gnueabihf

    使用crosstool-ng制作的MacOS下arm-linux交叉编译器,编译器版本linaro 7.2.1,支持armv8,cortex-a53,neon-vfpv4。可以在Mac下开发树莓派3程序。MacOS下需要安装到区分大小写的分区中,具体方法网上找。

    arm-linux-gcc工具链制作方法

    介绍arm-linux-gcc交叉编译工具链的制作方法。 包含分步构建和crosstool工具制作。 安装系统为fedora8。亲自测试成功

    制作交叉编译器脚本crosstool-ng-1.22.0.tar.bz2

    制作交叉编译器脚本crosstool-ng-1.22.0.tar.bz2源码包

    crosstool-0.43.tar.gz

    制作交叉编译链的脚本,做一些简单配置后,自动下载并编译所需文件。在我的LT6565板上测试通过,开始前最好用其它工具将所需的软件包下载好并放在指定位置(不然它会一个一个wget,奇慢)。 内附说明(来自互联网...

    SUSE 10.1下交叉编译环境构建

    书中介绍的crosstool制作工具的链的方法很好,但是很浪费时间,因为编译要数个小时,很是麻烦,也不适合初学这,这里的方法是书中3.2节提到的种方法,很简单,但是正如书中所说,不是自己定制的受到局限不是很理想,...

    EDA/PLD中的SUSE 10.1下交叉编译环境构建

    书中介绍的crosstool制作工具的链的方法很好,但是很浪费时间,因为编译一次要数个小时,很是麻烦,也不适合初学这,这里的方法是书中3.2节提到的第一种方法,很简单,但是正如书中所说,不是自己定制的受到局限不是...

Global site tag (gtag.js) - Google Analytics