gpmi-nand driver and jffs2 support

Hector Palacios hector.palacios at digi.com
Mon Sep 2 04:12:54 EDT 2013


Dear Huang,

On 08/31/2013 03:37 PM, Huang Shijie wrote:
> On Fri, Aug 30, 2013 at 06:41:58PM +0200, Hector Palacios wrote:
>> Hi Fabio,
>>
>>>
>>> On Fri, Aug 30, 2013 at 1:31 PM, Hector Palacios
>>> <hector.palacios at digi.com> wrote:
>>>> Ok I merged the linux-next MTD patches.
>>>> This is what I get from the printk:
>>>>
>>>> [    0.841333] [ set_geometry_by_ecc_info ] 36, 28
>
> ok, we have enough spare area to store the marker.
>
> I think this SLC should be okay with jffs2.
>
>>>>
>>>> The partition now partially mounts (I can see a few of the folders and
>>>> files) but I get thousands of errors like these:
>>>>
>>>> [  118.210985] jffs2: mtd->read(0x100 bytes from 0x0) returned ECC error
>>>> [  118.255424] jffs2: mtd->read(0x1ff20 bytes from 0xe0) returned ECC error
>>>> [  118.255561] jffs2: jffs2_scan_inode_node(): CRC failed on node at
>>>> 0x000001ec: Read 0x00000000, calculated 0xa587e8ba
>>>> [  118.255602] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not
>>>> found at 0x00000234: 0x1cf7 instead
>>>
>>> This error is most likely because you generated a jffs2 rootfs with a
>>> eraseblock size that does not match the one of your NAND device.
>>
>> No. I used 128k erase block that matches my NAND. I also checked
>> that I can mount the jffs2 partition correctly using my v2.6.35
>> kernel, so the partition seems to be correctly written.
>>
>
> Please use following steps and try again:
>      flash_eraseall /dev/mtdx
>      mount -t jffs2 /dev/mtdblockx tmp

What's the purpose of this?
This works and doesn't output any error but it's mounting an erased partition.

 > Keep the JFFS2_FS_DEBUG is 0.
 > and test it again.

JFFS2_FS_DEBUG is 0. The error messages above are printed nevertheless because they 
are pr_notice() calls, not jffs2_dbg().

Best regards,
--
Hector Palacios



More information about the linux-mtd mailing list