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.

关于DM8168从nand flash启动ubifs出错的问题



关于DM8168在从nand flash启动,出现ubifs解压失败,有坏块的现象,请教各位为什么会出现这种问题?谢谢~~~

UBIFS error的具体内容如下:

UBIFS: recovery needed

UBIFS: recovery completed

UBIFS: mounted UBI device 0, volume 0, name "rootfs"

UBIFS: file system size:   126849024 bytes (123876 KiB, 120 MiB, 999 LEBs)

UBIFS: journal size:       9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)

UBIFS: media format:       w4/r0 (latest is w4/r0)

UBIFS: default compressor: lzo

UBIFS: reserved for root:  0 bytes (0 KiB)

VFS: Mounted root (ubifs filesystem) on device 0:15.

devtmpfs: mounted

Freeing init memory: 220K

Failed to execute /init.  Attempting defaults...

INIT: version 2.88 booting

PHY: 0:01 - Link is Up - 100/Full

 Mounting /dev/shm              :  Mounting /dev/pts          :  Mounting other filesystems :  Mounting /dev/sda1              : mount: mounting /dev/sda1 on /media/sda1 failed: No such file or directory

 Mounting /dev/sda2              : mkdir: can't create directory '/media': File exists

mkdir: can't create directory '/media/sda2': File exists

mount: mounting /dev/sda2 on /media/sda2 failed: No such file or directory

Sync command ...Error opening /dev/fb0: No such file or directory

Starting udev

UBIFS error (pid 75): ubifs_decompress: cannot decompress 2094 bytes, compressor lzo, error -22

UBIFS error (pid 75): read_block: bad data node (block 25, inode 573)

UBIFS error (pid 75): do_readpage: cannot read page 25 of inode 573, error -22

UBIFS error (pid 75): ubifs_decompress: cannot decompress 2094 bytes, compressor lzo, error -22

UBIFS error (pid 75): read_block: bad data node (block 25, inode 573)

UBIFS error (pid 75): do_readpage: cannot read page 25 of inode 573, error -22

/etc/rcS.d/S03udev: line 73:    75 Bus error               /sbin/udevd -d

error sending message: Connection refused

udevadm[76]: error sending message: Connection refused

error sending message: Connection refused

udevadm[78]: error sending message: Connection refused

  • 你好;

            你是用的什么版本的开发包调试的?

  • 你好:

     DVRRDK: 04.00.00.03

    Linux version 2.6.37

    U-Boot 2010.06 (Jun 24 2014 - 15:49:11)

     

  • 你好:

    开发包:DVRRDK_04.00.00.03/

    Linux version 2.6.37

    U-Boot 2010.06

  • 你是用的128M的nand flash吗?

    你可以试一下sdk包里面镜像,DVRRDK_04.00.00.03/pre_built_binary/ti816x_dvr/ubi_128_DM816X_UD_DVR.img

    这个文件系统可以起来吗?

  • 我是用256M的nand flash

    分区如下,启动的是文件系统1:

    NAND device: Maf ID: 0x2c, Chip ID: 0xca (Micron, )
     erasesize: 0x20000, writesize: 2048, oobsize: 64
    Creating 8 MTD partitions on "omap2-nand.0":
    0x000000000000-0x000000240000 : "U-Boot"
    0x000000240000-0x000000280000 : "U-Boot Env"
    0x000000280000-0x000000580000 : "U-Boot Logo"
    0x000000580000-0x0000009c0000 : "Kernel 1"
    0x0000009c0000-0x0000089c0000 : "File System 1"
    0x0000089c0000-0x000008dc0000 : "Kernel 2"
    0x000008dc0000-0x00000ff00000 : "File System 2"
    0x00000ff00000-0x000010000000 : "User param"
    UBI: attaching mtd4 to ubi0
    UBI: physical eraseblock size:   131072 bytes (128 KiB)
    UBI: logical eraseblock size:    126976 bytes
    UBI: smallest flash I/O unit:    2048
    UBI: sub-page size:              512
    UBI: VID header offset:          2048 (aligned 2048)
    UBI: data offset:                4096
    UBI: max. sequence number:       145
    UBI: attached mtd4 to ubi0
    UBI: MTD device name:            "File System 1"
    UBI: MTD device size:            128 MiB
    UBI: number of good PEBs:        1024
    UBI: number of bad PEBs:         0
    UBI: number of corrupted PEBs:   0
    UBI: max. allowed volumes:       128
    UBI: wear-leveling threshold:    4096
    UBI: number of internal volumes: 1
    UBI: number of user volumes:     1
    UBI: available PEBs:             0
    UBI: total number of reserved PEBs: 1024
    UBI: number of PEBs reserved for bad PEB handling: 10
    UBI: max/mean erase counter: 4/0
    UBI: image sequence number:  186712817

    我的文件系统如果重新烧写是能正常启动,但是跑一段时间或者闲置一段时间,才有概率出现这种UBIFS错误,而且UBIFS的CRC校验也无法校正和恢复。出现这种现象的时间是不确定的,可能几个月,也可能一年多。

    对新升级的文件系统做压力测试、反复开关机测试一段时间也不容易复现,所以很奇怪是怎样造成的。

    文件系统1在128Mb的分区只用了40%,理论上也不会出现溢出,会不会是nand flash读写的过程中出现呢?

  • ubi这种flash上的文件系统,在制作的时候是要指定块扇区容量等大小的。估计是文件系统和flash的型号没有匹配。

  • 你好!我的平台也一直出现这个问题,你解决了吗?我的qq:48954201 ,想跟你交流沟通下

  • 你好:
    请问你当时问题是怎么解决的?可以赐教一下方法吗?我这边也出现这个问题
  • 先看一下你的ECC纠错用得对不对,然后再把ubi相关补丁打好,我们以前也出现过。