下面是《 ARM 嵌入式 Linux 系统开发从入门到精通》上的交叉编译环境片段,这里摘录以作为以后参考方便。
书上介绍了 3 种构建交叉工具链的方法,具体介绍请参阅原书。我这里采用的是通过 crosstool 脚本工具来实现一次编译生成交叉编译工具链的。
       所需安装包资源: crosstool-0.42.tar.gz; linux- 2.6.10 .tar.gz; binutils-2.15.tar.bz2; gcc-3.3.6.tar.gz; glibc-2.3.2.tar.gz; glibc-linuxthreads-2.3.2.tar.gz; linux-libc-headers-2.6.12.0.tar.bz2 。并存放到 /home/username/downloads 下。具体步骤如下:
(1)      解压 crosstool-0.42.tar.gz /home/username/
#tar –xvzf crosstool-0.42.tar.gz
(2)      建立脚本文件,在 crosstool-0.42 文件夹下有个 demo-arm.sh 脚本,可以作为参考,也可以拷贝一份并做修改
# cp demo-arm.sh arm.sh
vi 根据具体情况修改 arm.sh ,修改部分如下:
TARBALLS_DIR=/home/username/downloads
Eval ‘cat arm.dat gcc- 3.3.6 -glibc-2.3.2dat’ sh all.sh –notest
(3)      建立配置文件,在 crosstool-0.42 文件夹下有 arm.dat gcc- 3.3.6 -glibc-2.3.2dat 【与上面修改后的一致】两个配置文件。 arm.dat 中修改: TARGET=arm-linux- gcc-3.3.6-glibc-2.3.2dat 中主要修改 LINUX_DIR=linux-2.6.10
(4)      执行脚本,编译生成工具。在 crosstool-0.42 目录下, #./arm.sh
 
按照书上的叙述,这时候就可以生成新的交叉编译工具。但是我最初是用 root 编译的失败后,再清除环境后用普通用户编译,结果是创建 opt/crosstool 目录时没有权限。最后 google 了一把得出结论:在编译的时候最好用普通用户身份来做
 
(5)      最后一步,添加环境变量:在 etc/bashrc 文件的最后添加 export PATH=/opt/crosstool/gcc- 3.3.6 -glibc-2.3.2/arm-linux/bin:$PATH
 
 
不能用也没办法啊,最后还是下载了一个制作好的工具链安装包 eldk
(1)      挂载光驱
(2)      创建安装目录,并安装
# mkdir /home/ELDK
# ./install -d /home/ELDK/
(3)      设置环境变量
编辑自己的帐户目录下的 .bashrc ( 例如: /home/xyz/) 中加入下面内容
CROSS_COMPILE=arm-linux-
$PATH=$PATH:/home/ELDK/usr/bin:/home/ELDK/bin
export CROSS_COMPILE PATH
保存。然后执行 $source .bashrc