ARM Linux交叉编译工具链的制作
安装环境:VMware7虚拟机软件+CentOS5.2操作系统
用普通用户登录CentOS,不具备root权限.
首先从http://www.kegel.com/crosstool/下载crosstool0.43源码包,然后解压,解压目录为$HOME,并进入解压后的目录,修改如下相关文件(源码包下载的完整链接地址为:http://kegel.com/crosstool/crosstool-0.43.tar.gz):
由于我们要制作的是ARM IP核的Linux交叉编译工具链,解压后我们先找到需要的Shell脚本文件demo-arm-softfloat.sh:
修改如下内容:
TARBALLS_DIR=$HOME/downloads
RESULT_TOP=/opt/crosstool
修改为:
TARBALLS_DIR=$HOME/crosstool/downloads
RESULT_TOP=$HOME/crosstool/tools
第一项为编译生成过程中下载的工具源码包的存放位置,第二项为制作成功后生成的工具链存放的位置。
该文件中有如下一项前没有加#号,则等会会执行该部分内容:
`cat arm-softfloat.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest
知道等会生成的时候需要用到的文件all.sh、arm-softfloat.dat、gcc-3.4.5-glibc-2.3.6.dat
在all.sh文件中找到如下语句:
BUILD_DIR=`pwd`/build/$TARGET/$TOOLCOMBO
该项是在生成工具链过程中编译生成的中间代码存放的位置,将其修改为:
BUILD_DIR=$HOME/crosstool/build/$TARGET/$TOOLCOMBO
在arm-softfloat.dat文件中找到如下语句:
TARGET=arm-softfloat-linux-gnu
将其修改为:
TARGET=arm-linux
这样等会生成的工具链都是以arm-linux开头的。
文件gcc-3.4.5-glibc-2.3.6.dat内容都是指定源码名称及版本。
至此,全部工作就绪,打开终端,并进入到相应的home目录下,然后进入到该目录下的crosstool-0.43目录下,执行如下命令:执行以下命令:
./demo-arm-softfloat.sh
并且此时电脑要能上网,因为编译过程需要下载相应源文件,或者可以先下载,然后存放$HOME/crosstool/downloads目录下。
接下来就需要2-3个多钟的等待。