Author: Charles Manning Date: To: yaffs Subject: Re: [Yaffs] Problems with mkyaffs2image.c v1.5
On Tuesday 20 April 2010 13:04:34 Charles Manning wrote: > 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.
Another approach is create a small partition, do some writes and then
nand-dump and check through the bytes.