Strange JFFS2 Cleanmarker on NAND
Semih Hazar
semih.hazar at indefia.com
Fri Apr 27 13:08:41 EDT 2007
Hi,
After testing JFFS2+NAND for a while, I wanted to try summary and some
other stuff, decided to start from scratch.
So I did a flash_eraseall -j and tried to mount it.
But it didn't mount and complained that there wasn't a cleanmaker. So i
did nanddump and saw that there were correct cleanmarkers at the
beginning of the flash, but was some other values beginning from 0x00a80000.
at the beginning:
# nanddump /dev/mtd0 | hexdump -C
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x10000000...
00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
|................|
*
00000800 ff ff 19 85 20 03 00 00 00 08 ff ff ff ff ff ff |....
...........|
00000810 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
|................|
*
00020fe0 ff ff ff ff ff ff ff ff 19 85 20 03 00 00 00 08 |..........
.....|
00020ff0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
|................|
*
00021800 ff ff 19 85 20 03 00 00 00 08 ff ff ff ff ff ff |....
...........|
00021810 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
|................|
after 0x00a80000, cleanmarker part was like that:
ff ff 19 85 20 05 00 00 00 18 65 fa fd 45 00 00 |.... .....e..E..|
00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff |................|
ff ff ff ff ff ff ff ff 19 85 20 05 00 00 00 18 |.......... .....|
65 fa fd 45 00 00 00 00 00 00 00 00 00 00 00 00 |e..E............|
I didn't know if this was something meaningful or not, and looked inside
flash_eraseall and didn't see it writing something like that to flash. I
did a flash_eraseall again without -j and did a nanddump everything was
0xff as it should be.
Then did flash_eraseall -j once again, and this time the whole flash was
like that:
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x10000000...
00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
|................|
*
00000800 ff ff 19 85 20 05 00 00 00 18 65 fa fd 45 00 00 |....
.....e..E..|
00000810 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff
|................|
00000820 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
|................|
*
00020fe0 ff ff ff ff ff ff ff ff 19 85 20 05 00 00 00 18 |..........
.....|
00020ff0 65 fa fd 45 00 00 00 00 00 00 00 00 00 00 00 00
|e..E............|
00021000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
|................|
*
00021800 ff ff 19 85 20 05 00 00 00 18 65 fa fd 45 00 00 |....
.....e..E..|
00021810 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff
|................|
00021820 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
|................|
I re-run the above step (without -j and with -j) and now cleanmarkers
are ok and I can mount it.
Does anyone have any idea what's going on ?
CPU: Atmel AT32AP7000, kernel 2.6.20.
mtd-utils: latest from svn.
Best Regards,
Semih Hazar
More information about the linux-mtd
mailing list