您的位置:首页 > 其它

s3c2410 内核移植问题解决

2011-08-07 21:12 507 查看
1.内核编译过程中遇到问题和解决办法:

cc1: error: unrecognized command line option "-mapcs-32"

cc1: error: unrecognized command line option "-mshort-load-bytes"

错误:属于编译器版本过高的问题,换成2.95.3之后问题解决

2.Install ncurses(ncurses-devel) and try again

ncurses是字符终端下屏幕控制的基本库。可能很多新开发的程序已经不再使用。假如要编译一些老的程序,还是会经常碰到.解 决这个问题可以通过下面的解决方法来搞定。

打开一个终端输入下面这条语句按回车进行安装即可。

apt-get install libncurses5-dev

3.一定要设置为

ARCH ?= arm

CROSS_COMPILE ?= arm-linux-

否则可能会遇到arm-none-linux-gnueabi-gcc不存在问题

4.库文件《asm/arch/nand.h》无法找到,可能使由于内核版本的问题

解决办法:将arch/arm/plat-s3c/include/plat/nand.h复制到include的任意目录

eg:include/asm/nand.h

5.编译内核 scripts/mod/sumversion.c PATH_MAX undeclared

修改:linux-2.6.x/scripts/mod/sumversion.c, and adding #include <limits.h>

6.使用友善提供的arm-linux-gcc 4.3.2

以root登录,左键解压文件,解压完成后的文件结构为:usr/local/arm/4.3.2

加入环境变量到bashrc

vim ~/.bashrc

加入这一行

export PATH=$PATH:/usr/local/arm/4.3.2/bin

保存后重新登录linux,在终端输入arm-linux-gcc,如成功则会提示如下:

[root@FC9 ~]# arm-linux-gcc

arm-none-linux-gnueabi-gcc: no input files

7.内核阅读网站,http://lxr.linux.no/#linux+v2.6.18.8/

8.内核参数修改

param set linux_cmd_line "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200"

9.vivi再编译过程中要使用2.4的内核

/home/fuxinghua/desktop/linux-2.4.34/include

交叉编译器的头文件为

/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3

10.烧写好vivi之后,要进行nand分区,分区大小与内核文件的分区大小一致

用part命令和pon命令均可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐