[Problem] TFFS-Problem,keine Übernahme neuer Einstellungen

capt_bluebaer

Neuer User
Mitglied seit
10 Mai 2007
Beiträge
76
Punkte für Reaktionen
0
Punkte
6
Hallo Leute,

habe jetzt vor ein paar Tagen den mc/screen auf meiner 7390 installiert. Dazu hatte ich einige Konfigurationseinstellungen in der .profile (diese war vorher leer) über's WebIF gemacht. Nach dem Übernehmen kam das obligatorische "Saving mod/_profile ... done. Writing 32404 bytes to /var/flash/freetz ... done." Problem: Nach einem Reboot war die .profile wieder leer.
Im zweiten Schritt habe ich sie neu erstellt, gespeichert. Nach Auspacken auf dem PC einer Sicherung der Konfiguration finde ich dort die .profile mit 1 Byte Größe. Hab dann mal zum Überprüfen eine andere Paket-Konfiguration erweitert (tinyproxy), diese überlebte einen Reboot auch nicht. Ändere ich eine vorhandene Konfigurationszeile ist alles OK, die ist nach einem Reboot auch weiterhin gültig.
Frage: Liege ich irgendwie mit meinen 32404 Bytes zu hoch, die Grenze liegt doch bei 32768 Bytes?
Oder muß ich den Flash-Speicher mal irgendwie formatieren/initialisieren, oder was auch immer?
Stehe im Moment auf dem Schlauch.

 
Ob du wirklich an die Grenze kommst kannst du doch leicht ausprobieren indem du temporär was aus der Konfiguration entfernst. In /var/tmp/flash kannst du dir die Konfigurationen bzw. diffs anschauen.

Wir können leider nicht feststellen, ob das Schreiben der Konfiguration funktioniert. Deshalb wurde eine Heuristik eingebaut, die die Daten per gzip komprimiert und prüft, ob sie in das Character Device passen. Evtl. ist diese Prüfung nicht aufs Byte genau...

Gruß
Oliver
 
Vermutlich hast Du Recht mit der nicht-aufs-Byte-genauen Prüfung. Habe Deinen Vorschlag ausgeführt und komme auf 32330 Bytes, die ich schreiben kann, darüber hinaus ist Sense. Liegt wohl an unterschiedlichen gzip-Kompressionsverhalten, der busybox gzip kommt z.B. zu anderen Ergebnissen als der gnu gzip und was da im Character Device werkelt weiß ich nicht.
Was mich interessiert ist, warum eine Datei im Character-Device nicht größer als 32 kb sein darf. Platz ist im TFFS doch noch genug.
Hier aus dem Ticket und hier aus dem Changeset geht zwar hervor, daß es sich um eine TFFS-2 Restriktion handelt, mehr aber nicht. Und selbst Tante Google konnte mir da nichts Neues lehren.
Btw. Zertifikate scheinen ja wahre Speicherfresser zu sein, deshalb ist mein Workaround, alle openvpn- und stunnel-Zertifikate in das external-Verzeichnis im NAND zu verschieben und per Symlink in /var/tmp/flash darauf zu verlinken. Somit sind sie auch Reset-fest und bleiben auch im Webif weiterhin konfigurierbar. Einziger Nachteil ist, daß sie beim Sichern der Settings nicht mit gespeichert werden, aber damit kann ich Leben, da die Originale auf meinem Rechner liegen. Wichtig dabei ist, daß der Symlink auf den Realpfad /var/media/ftp/external zeigt und nicht auf den weiteren Symlink /var/mod/external, den letzterer ist wird erst nach Starten der Pakete aktiv.
Mein flash ist jetzt nur noch 14280 kb. :)
 
Was mich interessiert ist, warum eine Datei im Character-Device nicht größer als 32 kb sein darf. Platz ist im TFFS doch noch genug.
Ist halt eine Begrenzung des TFFS-Dateisystems. Wenn es dich wirklich interessiert musst du in den Kernelsourcen nachschauen.

Gruß
Oliver
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.