
Zitat von
danisahne
Ansonsten müßte halt klar sein:
/ : alle Änderungen gehen beim Firmware Update drauf (bzw. Neustart, wenn keine externe storage angegeben
/srv : Änderungen bleiben erhalten
/var : Ramdisk wie bisher; alle Änderungen überleben keinen Neustart
Ok, folgende Szenarien haben wir also:
- FB ohne persistenten Speicher (außer Flash)
- FB mit lokal angebundenem USB-Stick
- FB mit gemountetem NFS-Share
- FB mit gemountetem SMB-Share
- FB mit lokal angebundener USB-Platte
Bei 1. braucht man nur / mit einem Storage im RAM zu hinterlegen.
Für 2. gilt das eigentlich auch, allerdings ist das Storage auf dem Stick. Dabei sollte vorsichtshalber vermieden werden, irgendwelche Daten mit hoher Änderungsrate in das Storage zu schreiben, sonst hat man nach ein paar Wochen den USB-Stick gehimmelt. Als Option sollte hier eine zusätzliche Ecke für Daten vorgesehen werden. Eine 2. Partition auf /var/lib gemountet, bietet sich hier z.B. an. (mount mit noatime) Allerdings muß hier noch ein Weg gefunden werden, die Funktionalität der FW (automount, webfrontend und ftp-server verteilt die Daten) abzuschalten oder parallel zu nutzen.
Zu 3. fällt mir spontan ein, dass man mit o=soft mountet. Als Partitionen bieten sich für / und /var/lib separate exports an. Als Swap könnte man sich auch eine Datei unter /var/swap anlegen und die dann mounten (Bsp. hier).
4. stelle ich mir problematisch vor, wegen der Dateirechte.
Und 5. ist der Königsweg mit / auf einer Systempartition, extra Swap und einem Bereich /var/lib für die Daten. (auch hier wäre ein override der Funktionen der originalen FW nötig)
Im weiteren würde ich eine zweiteilige Strategie mit der Firmware fahren und Pakete einteilen in die Kategorieen:
a) sinnvoll nur als statisches Paket, da für die Grundfunktion der FB erforderlich (dropbear, callmonitor, ...)
b) sinnvoll nur als dynamisches Paket, da ohne externen Speicher nutzlos (samba, php, perl, apache, ...)
c) der ganze Rest (also Mischformen, die irgendwie überall Sinn machen könnten (vsftp, bftp, ...)
Für a) würde ich in keinen Fall Pakete für IPKG erstellen, aber Einträge in die IPKG-Datenbank (wegen dependencies) machen. Bei b) ausschließlich Pakete und c) ist imo zu untersuchen. Es könnte für c) Sinn machen, die Pakete quasi virtuell zu installieren; d.h. in die Firmware und in die IPKG-Datenbank aufzunehmen und parallel IPKG-Pakete zu erstellen.
Letztlich wäre also a) und c) etwa das Gleiche, nur b) wäre ganz was anderes.
MFG pTweety