We should put this in an FAQ... On Tuesday 20 April 2010 11:43:52 Guy Lancaster wrote: > I built a file system image using mkyaffs2image v1.5 but but won't mkyaffsimage (the yaffs1 version) worked reasonably well because yaffs1 tends/tended to be used with a single straight-forward flash format. With yaffs2, the actual binary layout is defered to the flash driver (mtd in the case of Linux). This varies from device to device. As a result, the current mkyaffs2image is really a bit of a mess and needs to be whittled and sandpapered to fit with your flash. > > load. Without modifications I get numerous errors of the form: > > yaffs tragedy: Bad object type, 2 != 3, for object 1059 at chunk 8242 > > during scan > > I'm using a Linux 2.6.33.2 kernel with what I believe is the latest > YAFFS source installed (specifically yaffs_fs.c,v 1.102) for a Samsung > S3C2440 Arm target with 128MB NAND Flash (Samsung K9F1G08X0A). > > When I compile mkyaffs2image I get numerous warnings including a set > > of the form: > > mkyaffs2image.c:249: warning: array subscript is above array bounds > > When I enable a number of the trace flags I get: > > yaffs_ScanBackwards starts intstartblk 1 intendblk 1005... > > block is bad seq 0 state 3 > > Block scanning block 1 state 3 seq 0 > > Block empty > > block is bad seq 0 state 3 > > ... > > I'm wondering if the problem is that the mkyaffs2image.c needs to be > configured for the MTD layout but I don't know how to find out what > that layout is. Yes, that is the problem. The easiest is to just look at the driver and see what flash layout it provides. -- Charles