2016-04-13 11 views
2

Ich habe ein paar Fragen über die "Read-only-rootfs" -Funktion aus dem YoCto-Projekt, die Dokumentation ist leider nicht so hilfreich. SoRead-only Dateisystem auf yocto

fügte hinzu, dass auf der EXTRA_IMAGE_FEATURES macht die yocto fs nur lesen, aber in:

5.15.3. Areas With Write Access 

With the read-only-rootfs feature enabled, any attempt by the target to 
write to the root filesystem at runtime fails. Consequently, you must make 
sure that you configure processes and applications that attempt these types 
of writes do so to directories with write access (e.g. /tmp or /var/run). 

sie sagen, dass einige Bereiche rw gemacht werden könnten, aber sie bieten keine zusätzlichen Informationen über diese.

Was ich erreichen möchte, sind alle Operationen, Prozesse und Sachen, die in RAM geladen werden, und die SD-Karte sollte unberührt bleiben, als ob sie nach dem Flackern wäre und kein einziges Bit darauf schreiben würde. Aber der Benutzer sollte die Möglichkeit haben, einen bestimmten Ordner (Speicherbereich) auf der SD-Karte rw zu drehen, wann immer er will und etwas schreiben, dann das System read-only wieder einschalten.

Hat jemand zufällig das getan? Du wirst mir sehr helfen.

+0

Hallo, in sich Bereiche mit TMPFS rw montiert erlaubt sein wird, wie er sagte/tmp ,/var/run und andere, die dafür konfiguriert sind. Wenn Sie ein Dateisystem verwenden möchten, um ro und schließlich RW kann für UbiFS suchen. –

Antwort

1

Standardmäßig sollte Yocto alle benötigten RW Mounts als tmpfs erstellen. Diese befinden sich im RAM und sind daher flüchtig (gelöscht beim Herunterfahren/Neustart).

Zum Speichern von Daten persistent habe ich folgende Vorgehensweise umgesetzt:

  • Die RootFS ist auf einem RO-Partition des persistenten Speichers montiert. Diese Partition bleibt während der Laufzeit "unberührt".
  • Daten, die während der Laufzeit geändert/geschrieben werden müssen (wie Konfigurationen, Protokolle usw.), werden auf einer zweiten Partition des persistenten Speichers gespeichert. Diese Partition in RW montiert.
  • Configs, die standardmäßig auf dem RootFS sind, aber geändert werden müssen, werden auf die zweite Partition verschoben und durch Symlinks zu diesen Dateien ersetzt.
  • Die zweite Partition wird automatisch mithilfe einer benutzerdefinierten fstab-Datei bereitgestellt, die über eine base-files_*.bbappend hinzugefügt wird.

Es können auch andere Ansätze, um diese zu erreichen, aber diese Lösung arbeitet ohne Schwierigkeiten seit Jahren ;-)