If you ever go into an IT-related industry or work on large multi-system software projects, graceful shutdown procedures will become a norm. At work we can get some nice graceful startup/shutdown times, but it takes many hours of tweaking.
As for using RAMDISK, that’s not as straightforward as one might think. For one, most default Linux installs take 1Gb-2GB of total disk space, which would then be put into RAM (unsure of this Ubuntu image though). Then, any changes that are made to the O/S or program settings would have to be re-compressed and re-deployed as the O/S image for RAMDISK to open up at runtime. Usually the data directories (such as /home) and in this case FRC-related application directories (such as /opt) are NFS (network file system) mounted and are actually located on another computer – yet I wouldn’t recommend it for a live FRC field environment. Ergo, the data directories would then have to go somewhere – presumably still on the SD card that’s potentially causing the root issue anyways.
Interestingly, this type of platform (real-time processing on a dynamic system that has weight/space/power constraints) is perfect for a Net-booted disk-less architecture (assuming you’re running with enough memory). It’s even better when one considers scaling up to over 30,000 individual sensors. Unfortunately, the network has to be very, **very ** (maybe even another very…) reliable for it to work.