Zajmuję się tworzeniem wbudowanego systemu Linux (jest już prawie skończony). Mam problem z tym, że system staje się niestabilny przez częste odcięcie źródła zasilania i już się nie uruchamia. To nawet nie działa fsck
.
System ma tylko XFCE ze stałą, automatycznie ładowaną aplikacją Qt, aby wyświetlić niektóre wykresy.
Moje pytanie brzmi: w jaki sposób komercyjne wbudowane dystrybucje Linuksa (takie jak Linux zarządzania Wifi AP, ...) unikają tego problemu?
Masz jakiś pomysł?
Odpowiedzi:
Większość robi jedną z dwóch rzeczy:
Albo uruchamiają główny system plików tylko do odczytu i mają oddzielny obszar do przechowywania danych zamontowanych do odczytu i zapisu,
lub
Mają główny system plików skompresowany w pliku, który jest rozszerzany do ramdysku podczas uruchamiania.
Oznacza to, że system plików jest zawsze w tym samym stanie, bez względu na to, co się stanie. Jest tylko mały obszar do przechowywania konfiguracji, który może się martwić, i może mieć system plików, który nie martwi się zbytnio o utratę zasilania.
Kolejną wskazówką jest wyłączenie całego buforowania na partycji pamięci, aby wszystkie zmiany były natychmiast zapisywane na dysku.
źródło
Tak, ogólnie rzecz biorąc, nie.
Jeśli chodzi o to, wszyscy prawdopodobnie zawiedli urządzenia wbudowane - czy to sprzęt sieciowy, urządzenia ip czy inne.
Mówiąc najprościej, zbuduj swoją aplikację najlepiej, jak potrafisz - jako programista to wszystko, co możesz zrobić.
Staraj się, aby Twoja aplikacja była jak najbardziej niezawodna - umieść sprawdzanie błędów na najwyższym / każdym poziomie. Na przykład, jeśli masz plik konfiguracyjny, który jest potrzebny, a aplikacja nie może się bez niego uruchomić, wpisz sygnał dźwiękowy / informację zwrotną, jeśli nie zostanie znaleziony - powiadom użytkownika.
Następny poziom naprawdę pochodzi od producenta sprzętu - redundancja lub niezawodność jest kluczem, i ponownie upewnij się, że dostawca sprzętu postępuje zgodnie z powyższymi pomysłami, takimi jak sprawdzanie błędów / pełne informacje zwrotne, aby w razie awarii ludzie wiedzieli, dlaczego / co to zrobiło.
Nie wdałem się w zbyt wiele szczegółów, ale mam nadzieję, że to pomaga i wskazuje właściwy kierunek.
źródło