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