为什么nand flash里没有文件系统,也会显示VFS: Mounted root (yaffs filesystem) ...
本帖最后由 wwxxff28 于 2015-4-24 17:36 编辑这几天在移植根文件系统,但是一直不成功,找不到原因。文件系统制作也是正确的,试了好多mkyaffs2img工具都不行,开始以为是yaffs2的原因,但是用了是mini2440的yaffs2的代码之后还是不行。感觉内核一直没找到根文件系统。因此今天试了一下修改启动参数,对FL2440的启动参数产生了几个疑问。
问题1.
为什么FL2440的UBOOT中设置的根文件系统fs_yaffs分区是第6个分区,而在下面串口打印的启动信息boot params中的根文件系统的分区是mtdblock3, 不应该是mtdblock5么?文件系统的分区位置不应该跟启动参数中的一直么?
Please select which region to write : Esc to abort
0 : offset 0x00000000, size 0x00020000
1 : offset 0x00020000, size 0x00060000
2 : offset 0x00080000, size 0x00100000
3 : offset 0x00180000, size 0x00380000
4 : offset 0x00500000, size 0x00300000
5 : offset 0x00800000, size 0x03c00000
6 : offset 0x04400000, size 0x00080000
7 : offset 0x04480000, size 0x03b80000
Set boot params = root=/dev/mtdblock3 init=/linuxrc load_ramdisk=0 console=ttySAC0,115200 mem=65536K devfs=mount display=lcd480
Load Kernel...
Uncompressing Linux...............................................................................................................................
问题2
我尝试着把用将fs_yaffs分区的内容擦掉,在启动linux查看调试信息。发现有没有文件系统都打印出下面的调试信息。
(注:Warning: unable to open an test txt . 其中test.txt是在根目录下添加的测试文件,在内核中打开,但是在实际实验中,一直打不开,网上有帖子说是ECC的问题,但是换了好多工具,也用了mini2440中的代码,还是不行,感觉像是内核没找到文件系统)
串口打印出的消息是:
yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
yaffs: auto selecting yaffs2
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:3.
Freeing init memory: 124K
Warning: unable to open an initial console.
Warning: unable to open an test txt . //在根目录下添加的文件,一直都打不开,感觉内核根本就没找到文件系统
Failed to execute /linuxrc.Attempting defaults...
Kernel panic - not syncing: No init found.Try passing init= option to kernel.
[<c002da24>] (unwind_backtrace+0x0/0xd8) from [<c02d36b8>] (panic+0x40/0x110)
[<c02d36b8>] (panic+0x40/0x110) from [<c00275b0>] (init_post+0xe8/0x118)
[<c00275b0>] (init_post+0xe8/0x118) from [<c00085b8>] (kernel_init+0xdc/0x10c)
[<c00085b8>] (kernel_init+0xdc/0x10c) from [<c0028e68>] (kernel_thread_exit+0x0/0x8)
有没有大神可以给指点一下,实在是找不到思路了。
页:
[1]