On Thu, 22 Dec 2005 yuri.golovach@mindspeed.com wrote: When experimenting with unpatched CVS YAFFS you have written something to the first two bytes of OOB area so now the beginning of your NAND shows up as a bunch of bad blocks. That's why you don't have much free space on those partitions. Now what you have to do is to build a kernel with MTD ignoring bad blocks and erase them all. That will also erase factory marked bad blocks but this is not the end of the world; they will be marked as bad later when they fail ECC check if they are really bad. > Here is the information, which was asked. I hope it will help. Please, > let > me know if you need any other debug info. > > > 1) the beginning text from MTD boot screen which should depict the bad > block markers that have been detected > (MTD Debug was turned on) > > Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) > Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) > Memory: 47MB = 47MB total > Memory: 45584KB available (1573K code, 375K data, 80K init) > Mount-cache hash table entries: 512 (order: 0, 4096 bytes) > CPU: Testing write buffer coherency: ok > NET: Registered protocol family 16 > NetWinder Floating Point Emulator V0.97 (double precision) > devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au) > devfs: boot_options: 0x0 > yaffs Dec 22 2005 15:54:34 Installing. > Serial: M825xx1 driver $Revision: 1.1.2.1.2.1 $ > ttyS0 at MMIO 0x10090000 (irq = 41) is a M825xx1 > io scheduler noop registered > loop: loaded (max 8 devices) > nbd: registered device at major 43 > smi_memory_phy = a10000 > Phy->storage: 0xcce4a0 > Virt->storage: 0xf0cce4a0 > NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB > 3,3V 8-bit) > Scanning device for bad blocks > Bad eraseblock 0 at 0x00000000 > Bad eraseblock 32 at 0x00400000 > Bad eraseblock 33 at 0x00420000 > Bad eraseblock 34 at 0x00440000 > Bad eraseblock 35 at 0x00460000 > ............ > long list > ............ > Bad eraseblock 435 at 0x03660000 > Bad eraseblock 437 at 0x036a0000 > Creating 4 MTD partitions on "NAND 128MiB 3,3V 8-bit": > 0x00000000-0x00200000 : "MSP boot partition" > mtd: Giving out device 0 to MSP boot partition > 0x00200000-0x00400000 : "Linux boot partition" > mtd: Giving out device 1 to Linux boot partition > 0x00400000-0x03600000 : "Comcerto Filesystem partition" > mtd: Giving out device 2 to Comcerto Filesystem partition > 0x03600000-0x06800000 : "Comcerto Filesystem partition2" > mtd: Giving out device 3 to Comcerto Filesystem partition2 > > > 2) the result of mounting yaffs partiton. > # > # mount -t yaffs2 /dev/mtdblock3 /mnt/y > yaffs: dev is 32505859 name is "mtdblock3" > yaffs: Attempting MTD mount on 31.3, "mtdblock3" > block 1 is bad > block 2 is bad > block 3 is bad > block 4 is bad > block 6 is bad > nand_read_ecc: Failed ECC read, page 0x00006d01 > nand_read_ecc: Failed ECC read, page 0x00006d01 > # > > 2.5) some more info about the copy results > # > # rm /mnt/y/* > rm: cannot remove `/mnt/y/lost+found': Is a directory > # > # cp mytest /mnt/y > # > # cp mkyaffs2 /mnt/y > # > # cp nandwrite /mnt/y > yaffs tragedy: no more eraased blocks > !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!! > yaffs tragedy: no more eraased blocks > !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!! > yaffs tragedy: no more eraased blocks > !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!! > yaffs tragedy: no more eraased blocks > !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!! > yaffs tragedy: no more eraased blocks > !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!! > yaffs tragedy: no more eraased blocks > !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!! > !!!!!!!! > # > # ls -l /mnt/y > total 62 > drw-rw-rw- 1 root root 2048 Jan 1 00:03 lost+found > -rwxr-xr-x 1 root root 10765 Jan 1 00:08 mkyaffs2 > -rw-r--r-- 1 root root 8240 Jan 1 00:08 mytest > -rwxr-xr-x 1 root root 40724 Jan 1 00:09 nandwrite > # > # cp yaffs2small.img /mnt/y > yaffs tragedy: no more eraased blocks > !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!! > yaffs tragedy: no more eraased blocks > !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!! > .... > lot of messages > .... > yaffs tragedy: no more eraased blocks > !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!! > cp: writing `/mnt/y/yaffs2small.img': Operation not permitted > yaffs tragedy: no more eraased blocks > !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!! > # > # ls -l /mnt/y > total 272 > drw-rw-rw- 1 root root 2048 Jan 1 00:03 lost+found > -rwxr-xr-x 1 root root 10765 Jan 1 00:08 mkyaffs2 > -rw-r--r-- 1 root root 8240 Jan 1 00:08 mytest > -rwxr-xr-x 1 root root 40724 Jan 1 00:09 nandwrite > -rw-r--r-- 1 root root 215040 Jan 1 00:13 yaffs2small.img > # > > > > > 3) the output of /proc/yaffs file > # vi /prov/yaffs > YAFFS built:Dec 22 2005 15:54:34 > $Id: yaffs_fs.c,v 1.38 2005/12/15 20:27:56 charles Exp $ > $Id: yaffs_guts.c,v 1.25 2005/12/08 00:51:15 charles Exp $ > > Device 0 "Comcerto Filesystem partition" > startBlock......... 0 > endBlock........... 399 > chunkGroupBits..... 0 > chunkGroupSize..... 1 > nErasedBlocks...... 0 > nTnodesCreated..... 0 > nFreeTnodes........ 0 > nObjectsCreated.... 100 > nFreeObjects....... 96 > nFreeChunks........ 0 > nPageWrites........ 0 > nPageReads......... 0 > nBlockErasures..... 0 > nGCCopies.......... 0 > garbageCollections. 0 > passiveGCs......... 0 > nRetriedWrites..... 0 > nRetireBlocks...... 0 > eccFixed........... 0 > eccUnfixed......... 0 > tagsEccFixed....... 0 > tagsEccUnfixed..... 0 > cacheHits.......... 0 > nDeletedFiles...... 0 > nUnlinkedFiles..... 0 > nBackgroudDeletions 0 > useNANDECC......... 1 > isYaffs2........... 1 > > Device 1 "Comcerto Filesystem partition2" > startBlock......... 0 > endBlock........... 399 > chunkGroupBits..... 0 > chunkGroupSize..... 1 > nErasedBlocks...... 0 > nTnodesCreated..... 100 > nFreeTnodes........ 90 > nObjectsCreated.... 100 > nFreeObjects....... 89 > nFreeChunks........ 25194 > nPageWrites........ 0 > nPageReads......... 0 > nBlockErasures..... 8 > nGCCopies.......... 493 > garbageCollections. 8 > passiveGCs......... 0 > nRetriedWrites..... 0 > nRetireBlocks...... 0 > eccFixed........... 0 > eccUnfixed......... 0 > tagsEccFixed....... 0 > tagsEccUnfixed..... 0 > cacheHits.......... 0 > nDeletedFiles...... 2 > nUnlinkedFiles..... 4 > nBackgroudDeletions 0 > B > useNANDECC......... 1 > iBsYaffs2........... 1 > > Thank you, > Yuri Golovach > --- ****************************************************************** * KSI@home KOI8 Net < > The impossible we do immediately. * * Las Vegas NV, USA < > Miracles require 24-hour notice. * ******************************************************************