您的位置:首页 > 其它

用Crosstool 制作交叉编译工具链

2009-09-14 14:26 489 查看
一:下载 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: