I have had a dead Glo for some time and finally got the courage to open it.

Started by backing up the sd card with dd and got read error.
badblocks showed me that the rootfs is corrupted but the recoveryfs and the koboreader are not.

This would explain why the factory reset did not work.
I backed up the recoveryfs partition and the partition table just in case,
and fixed the bad blocks with "e2fsck -c -c".

the mounted rootfs had only few folders(much less than the recoveryfs),
so I decided to pop the fixed card back in and try the factory reset one more time.

The recovery seemed to work - I checked the md5sums of all files listed in the fs.md5sum and they were all matching, except that I was missing one file in the rootfs: usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/fonts/Gothic MB101.otf.

The problem is that the Glo still does not start.

I cannot find any log files in the rootfs that would give me an idea what is wrong, but I find it unlikely that the device has had 2 hardware failures simultaneously.

I would appreciate any ideas about how to continue.

Can any one post the dump of the sdcard partition table?

pointers to log files, sd card image, etc would be great.
I have read that debian install is possible, has anyone attempted debian install in the rootfs and is that going to reveal any hardware problems.

The corruption could be in the unallocated area before the first partition, that space actually contains the bootloader and kernel and also other identifying data. I can upload here (there's no restriction on GPL-licensed binaries) both u-boot and the kernel taken from my image, I can't assure you though that those will be compatible with your firmware version.

by putting debug logging in the /etc/init.d/rcS I could confirm that the script is executed in full, but nothing was visible on the screen and at the end the Glo freezes (judging by the fact that the power button no longer works).

So it seems the nice pattern I have on the screen which I assumed is a result of the Glo freezing during screen refresh, is probably a symptom of a defective screen...