[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