I picked up two SheevaPlugs back in 2009. Early on, I moved the root file system to an 8GB SDHC card (ext3 file system). To increase the available space and reduce wear on the SDHC card, I moved /home and /var to an external USB harddrive. I intended upgrading the kernel or switching to a full Debian install but never got around to it. One of the SheevaPlugs has been serving as a file, networking caching and backup server since then with relatively few problems other than a failed power supply that I replaced by an external 5V power supply.
I rebooted the server last week and noticed the lighttpd daemon would not start because the configuration file was corrupted. I had noticed a message during the boot that I should run e2fsck against the root file system. Although the file date was 2009, about 10 characters within the file had changed sometime in the previous week, suggesting that the flash was failing. Although there are a lot of cloning applications available, I happen to have ChkFlsh (http://mikelab.kiev.ua/index_en.php?page=PROGRAMS/chkflsh_en
) which not only tests flash cards but also support creating and restoring flash card image. I was unable to get the SheevaPlug to boot properly with either the cloned or original SDHC card. In addition to I/O errors on the harddrive, I could not get the Ethernet connection up and /dev did not look at all right.
I ran fsck/e2fsck against the external harddrive from another Linux system (no errors). I decided to run e2fsck against the cloned 8GB SDHC card and was horrified to see a large number of inode and other errors, all of which e2fsck claimed it corrected. The problem was not due to the cloning - the same errors showed up on the original SDHC card. The good news is that the repaired SDHC card booted successfully and seems to be working just fine. What is odd is that the original SDHC card passed a 10 hour Full Pattern read/read test with no errors.
The morale of the story: with SDHC cards, no news is not always good news. I will be regularly cloning the SDHC card and running e2fsck. I might even build a current Debian system.