There's a system that a customer has that runs our software that is just going to be powered off at arbitrary times. UPS is not an option because the unit is moved from place to place.
Think of it as a psuedo-embedded system. It's headless and has no internet/lan connections, meaning that until the customer followed our instructions to remotely debug, no one had so much as logged in for several boot cycles before the problem arose.
The system uses, among other things, USB to serial converters running FTDI drivers. Recently the system was working great, and as expected, was powered off, then came up using uhci_hcd drivers for USB to serial converters.
Clearly something went wrong on shutdown and left the filesystem in some sort of bad shape.
Is there any way around this? I'm not concerned about guarantees for our software, I want to guarantee OS stability and consistency.
Do we need to rethink Ubuntu 10.04? I know it's a bit overkill if we don't even log in 99% of the time, but the driver support seems a little better and the installation is perhaps a little nicer than other distributions.
Does anyone have experience hardening a system in this manner? Things on my list would include automatically resolving file system checks with no user interaction, uninstalling unneeded packages that might cause configuration/timing issues, etc.
To be clear, data loss is NOT a concern -- always booting up into the same configuration is a top priority.
Any good resources for reading up on this? I don't even know what I would search for exactly -- I haven't done a ton in the way of hard core sysadmin stuff in the past.