I have read here and there that improper shutdown can cause the uSD card to get corrupted causing the device not to be able to boot up again. I don't know if this applies to nand flash as well. I am new to embedded Linux and need to get this sorted out before I keep going down this so far wonderful new road.
In other words lets say I created a headless product that controls a doorway latch. It had an RF ID tag reader to let people in and out. A storm comes through and the power goes out. Since my device did not have time to properly shutdown do I run the risk of it not starting back up when the power comes back on because the storage media got corrupted ? I dont mind if I had say log files open that got corrupted, I just need to make sure the system will boot back up again. I can't have a bricked unit.
If this is true, is there a way around this other than using a UPS or battery ?
I would think there just has to be. Who would sell a product knowing that it could be bricked because either the user yanked the battery while it was on, or did not install it on a UPS. Would any of you pay thousands of dollars for a 60" TV that had the risk of not starting back up because the power glitched. Most of us do not have our TV on a ups.
With these thoughts in mind what are these manufacturers doing to keep their product from being bricked.
Good luck with that...
1. I would NEVER lay the security or the access permission only into the hands of a system, that has never been tested under these conditions or even in this application.
2. I would create some kind of redundacy. Think about a car: you might have a remote opening key, but you always have the possibility to open up your car with the "normal" key or something else. A parallel emergency system is absolutly essential.
3. UPS is indispensable. Think about the case of a power cut-off: you (or better: your system) will have to be able to operate at least until you switched over to your emergency locking system. This will give you additional time to shut down your Cubie in a safe way.
In my application (network file server) I have a UPS similar to the battery if a laptop. From my POV a UPS can be seen exactly like that... Now I monitor the battery state-of-charge continously. If it is getting empty, a regular shutdown is forced and everything is fine.