
On Fri, 25 Apr 2003 10:13:42 +0200, Wolfgang Denk wd@denx.de wrote:
OK, so where to I stand now?
- My kernel correctly identifies the D.O.C but for some reason manages
to mount it only partially. /dev/mtdchar0 is non functional, but /dev/nftla seems to work between reboots. I can correctly partition the D.O.C using fdisk, and the format is kept when I leave fdisk and re-run it, btu once I reboot, all the partitioning done is lost.
That rings a bell to me. We fixed exactly such a problem once.
In the old version of the code some internal data structures of the NFTL driver, which are initialized only at boot-time, become invalid after you run nftl_format.
See my message "DOC / NFTL problem, and fix" from Aug 28, 2002, to the MTD mailing list: http://lists.infradead.org/pipermail/linux-mtd/2002-August/005853.html I don't know if they ever accepted the patch, and/or if it is included with your version of the MTD tools. Just in case I attach this patch again below.
OK, I've taken the patch, and it's not in the latest linuxppc_2_4 tree on which I'm working (when I began working, this was 2.4.20-pre7 I think its now in -rc1).
I had to do only minimal changes (one actually - ioctl no. 9 and 10 were occupied, so now your MEMREVALIDATE ioctl is now 11 instead of 9).
Surprisingly (or not...), my /dev/nftla partition now works! I formatted it under ext2 and it survived reboots without getting corrupted.
Now I have another problem - when I write my working kernel on the doc at sector 0, and read it back, booting it fails with a CRC error, and 'cmp' fails.
when I look at the first 16-32 bytes before/after saving/loading the image on the DOC, it seems that the corruption is only at part of the image, and that its reproducible (retrying get the same corruption).
I think this part of my questions should be sent to the MTD list I guess.
Peeking at the latest CVS code for MTD, it seems the codebase got very far off the MTD snapshot we use.
Agreed.
Best regards,
Wolfgang Denk
thanks, Udi