ubuntu9.04 利用ccrosstool-ng-1.8.1制作交叉编译..
时间:2010-09-24 来源:bellcat2008
我的编译主要是参考了:
http://blog.chinaunix.net/u3/104206/showart_2325147.html
和
http://blog.chinaunix.net/u1/34474/showart_2198589.html
两篇文章。
编译的整体步骤:首先安装crosstool-ng,然后利用crosstool-ng编译出交叉工具链。
============================
1.下载最新ccrosstool-ng-1.8.1.tar.bz2, 有两个补丁
000-scripts_log_do_not_interpret_log_string_as_printf_format.patch
001-binutils_binutils_remove_faulty_patch.patch
不知为什么打补丁要很长时间,所以我取消了打补丁。
2.安装一些必要的包:
sudo apt-get install libncurses5-dev bison flex texinfo automake libtool patch gcj cvs cvsd gawk |
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.6.1_install/bin/ct-ng menuconfig
进入menuconfig #开始修改配置,完全按照前面的两篇blog做的,自己有待进一步研究=========================
5.开始编译: