arm2410 linux,Arm2410的Linux系统移植——vivi、内核、根文件系统的

编译内核出现的问题:

1. cc1: error: invalid option `short-load-bytes'

原因与解决办法:

原因是高版本的编译器不支持-mshort-load-bytes选项,改为-malignment-traps即可。修改U-boot下:cpu/arm920t/config.mk文件(选择该目录下配置文件是因为我使用的是arm920t这个硬件平台,如果你是别的平台就需要选择别的目录下配置文件)中-mshort-load-bytes改为-malignment-traps即可。

2. 出现上述问题,修改后依然有问题。

blkpg.c: In function `blk_ioctl':

blkpg.c:250: error: asm-specifier for variable `__r1' conflicts with asm clobber list

blkpg.c:250: confused by earlier errors, bailing out

后发现问题可能是因为编译器的缘故。

2.4内核----2.95.3的工具链

2.6内核-----3.3./3.4.的工具链,其中binutils的版本要高于2.13

建议编译2.4内核使用3.3一下的arm-Linux,编译2.6内核使用3.4之上的编译器。

3.end_request: I/O error, dev mtdblock3, sector 16

Buffer I/O error on device mtdblock3, logical block 2

end_request: I/O error, dev mtdblock3, sector 24

Buffer I/O error on device mtdblock3, logical block 3

end_request: I/O error, dev mtdblock3, sector 24

Buffer I/O error on device mtdblock3, logical block 3

end_request: I/O error, dev mtdblock3, sector 0

FAT: unable to read boot sector

VFS: Cannot open root device "mtdblock3" or unknown-block(31,3)

Please append a correct "root=" boot option

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)

移植内核时出现了这种错误,这种错误通常是由校验造成的.这种情况的解决办法为:

禁止Flash ECC校验。我们的内核都是通过UBOOT写到Nand Flash的, UBOOT通过的软件ECC算法产生ECC校验码, 这与内核校验的ECC码不一样, 内核中的ECC码是由S3C2410中Nand Flash控制器产生的. 所以, 我们在这里选择禁止内核ECC校验.修改drivers/mtd/nand/s3c2410.c 文件,找到s3c2410_nand_init_chip()函数,在该函数体最后加上一条语句:chip->eccmode = NAND_ECC_NONE;

并且把

Device Drivers --->

Memory Technology Devices (MTD) --->

NAND Flash Device Drivers --->

[*]   S3C2410 NAND Hardware ECC

    去掉。(默认是不加的,可查看一下若选上了进行去掉)0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值