Hi Chase, Thanks for the tip about disabling HW ECC.
I tried doing what it says on the Wiki page (setting .eccmode = NAND_ECC_SOFT as I have LSP >=1.20, the kernel config option is not there anymore). I then patched the yaffs2 with a CVS checkout of the YAFFS2 source which is 'as of' 21&23 July 2008 (for yaffs_fs/yaffs_guts) according to the CVS Id tag. I get a little further than Jon, in that I can mount a blank partition as yaffs2 and load a file system from a .tgz file without error. When I umount I get a 'isCheckpointed=1' so all seems OK. However, when I remount, the mount segments. I have tried rebooting and the result is exactly the same. Any ideas what to try next? What I don't understand is the Wiki page says the HW ECC should be disabled for YAFFS to work - how come the YAFFS2 that is in the kernel tree 'as shipped' appears to work without the HW ECC being disabled? YAFFS built:Jul 29 2008 09:17:10 $Id: yaffs_fs.c,v 1.68 2008-07-23 03:35:12 charles Exp $ $Id: yaffs_guts.c,v 1.59 2008-07-21 01:03:19 charles Exp $ [EMAIL PROTECTED]:~# mount -t yaffs2 /dev/mtdblock4 /mnt/nand yaffs: dev is 32505860 name is "mtdblock4" yaffs: passed flags "" yaffs: Attempting MTD mount on 31.4, "mtdblock4" Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c57b0000 [00000000] *pgd=855d3031, *pte=00000000, *ppte=00000000 Internal error: Oops: 817 [#1] Modules linked in: CPU: 0 PC is at nand_davinci_select_chip+0x3c/0x44 LR is at nand_read_oob_hwecc+0xd4/0x32c pc : [<c01c1f8c>] lr : [<c01be298>] Not tainted sp : c52eba08 ip : c52eba18 fp : c52eba14 r10: c08fd800 r9 : fffffcb2 r8 : c08fd980 r7 : fffffcb2 r6 : 20820000 r5 : 00000000 r4 : 80000000 r3 : c07f0d60 r2 : c08fd980 r1 : fffff2c8 r0 : 00000000 Flags: Nzcv IRQs on FIQs on Mode SVC_32 Segment user Control: 5317F Table: 857B0000 DAC: 00000015 Process mount (pid: 1124, stack limit = 0xc52ea1a0) Stack: (0xc52eba08 to 0xc52ec000) ba00: c52eba6c c52eba18 c01be298 c01c1f60 c0495980 00000005 ba20: c52eba44 c52eba30 20820040 fffffcb2 c52ea000 fffff2c8 96441040 00000000 ba40: c0123e20 20820000 fffffcb2 c066be00 c52ebb18 00020000 fffffcb2 00000000 ba60: c52eba9c c52eba70 c01b7ae4 c01be1d4 00000040 c52ebabc c2494360 c4bbb000 ba80: c3013000 c066be00 c4bbb000 00000000 c52ebb0c c52ebaa0 c0132114 c01b7a4c baa0: 00000040 c52ebabc c2494360 c2494360 00000000 00000000 00000000 00000000 bac0: 00000021 00000002 00000040 00000800 c52ebd16 00000001 ee719bed 00000000 bae0: c274442e c4bbb000 be590002 c27481c8 000081c8 00000001 00017e00 c02f85bc bb00: c52ebbd4 c52ebb10 c012ff6c c0131fdc 00000000 00000021 00000000 00000000 bb20: 00000000 00000000 00000000 00000000 00000000 55555555 aaaaaaaa 00000001 bb40: 00000002 00000001 00000800 00000003 00000000 00000000 00000000 00000021 bb60: aaaaaaaa 00000001 00000002 00000040 00000800 00000003 00000000 00000000 bb80: 00000000 00000021 00000000 00000000 00000000 00000000 00000000 00000000 bba0: 00000000 55555555 c0128d74 000b3b3b 00000000 0000018e 00000000 00004033 bbc0: 00017e00 00000000 c52ebc74 c52ebbd8 c012d970 c012feac 0000000a 00000003 bbe0: 00000000 00000003 c52ebc0c 00002fc0 c4bbb000 3837a1d0 c5444000 c4bbb000 bc00: c52ebc44 c52ebc10 c012a180 c00566d8 488ed76c 3837a1d0 00002fc0 c4bbb000 bc20: 00000028 00002c49 0000008e 00000013 000b3b3b 00000000 0000018e 00000000 bc40: 00004033 00000000 c4bbb000 c6c9bcfc c4bbb000 c3013800 0000000a 00000046 bc60: 00000000 c02f85bc c52ebd24 c52ebc78 c012e388 c012d7d4 000024f9 000024f9 bc80: c02ef204 60000013 ffffdb07 00000000 00000031 c52ebcd4 000024f9 c52ebcb0 bca0: c0051ca0 00000000 60000013 ffffffff c52ebcd4 00000000 c52ea000 60000013 bcc0: c02ef200 c02ef208 c52ebd04 c52ebcd8 c0051f5c c0051b2c c52ebcf4 c52ebce8 bce0: c02f85bc c02ae824 c6c9b600 c52ebd40 00000000 00000002 c52ebd14 c4bbb000 bd00: c066be00 c6c9b600 c02f85bc 00000000 00000000 00000002 c52ebda4 c52ebd28 bd20: c0126180 c012de28 00000000 00000000 00000000 c6c9b730 00000006 00000020 bd40: 00000000 00000000 00000000 00000000 6264746d 6b636f6c 00000034 00000000 bd60: c52ebf00 00000000 c52ebd84 c6c9b730 00000009 00000009 c52ebdb8 c048aa1c bd80: c6c9b600 c048aa00 00000000 00000000 c52ebf00 00000000 c52ebdb4 c52ebda8 bda0: c01263dc c0125ac8 c52ebdfc c52ebdb8 c009a050 c01263c8 6264746d 6b636f6c bdc0: c6b30034 00000000 c52ebf00 c715ad60 0000000f c0485ba0 c715ad60 c0485ba0 bde0: fffffff4 c02f85dc c6b36000 00000000 c52ebe14 c52ebe00 c0126408 c0099f38 be00: c01263b8 c6b36000 c52ebe3c c52ebe18 c009a290 c01263fc 00000000 c260f000 be20: 00000000 c6b36000 00000000 c07bf000 c52ebf6c c52ebe40 c00b2634 c009a244 be40: c0081e4c c0081770 c55d3894 c57b0000 c0078830 c00780a8 000000ff 000000ff be60: c57b0000 00000000 c57b0000 00000000 c52ea000 ffffffeb c250bc20 c0650300 be80: c6c0e6e0 c6c0e710 00000001 c250bc20 c52ebedc c52ebea0 c003def0 c0147284 bea0: 000000b0 c250be88 c0081c84 c52ebf08 c52ebefc c52ebec0 c0075590 c00749e0 bec0: c02ed414 c52ebf08 60000013 00000000 c52ebf04 000001af 00000001 000000d0 bee0: c02f0d54 00000000 c52ea000 c0650300 c52ebf3c c52ebf00 c0075790 c00753a8 bf00: c50b5910 c04857e0 00000010 c07bfea0 00000000 00000001 00000001 00000000 bf20: c52ebf80 c00362f4 c52ea000 00900015 c52ebf4c c52ebf40 c00759f0 c00756b4 bf40: c52ebf6c 00000000 00000000 c260f000 c0ed0000 c00362f4 c52ea000 00900015 bf60: c52ebfa4 c52ebf70 c00b2ab8 c00b2020 00000000 00023130 c52ebfac 00000000 bf80: c6b36000 c07bf000 00000000 00024138 befffb7c 00000015 00000000 c52ebfa8 bfa0: c0035b60 c00b2a20 00000000 00024138 00024138 00024150 00024160 c0ed0000 bfc0: 00000000 00024138 befffb7c 00000000 befffb18 000218b8 00023130 befffecf bfe0: 400d0770 befffb04 0000a7f4 400d077c 60000010 00024138 9ffffeff 20000000 Backtrace: [<c01c1f50>] (nand_davinci_select_chip+0x0/0x44) from [<c01be298>] (nand_read_o) [<c01be1c4>] (nand_read_oob_hwecc+0x0/0x32c) from [<c01b7ae4>] (part_read_oob+0) [<c01b7a3c>] (part_read_oob+0x0/0xb0) from [<c0132114>] (nandmtd2_ReadChunkWith) r6 = 00000000 r5 = C4BBB000 r4 = C066BE00 [<c0131fcc>] (nandmtd2_ReadChunkWithTagsFromNAND+0x0/0x1f8) from [<c012ff6c>] () [<c012fe9c>] (yaffs_CheckpointRead+0x0/0x290) from [<c012d970>] (yaffs_Checkpoi) [<c012d7c4>] (yaffs_CheckpointRestore+0x0/0x654) from [<c012e388>] (yaffs_GutsI) [<c012de18>] (yaffs_GutsInitialise+0x0/0x141c) from [<c0126180>] (yaffs_interna) [<c0125ab8>] (yaffs_internal_read_super+0x0/0x8a4) from [<c01263dc>] (yaffs2_in) [<c01263b8>] (yaffs2_internal_read_super_mtd+0x0/0x34) from [<c009a050>] (get_s) [<c0099f28>] (get_sb_bdev+0x0/0x184) from [<c0126408>] (yaffs2_read_super+0x1c/) r8 = 00000000 r7 = C6B36000 r6 = C02F85DC r5 = FFFFFFF4 r4 = C0485BA0 [<c01263ec>] (yaffs2_read_super+0x0/0x28) from [<c009a290>] (do_kern_mount+0x5c) [<c009a234>] (do_kern_mount+0x0/0xf4) from [<c00b2634>] (do_mount+0x624/0x658) [<c00b2010>] (do_mount+0x0/0x658) from [<c00b2ab8>] (sys_mount+0xa8/0xf4) [<c00b2a10>] (sys_mount+0x0/0xf4) from [<c0035b60>] (ret_fast_syscall+0x0/0x2c) r7 = 00000015 r6 = BEFFFB7C r5 = 00024138 r4 = 00000000 Code: d5933024 d5823000 d5823004 d89da800 (e5800000) Segmentation fault [EMAIL PROTECTED]:~# Regards Phil Q Phil Quiney, Senior Software Engineer Trinity Convergence Cambridge Business Park Cowley Road Cambridge CB4 0WZ, UK T: +44(0)1223-435536 F: +44(0)1223-435560 www.trinityconvergence.com -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Maupin, Chase Sent: 28 July 2008 15:08 To: Jon Povey; [email protected] Subject: RE: YAFFS2 with checkpointing on DM355 Jon, You may want to try disabling HW ECC on your board. I have seen incompatibility issues between YAFFS and the HW ECC. Check out the following page and see if this helps: http://wiki.davincidsp.com/index.php?title=Disabling_NAND_HW_ECC_support Sincerely, Chase Maupin Software Applications Catalog DSP Products e-mail: [EMAIL PROTECTED] phone: (281) 274-3285 > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf > Of Jon Povey > Sent: Thursday, July 24, 2008 3:19 AM > To: [email protected] > Subject: YAFFS2 with checkpointing on DM355 > > Hooray, the list is back! :) > Hello again everybody. > > I want to get YAFFS2 with checkpointing working on DM355. We are using > the MV kernel which comes with a 2005 dated implementation of YAFFS2 > which does not support checkpoints leading to very slow mount times > (5.5s with my most trimmed-down filesystem so far). > > I got the latest YAFFS2 from CVS and it built, but does not work > properly: it mounts an erased partition, you can write some files to it > and unmount, but it fails to mount again: > > mount: wrong fs type, bad option, bad superblock on /dev/mtdblock3, or > too many mounted file systems > > Also if I mount a clean mtd partition and try to untar about 200MB into > it, half way through or so I start getting a lot of console messages > about blocks being retired, and eventually "Allocator out!" messages and > the partition apparently being full. Lots of blocks (seems like most) > end up being marked bad and flash_erase won't erase them (I used a JTAG > programmer to clear them). > > If anyone has faced and dealt with these issues then I'd like to hear > from you. > > My guess from googling around is that it's to do with MTD layer > incompatibility between MV and recent mainstream kernels so I was going > to see how difficult it seemed to port the MTD layer back to MV. > > The other thought is, I wonder how much work would be needed to get > Davinci git kernel working on DM355? iirc it's not yet working. > > For now I think I will be trying to make the root fs very very very > small and living with the slow mount time :( > > -- > Jon Povey, Design Engineer > [EMAIL PROTECTED] | +44(0)1280 825983 > > > Racelogic is a limited company registered in England. Registered number > 2743719 . > Registered Office Unit 10, Swan Business Centre, Osier Way, Buckingham, > Bucks, MK18 1TB . > The information contained in this electronic mail transmission is intended > by Racelogic Ltd for the use of the named individual or entity to which it > is directed and may contain information that is confidential or > privileged. If you have received this electronic mail transmission in > error, please delete it from your system without copying or forwarding it, > and notify the sender of the error by reply email so that the sender's > address records can be corrected. The views expressed by the sender of > this communication do not necessarily represent those of Racelogic Ltd. > Please note that Racelogic reserves the right to monitor e-mail > communications passing through its network > _______________________________________________ > Davinci-linux-open-source mailing list > [email protected] > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
