Author: Charles Manning Date: To: yaffs Subject: Re: [Yaffs] Problems with mkyaffs2image.c v1.5
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.