网上这样的资料有很多,我是记录我自己的安装编译过程,遇到的一些问题,希望可以为后面的朋友提供帮助。
我用的板子是深圳优龙的FS2410,在其光盘里面有编译好的工具链(开始我也想自己编译,可是出的问题太多,我这个菜鸟暂时很难解决,希望后面我可以攻克。),优龙也使用的CROSSTOOL工具链,他的版本是3.3.2.现在最新的好像是crosstool-0.4.3,可以从其http://kegel.com/crosstool上面下载最新的。
由于优龙的已经编译好,直接解压就可以了:
tar jxvf c*.bz2 ;//c*.bz2是简写,为了写方便,解压到自己想要的目录里面
这时候你需要添加PATH才可以在别的目录使用arm-linux-的工具。具体方法为:修改/etc/bash.bashrc,在后面把你的具体的工具链路径加进去,我的工具是在:/usr/local/arm/3.3.2,所以,我在最后加:
export PATH=/usr/local/arm/3.3.2:$PATH
现在你可以写一个简单的程序,测试下是否安装成功,一般应该没什么问题
EG:#arm-linux-gcc -o filename1 filename2.c
#file filename1
若出现这样类似的提示,说明已经安装好了:ELF 32-bit LSB executable, ARM, version 1, for GNU/Linux 2.0.0, dynamically linked (uses shared libs), not stripped
32位的ELF格式文件已经编译好!
下面,准备编译内核:
首先从网上下载你所需要的内核,我下载的是2.6.8
首先还是解压
tar jxvf ****
cd ****
修改makefile(用vi,还是gedit什么的,个人爱好,我用VI)
vi Make*
进入后,可以先搜索(/str)
ARCH=arm
CROSS_COMPILE=/你的路径/arm-linux- ;//这一步很关键,后面你能够make zImage就看这里的路径是不是对的。
然后就可以make menuconfig,因为我是小菜,还是习惯用这种方式去配置内核,直接文本配置,我现在功力还不到。
这时候好多用UBUNTU的用户可能会出一些问题,这里问题我没有记录下来,大体上有2个问题这里:
1.权限不够,需要使用sudo
2.缺少 NCURSES库的函数支持,需要安装该库,我是在网上下的,因为不知道UBUNTU的库里叫什么,atp-get的时候没有找到。
注意上面2点后一般就没什么问题了。最后就是你最喜欢的,make zImage。然后看到屏幕一排一排的编译信息被打印出来,真是有说不出的快感!
就写到这里了,还有问题需要讨论的,大家可以和我联系:dahai_boy@163.com