An FAQ would be nice, an example would be nicer and a patch file would be perfect. I too have the need to make a 2.6.20 / Yaffs2 setup play with an earlier version (2.4.21/ original yaffs) I am struggling to get this to work. When I upgrade a device to new firmware, I have to save the NAND contents, bring up the new system (which trashes the NAND) and then restore the files. - Not always possible though due to space constraints. Thanks (hopefully) Steve On 8/8/07 4:46 PM, "ian@brightstareng.com" wrote: > Rick, > > On Wednesday 08 August 2007 15:05, Rick Bronson wrote: >> If yaffsVersion is never set to 2 (ie. always set to 1), >> does that mean that a partition that was written with ancient >> yaffs1 code on a 2.4 kernel will be able to be read/written >> using modern yaffs2 code and a 2.6.22 kernel with a 512/16 >> part? > > The yaffsVersion variable, displayed as isYaffs2 in /proc/yaffs, > shows which yaffs methods are being used. So called Yaffs1 > methods are used when the underlying device is a small-page > (512) NAND chip. Yaffs2 methods are used when the underlying > device is large-page (2k). Yaffs operates differently on these > two types of NAND. > > The "yaffs2" codebase at cvs.aleph1.co.uk:/home/aleph1/cvs > supports both page sizes, both sets of methods. When it runs > with a small-page device, it runs much like the original "yaffs" > codebase. > > The format or layout of the tags and MTD's ECC is really a > separate issue. There are various formats depending mainly on > the MTD vintage and configuration choices. > > With 2.4 MTD, and 2.6 pre 2.6.17, Yaffs may influence the layout > using the nand_oobinfo struct in yaffs_mtdif.c. But with newer > kernels (post 2.6.17) MTD defines the layout using > nand_ecclayout in nand_base.c, or the platform NAND mapping > driver, and Yaffs just goes along with the MTD's 'autoplace' > policy. > > Compatibility: If you build the "yaffs2" codebase for a post > 2.6.17 kernel with CONFIG_YAFFS_9BYTE_TAGS set, and you are > using a small-page NAND chip, the layout can be made compatible > with an older scheme, but you have to have MTD's nand_ecclayout > defined appropriately -- use the older implementation as a > reference to derive the tags/ECC byte ordering that is/was used, > then define a compatible nand_ecclayout 'autoplace' policy for > use on the post 2.6.17 platform. > > [We need a Yaffs FAQ, don't we] > > -imcd > > _______________________________________________ > yaffs mailing list > yaffs@lists.aleph1.co.uk > http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs