sudo apt-get install libncurses5-dev bison flex texinfo automake libtool patch gcj cvs cvsd gawk
configure make make install安装 termcap-1.3.1.tar.gz ,因为sudo apt 找不到这个包,可能是太古老了。 3.建立制作工具链的工作目录:mkdir ${HOME}/crosstool-ng #所有工作都在这个目录里做,并把crosstool-ng-1.8.1.tar.bz2复制到这个目录里,解压缩为crosstool-ng-1.8.1
cd ${HOME}/crosstool-ng
mkdir crosstool-ng-1.8.1_build crosstool-ng-1.8.1_install #第一个是编译交叉工具链时的工作目录 ,第二个是crosstool-ng-1.8.1的安装目录
cd ${HOME}/crosstool-ng/crosstool-ng-1.8.1
./configure --prefix=${HOME}/crosstool-ng/crosstool-ng-1.8.1_install
make
make install
#注意:以前我把crosstool-ng-1.8.1安装在/usr/local下面了,安装时必然要使用sudo,在后面编译工具链时,出现了crosstool-ng chmod -R u+w: changing permissions of 权限的错误,后来改到${HOME}下安装crosstool-ng,这个问题就没了。
4. 配置编译的交叉编译工具链 : 接下来就是配置你要编译的交叉编译工具链了,在crosstool-ng已很多已经做好的默认配置(位于crosstool-ng- X.Y.Z/samples目录下),你只要针对其进行修改就好了。对于编译器组件部分的版本最好不要修改,因为那个配搭应该是经过测试后的最高本版了, 但内核版本可以修改。cd ${HOME}/crosstool-ng/crosstool-ng-1.8.1_build cp ../crosstool-ng-1.8.1/samples/arm-unknown-linux-gnueabi/* ./
mv crosstool.config .config
../crosstool-ng-1.8.1_install/bin/ct-ng menuconfig
进入menuconfig #开始修改配置,完全按照前面的两篇blog做的,自己有待进一步研究 ========================= 5.开始编译:../crosstool-ng-1.8.1_install/bin/ct-ng build
注意:可以用build.4这个编译速度要加快不少,我分别在两台同样配置的机器编译,都是dellPC是2006年初的机器,老旧,用build花了190分钟,用build.4花了120分钟。另外,编译时是需要g++的,并且版本和gcc的版本要一致,我的pc的g++和gcc的版本就不一样,因为平时需要用低版本的g++-4.1编译公司的server代码,后来把我的g++-4.1卸载了,然后安装了g++-4.3就可以编译通过了。另外,一定要细读品味x-tools/arm-unknown-linux-gnueabi/build.log所指出的错误原因和解决办法。 6. 编译好的交叉编译器的bin和lib: bin:crosstool-ng/x-tools/arm-unknown-linux-gnueabi/bin lib:crosstool-ng/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/lib 7.增加环境变量: 可以修改~/.bashrc或者建立到目录/usr/local/bin或者/usr/bin的软连接,目前情况建环境变量更简洁吧。 建软连接这里不太合适,