Nota: esta resposta é da perspectiva de um ambiente de produção onde a perda de dados ou o tempo de inatividade pode levar a perda de dinheiro, clientes, mau funcionamento de equipamentos industriais etc. Se você está apenas mexendo com um Raspberry Pi em casa, diga que não há problema ...:)
Eu não recomendaria o Ubuntu em sua configuração padrão, e o sistema de arquivos ext4 (padrão) por design, para um ambiente embarcado onde haveria desligamentos repetitivos "sem graça" como você sugere.
Se eu estiver correto, você está usando o Ubuntu 8.04, que suporta, na melhor das hipóteses, o ext3. Enquanto os dois ext3 / ext4 usam journaling como uma maneira de manter a integridade do arquivo (write) e ajuda na recuperação, isso não deve ser considerado quando "puxar o cabo de energia" é a regra, e não a exceção.
- A opção ideal, supondo que seu sistema não precisará de reconfiguração dinâmica depois de configurado, é montar seu sistema de arquivos raiz somente leitura e usar inteiramente uma partição temporária na memória quando operacional (como o LiveCD faz). Nesse caso, o sistema retornaria à sua configuração "inicial" sempre que for inicializado.
- Para armazenar (uma quantidade limitada de) dados do usuário de maneira não volátil, você pode criar uma partição secundária, talvez usando um sistema de arquivos otimizado para mídia flash como JFFS2, dependendo da estrutura interna do cartão CF. Para reduzir as chances de corrupção de dados, basta desconectar o cache de gravação de hardware do dispositivo e montá-lo no modo síncrono (sincronização), desativando o cache de gravação pelo kernel. Estas opções podem afetar gravemente o rendimento e o desempenho, mesmo em um cartão CF de "alto desempenho", de modo que você também deve levar em consideração o uso pretendido.