嵌入式 关于在nandflash上运行yaffs2文件系统出现“No init found. Try passing init= option to kernel”

本文介绍了在nandflash上运行YAFFS2文件系统时遇到的"No init found. Try passing init= option to kernel"错误的解决方法。关键步骤包括:使用nand write.yaffs命令、确保内核支持nand驱动和YAFFS2、正确设置文件系统参数、避免文件系统大小错误。同时提到了其他可能的解决办法,如修改Linux内核配置、使用nandecc sw、检查bootloader的yaffs烧写支持等。
摘要由CSDN通过智能技术生成

No init found.  Try passing init= option to kernel”这个问题困扰了我两天才解决,在网上也查了很多资料,基本上都答案一样的,当然也可能是造成这个原因的一种,现在把它们小结一下:

1、首先保证在uboot中使用nand write.yaffs x x x,而不是nand write

2、保证内核支持nand驱动以及yaffs2,需要注意的是不需要yaffs2文件系统进行ecc校验交给内核的MTD完成即可!

3、保证文件系统格式正确,根据nand的特性“pagesize”“ecctype”就可以了,一般的OOB都是“64Byte”具体需要看手册“spare area”的Value

4、保证在进行nand write.yaffs 命令中烧写的文件系统的大小必须是真实大小,精确到K,例如:

write_yaffs2:
1.1 com:
(18.2M:0x1246440):
nand erase 0x600000 0x5100000;mw.b 0x82000000 ff 0x1246440;loadb 0x82000000;nand write.yaffs 0x82000000 0x600000 0x1246440;reset (128M,81M,20M)
nand erase 0x600000 0x7D00000;mw.b 0x82000000 ff 0x1246440;loadb 0x82000000;nand write.yaffs 0x82000000 0x600000 0x1246440;reset (256M,125M,20M)

5、yaffs2文件系统制作命令:
root@u12d32:/qy_work/a3518_v080_develop/fs_kernel# ./mkyaffs2image
mkyaffs2image: image building tool for YAFFS2, last update Jun 25 2014 20:40:22. 
Version: Linux-2.6.35-Google Nand Controller V301
Usage:
    mkyaffs2image  dir  image  pagesize  ecctype  [-v].


    dir          the directory tree to be converted
    image        the output file to hold the image
    pagesize     the page size to be converted
                 0 : 512 Bytes pagesize
                 1 : 2K Bytes pagesize
                 2 : 4K Bytes pagesize
                 3 : 8K Bytes pagesize
    ecctype      ECC type
                 0 : no ecc
                 1 : used 1bit ecc
                 2 : used 4byte ecc
                 3 : used 8byte ecc
                 4 : used 24bit/1k ecc
    -v           verbosely list files processed


root@u12d32:/qy_work/a3518_v080_develop/fs_kernel# 

我实际使用的命令为2k、1bit:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值