Yuri, Before erasing all of the blocks, you should check the oob information. You should be able to determine which were factory set and which weren't. John. On Thu, 2005-12-22 at 08:48 -0800, Sergey Kubushyn wrote: > 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. * > ****************************************************************** > > > _______________________________________________ > yaffs mailing list > yaffs@stoneboat.aleph1.co.uk > http://stoneboat.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs