用Crosstool工具构建交叉工具链
Crosstool 是一组脚本工具集,下载地址是http: //kegel.com/crosstool。
用Crosstool构建交叉工具链要比较简单方便,所需资源均自动下载。
# cd /home/lsf (笔者使用的用户名是lsf)
# tar –xvzf crosstool-0.43.tar.gz
# cd crosstool-0.43
# cp demo-powerpc.sh ppc-405.sh
# vi ppc-405.sh
修改后的脚本内容如下:
#!/bin/sh
set -ex
TARBALLS_DIR=/home/mike/downloads # 定义工具链源码所存放位置。
RESULT_TOP=/opt/crosstool # 定义工具链的安装目录
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++" # 定义支持C, C++语言
export GCC_LANGUAGES
# 创建/opt/crosstool目录
mkdir -p $RESULT_TOP
# 编译工具链,该过程需要数小时完成。
eval 'cat arm.dat gcc-3.3.6-glibc-2.3.2.dat' sh all.sh --notest
echo Done.
在ppc-405.sh 脚本文件中需要注意powerpc.dat和gcc-4.4.1-glibc-2.3.6.dat两个文件,这两个文件是作为Crosstool的编译的配置文 件。其中powerpc.dat文件内容如下,主要用于定义配置文件、定义生成编译工具链的名称以及定义编译选项等。
将Crosstool的脚本文件和配置文件准备好之后,
# ./ppc-405.sh (非root权限执行)
经过数小时的漫长编译之后,会在/opt/crosstool目录下生成新的交叉编译工具。
然后将生成的编译工具链路径添加到环境变量PATH上去,添加的方法是在系统/etc/bashrc文件的最后添加下面一行。
export PATH=/opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/bin:$PATH
原文地址 http://kegel.com/crosstool/current/doc/crosstool-howto.html