mini_fo
Mini_fo Webinterface mini_fo ist ein Overlay-Dateisystem vergleichbar mit UnionFS, welches von diversen Live-Distributionen (z.B. Knoppix) bekannt ist. Vereinfacht ausgedrückt, lässt sich damit ein schreibgeschütztes Dateisystem beschreibbar machen. Natürlich kann man auf dem schreibgeschützten Medium nicht wirklich (physisch) schreiben: Änderungen werden an anderer Stelle gespeichert, was aber für den Anwender derart transparent geschieht, dass er davon eigentlich nichts merkt - sondern wirklich den Eindruck eines einzelnen, beschreibbaren Mediums hat.
Konfiguration (Webinterface)
Das Paket wird über das Webinterface konfiguriert. Hierbei kann der Speicherort für die Änderungen ausgewählt werden. Entweder RAM (flüchtig) oder JFFS2 (reboot resistent). Bei Auswahl der Option JFFS2 muss genügend freier Speicherplatz verfügbar sein (die Daten werden gzip komprimiert abgespeichert):
root@fritz:/var/mod/root# df /dev/mtdblock5 Filesystem 1K-blocks Used Available Use% Mounted on /dev/mtdblock5 3200 2612 588 82% /sto
Das Paket kann nur durch einen Reboot de-/aktiviert werden.
Konfiguration (per Hand)
mini_fo ist ein Kernel-Modul, das man entweder ohne Argumente mit insmod lädt…
insmod mini_fo
…oder in der Freetz-Oberfläche in Modules einträgt, damit es beim Start geladen wird:
mini_fo
Ist es aktiv steht der mount-type 'mini_fo' zur Verfügung. Um /usr/www beschreibbar zu machen genügt diese Zeile in rc.custom:
mkdir -p /tmp/usrwww /tmp/usrwww-sto && \ mount -o bind /usr/www /tmp/usrwww && \ mount -t mini_fo -o base=/tmp/usrwww,sto=/tmp/usrwww-sto minifo /usr/www
Im Pfad /tmp/usrwww-sto befinden sich dann jegliche Änderungen.
Mögliche Nebeneffekte
Ein Firmware-Update scheint mit geladenem mini_fo Modul nicht mehr zu funktionieren (getestet mit 7170 4.8x). Es gibt keine Fehlermeldung aber die Box hängt vor dem Herunterfahren und der Flash-Vorgang kommt nie zustande. Daher sollte man vor einer Firmware-Aktualisierung ohne mini_fo booten.
Wird mini_fo auf einer Box ohne JFFS2-Partition betrieben fängt es auch Schreibzugriffe auf /data ab, zumindest bis ein USB-Stick gemountet ist. In /sto/mini_fo taucht dann data/tam/config und data/tam/rec/ mit dem Datum 2000 (also vor Zeitsync) auf. Dieser Nebeneffekt ermöglicht es Anrufbeantworter ohne JFFS2-Partition und ohne USB-Stick zu testen, z.B. zur Weiterleitung per Email mit anschließender Löschung. Dabei sollte man die Aufnahmelänge begrenzen damit der RAM-Speicher nicht versehentlich aufgebraucht werden kann.
Restore original file
The modified files are stored here (trunk version):
/sto/mini_fo/...
So for example a modified /usr/sbin/blkid is stored as /sto/mini_fo/usr/sbin/blkid.
If you remove the latter one, the original one will reappear in your file system.
Siehe auch
- diesen Thread im Forum.
- mini_fo project page.
