[Yaffs] (no subject)

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: howhowwork
Date:  
To: yaffs
Subject: [Yaffs] (no subject)

Hello,

I have mips board au1200 with a Samsung K9D1208V 64MB NAND flash which
is 528bytes/page and nor flash with 31M.
i have established a jffs2 filesystem as root filesystem in nor flash with 31M ,
my sytem is ok if only use nor flash . now i plan to mount nand flash under jffs2 filesystem .
I downloaded the newest yaffs code from "http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs" and place it to
linux kernel 2.6.11. I select yafss and mtd support from muneconfig. After make, I got the error messages
at the end:

========================================================================================
 [root@server linux2.6.hl]# make zImage
   CHK     include/linux/version.h
 make[1]: `arch/mips/kernel/offset.s' is up to date.
   CHK     include/asm-mips/offset.h
   CHK     include/linux/compile.h
   CHK     usr/initramfs_list
   CC      fs/yaffs/yaffs_ecc.o
   CC      fs/yaffs/yaffs_fs.o
 fs/yaffs/yaffs_fs.c:168: warning: initialization from incompatible pointer type
 fs/yaffs/yaffs_fs.c: In function `yaffs_internal_read_super':
 fs/yaffs/yaffs_fs.c:1280: warning: `dev' might be used uninitialized in this function
 fs/yaffs/yaffs_fs.c: At top level:
 fs/yaffs/yaffs_fs.c:690: warning: `yaffs_file_read' defined but not used
 fs/yaffs/yaffs_fs.c:1492: warning: `yaffs_internal_read_super_ram' defined but not used
 fs/yaffs/yaffs_fs.c:1562: warning: `my_proc_ram_write_entry' defined but not used
 fs/yaffs/yaffs_fs.c:1636: warning: `yaffs_proc_ram_write' defined but not used
   CC      fs/yaffs/yaffs_guts.o
 fs/yaffs/yaffs_guts.c: In function `yaffs_SoftDeleteWorker':
 fs/yaffs/yaffs_guts.c:1120: warning: unused variable `chunkInInode'
 fs/yaffs/yaffs_guts.c:1123: warning: unused variable `tags'
 fs/yaffs/yaffs_guts.c:1124: warning: unused variable `found'
 fs/yaffs/yaffs_guts.c:1125: warning: unused variable `chunkDeleted'
 fs/yaffs/yaffs_guts.c: In function `yaffs_FlushFilesChunkCache':
 fs/yaffs/yaffs_guts.c:3146: warning: unused variable `nBytes'
 fs/yaffs/yaffs_guts.c:3142: warning: `lowest' might be used uninitialized in this function
 fs/yaffs/yaffs_guts.c: At top level:
 fs/yaffs/yaffs_guts.c:1922: warning: `yaffs_CheckObjectHashSanity' defined but not used
 fs/yaffs/yaffs_guts.c:319: warning: `yaffs_CheckChunkErased' defined but not used
 fs/yaffs/yaffs_guts.c:455: warning: `yaffs_RewriteBufferedBlock' defined but not used
 fs/yaffs/yaffs_guts.c:484: warning: `yaffs_CheckWrittenBlock' defined but not used
 fs/yaffs/yaffs_guts.c:2369: warning: `yaffs_DoUnlinkedFileDeletion' defined but not used
   CC      fs/yaffs/yaffs_mtdif.o
   LD      fs/yaffs/yaffs.o
   LD      fs/yaffs/built-in.o
   LD      fs/built-in.o
   CC      lib/zlib_inflate/infblock.o
   CC      lib/zlib_inflate/infcodes.o
   CC      lib/zlib_inflate/inffast.o
   CC      lib/zlib_inflate/inflate.o
   CC      lib/zlib_inflate/inftrees.o
   CC      lib/zlib_inflate/infutil.o
   LD      lib/zlib_inflate/zlib_inflate.o
   LD      lib/zlib_inflate/built-in.o
   LD      lib/built-in.o
   CC      lib/ctype.o
   CC      lib/string.o
   AR      lib/lib.a
   AS      arch/mips/lib/memcpy.o
   AR      arch/mips/lib/lib.a
   GEN     .version
   CHK     include/linux/compile.h
   UPD     include/linux/compile.h
   CC      init/version.o
   LD      init/built-in.o
   LD      .tmp_vmlinux1
 fs/built-in.o(.text+0x92f74): In function `yaffs_internal_read_super':
 : undefined reference to `nandmtd_WriteChunkToNAND'
 fs/built-in.o(.text+0x92f78): In function `yaffs_internal_read_super':
 : undefined reference to `nandmtd_WriteChunkToNAND'
 fs/built-in.o(.text+0x92f7c): In function `yaffs_internal_read_super':
 : undefined reference to `nandmtd_ReadChunkFromNAND'
 fs/built-in.o(.text+0x92f80): In function `yaffs_internal_read_super':
 : undefined reference to `nandmtd_ReadChunkFromNAND'
 fs/built-in.o(.text+0x92f8c): In function `yaffs_internal_read_super':
 : undefined reference to `nandmtd_EraseBlockInNAND'
 fs/built-in.o(.text+0x92f90): In function `yaffs_internal_read_super':
 : undefined reference to `nandmtd_EraseBlockInNAND'
 fs/built-in.o(.text+0x92f94): In function `yaffs_internal_read_super':
 : undefined reference to `nandmtd_InitialiseNAND'
 fs/built-in.o(.text+0x92f98): In function `yaffs_internal_read_super':
 : undefined reference to `nandmtd_InitialiseNAND'
 make: *** [.tmp_vmlinux1] Error 1


what is somthing wrong ?

=========================================================================
    then i downloaded the newest yaffs2 
the following is my steps :
all of transport is passed


1. i boot my board using jffs2 filesystem as root filesystem 
 # cat /proc/mtd 
 dev:    size   erasesize  name
 mtd0: 03c00000 00020000 "User11 FS"
 mtd1: 00100000 00020000 "YAMON"
 mtd2: 002c0000 00020000 "raw kernel"
 mtd3: 00800000 00004000 "NAND FSa 0"
 mtd4: 03800000 00004000 "NAND FSa 1"


2. using the tools "flash_eraseall /dev/mtd6 ",passed

3. # mount -tyaffs /dev/mtdblock4 /mnt/
yaffs: dev is 32505860 name is "mtdblock4"
yaffs: Attempting MTD mount on 31.4, "mtdblock4"

4. then there are erros when copying  data to mnt's directory 
   the questions :
 when copy less 120k data , no errors,and the data is correct after i reboot 
 however , copying more 100k data ,there are the following errors:
 ===========================================  
 **>>mtd ecc error unfixed on chunk 113984:0
 **>>mtd ecc error unfixed on chunk 113984:1
 **>>Block 3562 marked for retirement
 **>> yaffs chunk 114016 was not erased
 **>> Erasure failed 3563
 **>> Block 3563 retired
 ......
 **>> yaffs chunk 416 was not erased
 **>> Erasure failed 13
 ......
 yaffs tragedy: no more eraased blocks
 !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
 ......
 **>>mtd ecc error unfixed on chunk 1375:0
 **>>mtd ecc error unfixed on chunk 1375:1
 **>>Block 42 marked for retirement
 yaffs tragedy: no more eraased blocks
 !!!!!!!!! Allocator out !!!!!!!!!!!!!!!!!
 =========================================
 then i try to exc command "df"
 /mnt # df
 Filesystem           1k-blocks      Used Available Use% Mounted on
 /dev/mtdblock0           61440     27308     34132  44% /
 tmpfs                      512        60       452  12% /var
 /dev/loop1                1244      1244         0 100% /root/test
 /dev/mtdblock4           57344     57344         0 100% /mnt


 exc command  "reboot" 
 /mnt #df
 Filesystem           1k-blocks      Used Available Use% Mounted on
 /dev/mtdblock0           61440     27308     34132  44% /
 tmpfs                      512        60       452  12% /var
 /dev/loop1                1244      1244         0 100% /root/test
 /dev/mtdblock4           57344     57344         0 100% /mnt


why ...
what is somthing wrong ?

please help me out ...




howhowwork
2006-12-13




howhowwork
2006-12-13