[Yaffs] [YAFFS1] Some bits are changed - systematically
Martin Egholm Nielsen
martin at egholm-nielsen.dk
Tue Nov 22 13:49:10 GMT 2005
Hi there,
Now, this has got to be the most vaguely described problem I've ever
reported to the world, but today I discovered that my YAFFS1 root fs had
some problems.
Suddenly I discovered that my Linux didn't boot correctly from my NAND
flash any longer. After booting from a ramdisk, and md5sum'ing files
here and there, I discovered that my /lib/libc-2.2.5.so had a wrong
checksum.
Comparing the modified libc with the "correct" version I saw that the
file was altered "systematically" in a couple of places:
Compare error at OFFSET 132010 (-132013)
Correct: 00 00 03 A4
Altered: 0F F8 4F D4
Compare error at OFFSET 132048 (-13204B)
Correct: 00 00 08 A4
Altered: 0F F8 54 D4
Compare error at OFFSET 13206C (-13206D)
Correct: 00 00
Altered: 0F F8
Hence, "00 00" was changed into "0F F8" three times, both "03" and "08"
was offset with "4C", and "A4" was changed into "D4" at two positions.
Now, the fuzzyness of the problem enters:
1) I'm not 100% that this problem occurred _suddenly_ - meaning that I
_do know_ 100% that my Linux booted properly before I encountered the
problem. However, maybe this file "libc" was "altered" on beforehand
when put on the flash. However, not explaining exactly why it booted
properly before.
2) Scanning /proc/yaffs after booting into ramdisk, and mounting the
flash, didn't reveal anything "strange to me" - e.g. eccFixed=0, and
eccUnfixed=0, and tagsEccFixed=0, and tagsEccUnfixed=397.
I know this is extremely vague, but I'm really confused and don't know
how to start finding the cause of the problem...
Any comments are welcome!
YAFFS built:Aug 1 2005 10:37:33
$Id: yaffs_fs.c,v 1.40 2005/06/25 03:22:23 charles Exp $
$Id: yaffs_guts.c,v 1.42 2005/06/25 03:22:23 charles Exp $
BR,
Martin Egholm
More information about the yaffs
mailing list