Hi guys, I made progress today, now I'm at the point where yaffs could be used as a boot RO filesystem. I can mount it, write to it (I'll get yaffs chunk not erased messages but the files are good even after remounting). But I have to mount read-only otherwise all hell breaks loose. I enabled tracing and I think I see what's wrong... (to enable trace, "echo all > /proc/yaffs") During the mount process, everything is clean, for each block I have the following: [4294767.300000] Block scanning block 62 state 3 seq 0 [4294767.305000] Block empty [4294767.308000] nandmtd2_QueryNANDBlock 62 [4294767.312000] nandmtd2_ReadChunkWithTagsFromNAND chunk 3968 data 00000000 tags 810e3b78 [4294767.320000] packed tags obj -1 chunk -1 byte -1 seq -1 [4294767.325000] ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 [4294767.333000] block is bad seq 0 state 3 (I know last line says block is bad but the trace call is executed anyway).. blocks are good During the actual write of the file I have the following: [4294763.952000] Writing chunk 0 tags 261 0 [4294763.956000] nandmtd2_WriteChunkWithTagsToNAND chunk 0 data 8114b000 tags 810ddc08 [4294763.964000] packed tags obj 268435717 chunk -2147483647 byte 0 seq 4097 [4294763.971000] ext.tags eccres 0 blkbad 0 chused 1 obj 261 chunk0 byte 0 del 0 ser 1 seq 4097 I'm not sure about the "packed tags" line, are these values valid? (268435717 and -2147483647) Is it because the tags are packed? Because the ext.tags line looks ok? Can anyone confirm? Now, the unmount doesn't look good at all: # umount /mnt [4294950.219000] yaffs_put_inode: ino 261, count 1 [4294950.224000] yaffs_put_inode: ino 1, count 1 [4294950.229000] yaffs_clear_inode: ino 1, count 0 object exists [4294950.235000] yaffs_clear_inode: ino 261, count 0 object exists [4294950.241000] save entry: isCheckpointed 0 [4294950.245000] checkpt blocks available = 58 [4294950.249000] checking blocks 0 to 63 [4294950.253000] allocating checkpt block 1 [4294950.257000] nandmtd2_WriteChunkWithTagsToNAND chunk 64 data 803ec000 tags 810ddd38 [4294950.265000] packed tags obj 2 chunk 1 byte 2048 seq 33 [4294950.270000] ext.tags eccres 0 blkbad 268497208 chused -2129276928 obj 2 chunk1 byte 2048 del 0 ser -2129473536 seq 33 [4294950.284000] checkpoint byte count 1304 [4294950.288000] save exit: isCheckpointed 1 As you see here, even the ext.tags line has blkbad, chused and ser values all messed up. Could someone confirm that I should be seeing *normal* values here. Thanks a lot Boris