
Ich entwickle ein eingebettetes Linux (es ist jetzt fast fertig). Was mir Probleme bereitet, ist, dass das System durch häufige Stromausfälle instabil wird und nicht mehr bootet. Es funktioniert nicht einmal fsck
.
Das System verfügt lediglich über ein XFCE mit einer automatisch geladenen festen Qt-App zum Anzeigen einiger Diagramme.
Meine Frage ist, wie kommerzielle eingebettete Linux-Distributionen (wie WLAN-AP-Management-Linux usw.) dieses Problem vermeiden?
Hast Du eine Idee?
Antwort1
Die meisten machen eines von zwei Dingen:
Sie führen das Hauptdateisystem entweder nur schreibgeschützt aus und verfügen über einen separaten Bereich zur Speicherung von Daten, der schreibgeschützt gemountet ist.
oder
Sie haben das Hauptdateisystem in einer Datei komprimiert, die beim Booten in eine RAM-Disk entpackt wird.
Dies bedeutet, dass das Dateisystem immer im gleichen Zustand ist, egal was passiert. Man muss sich nur um den kleinen Konfigurationsspeicherbereich kümmern, und dieser kann ein Dateisystem haben, das sich über Stromausfälle nicht allzu viele Gedanken macht.
Ein weiterer Tipp besteht darin, den gesamten Cache auf der Speicherpartition zu deaktivieren, damit alle Änderungen sofort auf die Festplatte geschrieben werden.
Antwort2
Ja, im Allgemeinen ist das nicht der Fall.
Im Grunde hat wahrscheinlich jeder schon einmal einen Defekt an eingebetteten Geräten gehabt – egal, ob es sich um Netzwerkgeräte, IP-Geräte oder andere handelt.
Einfach ausgedrückt: Erstellen Sie Ihre Anwendung so gut wie möglich – das ist alles, was Sie als Entwickler tun können.
Versuchen Sie, Ihre Anwendung so robust wie möglich zu gestalten – führen Sie Fehlerprüfungen auf höchster/jeder Ebene durch. Wenn Sie beispielsweise eine Konfigurationsdatei benötigen und Ihre Anwendung ohne diese nicht ausgeführt werden kann, geben Sie einen Signalton/eine Rückmeldung aus, wenn die Datei nicht gefunden wird – informieren Sie den Benutzer darüber.
Die nächste Ebene kommt wirklich von Ihrem Hardwarehersteller – Redundanz oder Robustheit sind der Schlüssel. Und stellen Sie auch hier sicher, dass der Hardwareanbieter die oben genannten Ideen befolgt, wie z. B. Fehlerprüfung/ausführliches Feedback, damit die Leute wissen, warum bzw. was die Ursache für den Fehler ist, wenn etwas fehlschlägt.
Ich bin nicht so sehr ins Detail gegangen, aber ich hoffe, dass dies hilft und Sie in die richtige Richtung weist.