This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

am5728 挂载yaffs2根文件系统

文件系统总是挂载不成功,这是哪方面的错误呢? 
U-Boot SPL 2016.05-00319-g8d0b2ca-dirty (Sep 06 2017 - 09:07:23)
Linux version 4.4.41-gf9f6f0db2d (gc@gc-virtual-machine) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #15 SMP PREEMPT Wed Sep 13 10:21:59 CST 2017
[   67.325144] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
[   67.331525] nand: Micron MT29F4G08ABAEAWP
[   67.335572] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
[   67.343326] using OMAP_ECC_BCH16_CODE_HW ECC scheme
[   67.348312] 10 ofpart partitions found on MTD device 8000000.nand
[   67.354447] Creating 10 MTD partitions on "8000000.nand":
[   67.359872] 0x000000000000-0x000000040000 : "NAND.SPL"
[   67.376119] 0x000000040000-0x000000080000 : "NAND.SPL.backup1"
[   67.383018] 0x000000080000-0x0000000c0000 : "NAND.SPL.backup2"
[   67.389854] 0x0000000c0000-0x000000100000 : "NAND.SPL.backup3"
[   67.406684] 0x000000100000-0x000000180000 : "NAND.u-boot-spl-os"
[   67.413748] 0x000000180000-0x000000380000 : "NAND.u-boot"
[   67.420486] 0x000000380000-0x0000003c0000 : "NAND.u-boot-env"
[   67.437270] 0x0000003c0000-0x000000400000 : "NAND.u-boot-env.backup1"
[   67.454754] 0x000000400000-0x000000c00000 : "NAND.kernel"
[   67.462791] 0x000000c00000-0x000020000000 : "NAND.file-system"
[   67.772577] yaffs: dev is 32505865 name is "mtdblock9" rw
[   67.773097] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode
[   67.773102] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode
[   67.790917] yaffs: passed flags ""
[   69.670585] VFS: Mounted root (yaffs2 filesystem) on device 31:9.
[   69.676737] devtmpfs: error mounting -2
[   69.680787] Freeing unused kernel memory: 336K (c08f8000 - c094c000)
[   69.687225] This architecture does not have kernel memory protection.
[   69.693729] Kernel panic - not syncing: Requested init/lnuxrc failed (error -2).
使用的nand为MT29F4G08ABAEAWP     Page Size :  (4K + 224)Byte
  •    我的根文件系统应该是没有问题,用这个fs制作成ramdisk格式的内核可以直接挂载上,

    可是使用mkyaffs2image工具制作的yaffs2就出现上述问题,

  • 可能是这个工具制作的有问题

    可以试试通过RAMDISK启动,然后直接在板子上创建YAFFS2,手动mount

  • / #
    / #
    / # mount
    /dev/root on / type ext4 (rw,relatime,block_validity,delalloc,barrier,user_xattr,acl,errors=remount-ro)
    devtmpfs on /dev type devtmpfs (rw,relatime,size=837924k,nr_inodes=98195,mode=755)
    proc on /proc type proc (rw,relatime)
    tmpfs on /tmp type tmpfs (rw,relatime)
    sysfs on /sys type sysfs (rw,relatime)
    devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
    / # mount -t yaffs2 /dev/mtdblock9 /mnt
    [ 377.887818] yaffs: dev is 32505865 name is "mtdblock9" rw
    [ 377.893242] yaffs: passed flags ""
    / # mount
    /dev/root on / type ext4 (rw,relatime,block_validity,delalloc,barrier,user_xattr,acl,errors=remount-ro)
    devtmpfs on /dev type devtmpfs (rw,relatime,size=837924k,nr_inodes=98195,mode=755)
    proc on /proc type proc (rw,relatime)
    tmpfs on /tmp type tmpfs (rw,relatime)
    sysfs on /sys type sysfs (rw,relatime)
    devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
    /dev/mtdblock9 on /mnt type yaffs2 (rw,relatime)
    / #
    / # cd mnt/
    /mnt # ls
    lost+found

    通过ramdisk启动之后进入根文件系统,之后通过mount -t yaffs2 /dev/mtdblock9 /mnt命令挂载yaffs2到/mnt,进入/mnt目录,可是ls只看到lost+found目录

    这是不是yaffs2格式的文件系统制作有问题呢

  • 做的文件系统里没有放文件?

    如果放了,那就是没做好

  • 感谢回复

    文件系统是有放文件的,文件系统的必须文件是都有的。

    因为内核没有对yaffs2文件系统的支持,所以后来使用了ubifs,已经成功挂载了

    参考:

    http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/59921.aspx?pi239031348=1