制作交叉编译工具链是件麻烦的事情,因为交叉编译ntfsprogs不得已从头做了一遍,现在把流程总结在这里,供以后参考。
原料:binutils,gcc,linux kernel,uclibc
我所用的版本为:
binutils-2.16
gcc-3.4.3
linux-2.6.14
uClibc-0.9.28
基本流程:
1.编译binutils
2.编译不含库的gcc
3.配置编译linux kenerl
4.编译uclibc
5.重新编译gcc得到完整工具链。
详细步骤:
注:以下脚本都是手工再次录入,非copy自原系统,可能存在录入错误
1.binutils的编译没有什么悬念,编译脚本如下:
#!/bin/sh
./configure --target=arm-linux --prefix=/opt/tools --program-prefix=arm-linux-
make
make install
即可在/opt/tools 下生成arm-linux-ar arm-linux-ld等必须工具
2.编译不含库的gcc,该步骤必须小心配置,因为编译gcc某些功能模块时本身需要C库的支持,只有把这些有依赖的模块屏蔽掉该步骤才能顺利编译,该步骤编译脚本如下:
#!/bin/sh
./configure --target=arm-linux /
--prefix=/opt/tools /
--program-pr