Um die SD-Karte in einer Anwendung zu schützen, die einen plötzlichen Stromausfall erleiden kann, versuche ich, den Root im schreibgeschützten Modus zu mounten.
Im funktionierenden (Lese- / Schreib-) System wird unsere Vollbildanwendung durch die automatische X-Anmeldung gestartet, die ein LXDE-Autostart-Skript ausführt.
Ich habe das System hauptsächlich über die zuvor vorgeschlagene Tabelle / etc / fstab ausgeführt :
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0
tmpfs /var/lock tmpfs defaults,noatime,mode=0755 0 0
Mein Problem besteht darin, die X-Anwendung zum Laufen zu bringen. LXDE beschwert sich darüber, dass keine .xauthority- Datei erstellt werden kann. Also habe ich den folgenden Kludge hinzugefügt (beachten Sie den Zugriffsmodus!):
tmpfs /var/lib/lightdm tmpfs defaults,noatime,mode=1777 0 0
Leider funktioniert der Autostart immer noch nicht und ich starre auf den hellgrünen Bildschirm. Wenn ich versuche, mich schnell anzumelden, kehre ich zur gleichen Eingabeaufforderung zurück, und seltsamerweise scheinen die Protokolle nicht zu sagen, was der Fehler sein könnte.
Mein nächster Versuch war, auf den Fenstermanager vollständig durch eine benutzerdefinierte .xsession oder .xinitrc zu verzichten . Während dies bei der manuellen Ausführung von startx funktioniert , meldet es sich nicht automatisch für den pi- Benutzer an. Ich befürchte, dass meine Versuche, mit dem globalen / etc / X11 / xinit / xinitrc herumzuspielen, ebenfalls wenig Erfolg hatten.
Die nächste Idee war, das Standard- Lightdm-Greeter- Skript durch Verknüpfen mit dem Autostart- Skript in / usr / share / xgreeters und Bearbeiten der Datei /ect/ligthdm/ligthdm.conf durch alternative Einstellungen für Greeter-Benutzer und Greeter-Sitzung zu ersetzen . Dies schlägt mit der Meldung "Greeter Closed Communication Channel" fehl. Vermutlich gibt es ein Protokoll, das von einem richtigen Begrüßer implementiert werden soll.
Irgendwelche Vorschläge? Ich vermute, dass dies für jeden, der Erfahrung mit der Unix-Administration hat, ein Kinderspiel ist, aber ich muss meinen Kopf gegen eine Wand schlagen.
quelle
Antworten:
Ich habe verschiedene Dinge getan. Es wird automatisch mit dem Account-Kiosk gestartet
Darüber hinaus habe ich die betroffenen Startskripte so geändert, dass sie nicht in / var schreiben, sondern stattdessen / tmp-Verzeichnisse erstellt und dort Daten abgelegt ...
Als letztes habe ich LXDE total losgeworden und bin zum Fensterkragen oben gegangen. Ich habe lighttpd anstelle von monkey als Webserver verwendet, da es Aliase richtig unterstützt. Mein Browser ist Midori.
Diese Konfiguration benötigt ein wenig Arbeit, aber es funktioniert!
quelle
Versuchen Sie es
sudo chmod 777 /tmp
und auch,/var
wenn etwas anderes fehlschlägt.In meinem Fall war es das einzige, was ich tun musste.
quelle
Es ist wichtig zu verstehen, dass das Dateisystem
rw
zum Zeitpunkt eines Absturzes nicht beschädigt wird . Es wird aufgrund eines unvollendeten Schreibvorgangs zum Zeitpunkt eines Absturzes beschädigt. Wenn kein Schreibvorgang ausgeführt wird, ist Ihrrw
Dateisystem so sicher wiero
eines.Ich schlage daher vor, dass Sie Ihr Dateisystem verlassen
rw
, das Journaling aktivieren und sich keine Sorgen mehr machen. Wenn der einzige verbleibende Schreibvorgang das Erstellen der.xauthority
Datei beim Booten ist, ist die Wahrscheinlichkeit, dass genau in diesem Moment ein Absturz auftritt, bereits sehr gering, und selbst in diesem Fall wird das Problem durch Journalling höchstwahrscheinlich behoben, ohne dass Sie es bemerken.Persönliche Anekdote:
Ich habe einen SBC ohne Kopf (nicht genau Ihr Fall, aber immer noch), der als WLAN-Router verwendet wird. Meine Mutter, die von Elektrizität besessen ist, zieht jeden Abend den Stecker und steckt ihn morgens wieder ein. Das Root-Dateisystem ist
rw
, aber das Ding läuft seit Monaten ohne Probleme.quelle