Ideal solution for Compact flash hdd

I have made a digital picture frame (DPF).
The system is running off a 2GB Sandisk CF-card in a CF>IDE adaptor. The system drive is formatted ext2 which may not be the best option but overall it works quite well. However there is one problem, sometimes I get the following error:
hdb: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }
This can cause the system to crash and have problems booting up again.

Fortunately for me I have the whole system backed up on a image file. And I can copy the whole system back in a clean state on the CF-card. However this operation "dd if=image.file of=drive conv=noerror,sync" does not work after a system crash. Instead I have to format the card a couple of times before I can copy the system back without any errors.

Actual questions
This is what puzzles me a bit. If the drive was truly corrupt how can the above work? And if it's not corrupt how come it won't copy the system without errors from the start?

Also I'm looking for a more stable solution. Ideally I would have a write protected system on the DPF and only do maintenance via qemu (if that's at all possible). Any thoughts on how to do this/is it a good idea?

0
Syndicate content