记录下此过程,以便以后翻阅,有所参考。
1、交叉编译环境的安装。
tq2440的光盘里面已经编译好了4.3.3的交叉编译器了,具体怎么自己编译交叉编译器件还不是很懂,先直接拿来用吧,走一个再说。
交叉编译工具在一个光盘的TQ2440的文件夹里的一个压缩包里(EABI-4.3.3_EmbedSky_20100610.tar.bz2),为了与教程统一,直接解压然后弄到/opt文件夹里吧。
然后添加bin文件的环境变量,fedora在/etc/profile文件里,ubuntu在/etc/environment里。然后来个source /etc/profile让设置生效,不懂ubuntu里面用不用呢?。。。过程参考光盘中的小教程install_crosscomplie_20100409.exe。
2、然后把光盘中的系统源代码linux-2.6.30.4拷贝到工作文件夹中,进入该文件夹,然后用make clean清掉以前的设置,避免影响跟下来的编译结果,然后再来make menuconfig来选择编译模块,这只是挑选出要编译的文件而已,并没有真正的进行编译,然后使用make zImage来进行真正的编译,由于make menuconfig已经设置了那些模块不必进行编译,故而编译器只是编译选择的模块,加快编译过程,减小生成文件的大小。
至于什么机器码呀,晶振呀,nand的地址配置呀什么的,继续参考光盘中的内容:《天嵌科技出品-Linux移植之Step By Step_V4.5_20100605.pdf》,实际上光盘里的linux-2.6.30.4代码已经修改好了。
在ubuntu中进行编译的时候遇到以下情况:
复制到/opt目录下需要权限,可以用命令行用sudo复制,然后添加完环境变量的时候,发现没能调用目录里的arm-linux-gcc等软件,su进去就可以,至于root的密码怎么修改——使用passwd root即可。
编译的时候提示什么
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
make[1]: *** [scripts/kconfig/dochecklxdialog] 错误 1
make: *** [menuconfig] 错误 2
然后在网上寻找到解决方法:sudo apt-get install libncurses*
据说使用sudo apt-get install ncurses-dev也可以,就是没验证过。
解决之后顺利make menuconfig,并可编译出zImage.bin