[Info] modfs - SquashFS-Image (AVM-Firmware) ändern für NAND-basierte FRITZ!Boxen

Das ist richtig, aber in den FB ist es eben ganz neu, und nicht schon länger, daß es nicht mehr geht.
 
Das war eine FB. Auf einer anderen ohne freetz hatte ich es doch gerade getestet #1817 und da ging es auch noch.
Deshalb ist es ja doch ganz neu seit der FW 7.2x.
 
Zuletzt bearbeitet:
Ist auch möglich dass AVM neuerdings einen anderen Patch hat. Schau dir die Quellen an: http://osp.avm.de
Dort ist auch Busybox dabei
 
Ich weiß jetzt auch woher ich es übernommen hatte.
Aus der /bin/boxfeaturedisable.
In der 07.12 begann die noch so:
Code:
#! /bin/sh
local featovl_tmpfile=/var/tmp/featovl.tmp
local featovl_nodefile=/var/flash/featovl.cfg
und ab der 07.20 so:
Code:
#! /bin/sh
featovl_tmpfile=/var/tmp/featovl.tmp
featovl_nodefile=/var/flash/featovl.cfg
und sie ist exakt 12 Byte kürzer geworden. 2120->2108
 
@eisbaerin hab die letzten paar Seiten so durchgeschaut... gehts jetzt wie vorher oder was muss ich bei einer 7490 auf 7.21 beachten? Bin da erfolgreich verwirrt :p
 
gehts jetzt wie vorher
Gute Frage! Warum probierst du es nicht aus?
Ich kann es nicht beantworten, da ich es z.Z. nach der etwas anderen Methode mache: run_modscripts
Diese Methode geht nämlich neben der 7490 auch für die 7520, 7530, 7580, 7590 und andere.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: BurningCrash
Die meisten "modscripts" sollten auch mit der 07.21 funktionieren - nur bei der "E99-custom" (und dem damit verbundenen "mod_custom_images") habe ich noch nichts angepaßt (und da werde ich das wohl auch nicht mehr machen).

Ansonsten für Zusatzprogramme (wenn man die verwendet) auf statisch gelinkte Versionen zurückgreifen (was anderes stelle ich ohnehin nicht bereit), weil die noch mit der älteren C-Library erstellt sind und sich bei der Verwendung dynamischer Libraries ggf. Inkompatibilitäten ergeben.
 
Ich teste es gerade weil ich die 7490 mit 7.21 in MESH aufnehme... Ersatzbox wird ne andere wegen Super-Vectoring
 
Ich kann es nicht beantworten, da ich es z.Z. nach der etwas anderen Methode mache: run_modscripts
Ist das irgendwo im Forum beschrieben?
gehts jetzt wie vorher oder was muss ich bei einer 7490 auf 7.21 beachten?
Ich kann ja mal kurz beschreiben, welche Erfahrungen ich gemacht habe. Folgende Modifikationen wurden angewendet (immer Fehlercode=0):
- customize the original firmware with extension packages (mod_costum_images): funktioniert nicht mehr (s.o)
- enable sending of multiple fax pages in WebGUI: automatisch ausgeführt, nicht getestet
- create edit_rcuser command: nicht getestet
- enable system and branding selection from GUI (v0.6): getestet, kein Fehler gefunden
- unhide MAC by default
- enable calllog processing:
- add led display tab: funktioniert
- mount by label
- show phone number names
- enable custom profile extension
- enable rc.user execution: funktioniert, Skript in rc.user darf aber kein local außerhalb von Funktionen enthalten
- remove affected swap space before stopping USB devices
- enable telnet daemon: funktioniert, getestet werden müsste noch, ob Telnet sich über Telefoncodes abschalten und wieder anschalten lässt

Besonders zu beachten ist, dass man keine neuen Funktionen der 7.21 aktiviert, wenn man zurück auf die 7.12 geht (WLAN funktioniert dann z.B. nicht mit der Einstellung WPA2/WPA3 von der 7.21).
 
Zuletzt bearbeitet:
Gute Frage! Warum probierst du es nicht aus?

Jeap läuft bisher ☺️

Ich kann es nicht beantworten, da ich es z.Z. nach der etwas anderen Methode mache: run_modscripts
Diese Methode geht nämlich neben der 7490 auch für die 7520, 7530, 7580, 7590 und andere.

auf einer 7590... Mmmh hört sich interessant an. Muss nur schauen ob ich dazu komme mich da einzulesen.

modfs hat man irgendwas im Kopf was man so angeben muss..
 
Ich habe die Art des Aufrufs der "rc.user" mal etwas umgestellt: https://github.com/PeterPawn/modfs/commit/a13ffad03cd70e9b5edc6f5a80d917ff24b47750

Im Ergebnis ist STDOUT und STDERR für diesen Aufruf jetzt auf die Datei "/var/tmp/rc.user.log" umgeleitet - dort kann man sich die Ergebnisse also ansehen, auch ohne noch einmal in eigene Protokoll-Dateien umzuleiten. Parallel wird STDIN explizit auf "/dev/null" gesetzt (die "rc.user" sollte von dort also keine Eingaben erwarten) und damit sollte dem (erfolgreichen) Einsatz des "nohup"-Applets nichts mehr im Weg stehen. Üblicherweise ist das auch in der AVM-BusyBox dabei - und solange das so bleibt, würde ich bei dieser Form des Aufrufs bleiben.

Auf diese Weise spielt es keine Rolle, ob der Dateiinhalt mit einem passenden "She-Bang" beginnt (das wird ja explizit mit "/bin/sh" aufgerufen) und ob der Benutzer darin jetzt irgendwelchen Schleifen mit "sleep" laufen läßt oder irgendwelche anderen Prozesse (parallel) startet - die Abarbeitung sollte vom Rest des Systems entkoppelt sein und keine (unmittelbaren) negativen Auswirkungen auf den weiteren Startvorgang haben.

Ich habe den Teil mit der Verwendung von "nohup" allerdings nur "von Hand" getestet ... dabei verhielt sich alles wie erwartet. Den Einbau in die Datei in der modifizierten Firmware habe ich mehrmals kontrolliert (aber nur durch "Draufstarren") - auch da sollte kein Fehler enthalten sein, auch wenn ich mit dieser Änderung jetzt nicht selbst ein neues System modifiziert habe. Das wollte ich nur festhalten - für den unwahrscheinlichen Fall, daß ich da doch einen Syntax-Fehler eingebaut habe, den zu finden ich obendrein noch zu blind bin (sowas kommt wohl bei jedem mal vor).
 
Zuletzt bearbeitet:
Hallo,

momentan bin ich fast am verzweifeln eine FritzBox 7490 Version 7.12 mit modfs auf Version 07.21 zu bringen.
Ich habe zwei eigentlich dachte ich identische Fritz 7490 Boxen. Bei einer konnte ich problemlos
das Update machen, bei der anderen scheitere ich kläglich ?
Auf der Box, wo es ging habe ich vermutlich eine aktuellere BusyBox Version ?
"respawn script with custom BusyBox shell, SHLVL=5"

Bei der Box wo es nicht geht habe ich folgendes. Irgendwo mach ich einen großen Fehler, seh den aber nicht.
Evtl. hat jemand einen Tip für mich ? Meiner Meinung nach hätte ich ausreichend SwapSpace gemounted .....

# wget -qO- http://yourfritz.de/modfs.tgz | gunzip -c | tar x
# ./modfs update FRITZ.Box_7490-07.21.image
Information: Changed binaries directory link to versions for kernel '3.10.107'.
respawn script with custom BusyBox shell, SHLVL=4
/var/media/ftp/ModNov2020/bin/185/busybox sh ./modfs update FRITZ.Box_7490-07.21.image
Using debug mode with a 64 KB buffer (new format)
Ermitteln der Hardware-Version ... OK
Prüfen, ob die Hardware-Version unterstützt wird ... OK
Suchen der Einstellung zur Umschaltung auf das alternative System ... OK
Prüfen der aktuell zu startenden Systemversion ... OK
Suchen der aktuellen Kernel-Partition ... OK
Suchen der alternativen Kernel-Partition ... OK
Vergleich der Systeme in den Kernel-Partitionen ... übersprungen
Suchen der aktuellen Dateisystem-Partition ... OK
Suchen der alternativen Dateisystem-Partition ... OK
Überprüfen des freien Speicherplatzes für das Auspacken des Dateisystems ... Fehler

Es ist nicht genug freier Speicherplatz auf einem verfügbaren USB-Speicher
vorhanden, um ein virtuelles Laufwerk für die Modifikationen zu erstellen.

Es wird ein USB-Speicher mit mind. 285MB freiem Speicherplatz benötigt.

# showshringbuf modfs
2020-11-09 23:54:06.980 - modfs: starting modfs script version 0.6.2-301020202022
2020-11-09 23:54:07.000 - modfs: script=./modfs
2020-11-09 23:54:07.023 - modfs: using language de
2020-11-09 23:54:07.043 - modfs: PATH=/var/media/ftp/ModNov2020/bin/185
2020-11-09 23:54:07.063 - modfs: SHELL=/var/run/modfs/sh
2020-11-09 23:54:07.084 - modfs: SHLVL=5
2020-11-09 23:54:07.120 - modfs: BusyBox: BusyBox v1.27.2 multi-call binary.
2020-11-09 23:54:07.140 - modfs: Filesystems mounted
2020-11-09 23:54:07.160 - rootfs / rootfs rw 0 0
2020-11-09 23:54:07.160 - /dev/root /wrapper yaffs ro,relatime 0 0
....
2020-11-09 23:54:07.182 - modfs: Free space
2020-11-09 23:54:07.266 - Filesystem Size Used Available Use% Mounted on
2020-11-09 23:54:07.266 - /dev/root 48.0M 27.7M 20.3M 58% /wrapper
2020-11-09 23:54:07.266 - devtmpfs 118.4M 72.0K 118.4M 0% /wrapper/dev
2020-11-09 23:54:07.266 - /dev/loop0 25.5M 25.5M 0 100% /
2020-11-09 23:54:07.266 - devtmpfs 118.4M 72.0K 118.4M 0% /dev
2020-11-09 23:54:07.267 - tmpfs 118.6M 2.5M 116.0M 2% /var
2020-11-09 23:54:07.267 - /dev/mtdblock4 2.0M 892.0K 1.1M 44% /var/flash
2020-11-09 23:54:07.267 - /var/dev/nand 406.0M 103.5M 302.5M 25% /var/media/ftp
2020-11-09 23:54:07.267 - tmpfs 118.6M 0 118.6M 0% /var/media/ftp/volatile
2020-11-09 23:54:07.267 - /dev/sda1 956.4M 785.2M 122.7M 86% /var/media/ftp/Generic-MassStorageClass-01
....

# free
total used free shared buffers cached
Mem: 242840 107100 135740 0 12844 49032
-/+ buffers/cache: 45224 197616
Swap: 786428 15304 771124
 
Zuletzt bearbeitet:
Swap-Space ist aber nicht das Einzige, was da gebraucht wird ... der erweitert praktisch nur den verfügbaren Hauptspeicher (RAM) der Box.

Daneben wird aber noch Platz zum Entpacken der Image-Dateien benötigt und das einzige Volume, was da gemountet ist, ist "/dev/sda1" (vermutlich irgendeine Speicherkarte mit 1 GB oder die Partitionen wurden so komisch angelegt) und da sind nur noch 122 MB frei.

EDIT: Sieht man sich den Swap-Space an, ist das offenbar auch ein "swap file" von 768 MB, was genau in dieser Partition liegt - das sind dann schon fast die 86% Füllstand dort.
 
Hallo,

Danke für Deine Antwort !
es ist genau so, wie Du schreibst. Ich habe einen 1GB USB Stick und dort mit
dd if=/dev/zero of=swapfile bs=1024 count=786432 das swapfile angelegt.

Dummerweise wird der Rest in der FritzBox als USB Speicher gemounted.

Die Box ist im Nebenhaus und ich konnte nicht einfach den Stick abziehen.
Das werde ich später versuchen. Gibt es noch einen Trick wie ich das "remote"
lösen könnte ?

Danke
steeviF
 
Gibt es noch einen Trick
Einige ... und die sind auch alle hier irgendwo beschrieben (für das nächste Mal).

1. Option
Aufruf mit "INCLUDE_NAND=1" im Environment (https://github.com/PeterPawn/modfs/blob/master/modfs#L2433) - dann wird auch der interne NAND-Flash der Box benutzt, wenn er genug Platz bieten sollte. Der wird üblicherweise ignoriert, weil zuviele Schreibzugriffe den Chip nach und nach zerstören und im Gegensatz zu einem USB-Speicher (der durchaus auch von diesem Problem betroffen sein kann, deshalb näht man das nicht unbedingt auf Kante - dann steht genug freier Platz zur Verfügung, auf den sich diese Schreibvorgänge verteilen können) ist der interne NAND-Flash eben nicht einfach so zu ersetzen.

2. Option
Man hält sich etwas mehr an die von mir vorgeschlagenen (und dann in Form von Vorgaben im Skript auch übernommenen) Größen (https://www.ip-phone-forum.de/threa...nand-basierte-fritz-boxen.273304/post-2299599) ... wenn man anstelle der Swap-Datei von 768 MB eine mit 300 MB verwendet (bei 256 MB realem Speicher in der 7490, ist das Dreifache in der Swap-Datei nicht erforderlich), bleiben automatisch 468 MB mehr übrig als "free space" in der ext3-Partition unter /dev/sda1.
 
Seit geraumer Zeit bietet Microsoft bei GitHub auch die Möglichkeit, Diskussionen zu den Projekten zu führen. Dafür muß man sich halt bei GitHub auch noch anmelden (wenn man bisher keinen eigenen Account hat), aber aufgrund der "natürlichen Nähe" von Repository und Diskussionen finde ich persönlich diese Option viel smarter, als die Verwendung irgendeines BBS als "Support-Board".

Die Idee, die verschiedenen Projekte zum Modifizieren der Firmware in einzelne Unterforen "auszudifferenzieren", ist ja offensichtlich auch als "abgelehnt" anzusehen - ich war da ohnehin (schon mit der Option der GitHub-Diskussionen im Hinterkopf) eher unschlüssig, wie ich diese Ideen finden sollte.

Aber das neue Jahr nehme ich jetzt auch mal zum Anlass, neue Möglichkeiten auszuloten und so habe ich für meine öffentlichen Repositories bei GitHub diese Option der "Diskussionen" heute aktiviert. Ich verbinde damit nicht nur die Absicht, das Thema "straffer" anzugehen (insbesondere kann man dann auch zwischen "YourFritz", "modfs" und meinem Freetz-Fork "YourFreetz" wählen, wo die Diskussion am ehesten hingehören könnte) ... nein, ich habe dabei auch die Hoffnung, daß es künftig leichter werden könnte, entsprechende Threads über eine Suchmaschine zu finden. Das ist zwar erst einmal auch nichts anderes als ein "frommer Wunsch" ... aber ich finde eben selbst auch zunehmend bei eigenen Suchen eher diverse GitHub-Repositories zu einem Thema, als irgendwelche Bulletin-Board-Systeme und über die schlechter werdenden Resultate für das IPPF bei der Benutzung von Suchmaschinen haben wir mittlerweile auch oft genug gejammert, ohne daß sich da (für mich zumindest) etwas Substantielles getan oder gar verbessert hätte.

Gerade dieses fehlende "Discussions"-Feature war es eben bisher, was den (ausschließlichen) Einsatz von GitHub (für meine Zwecke) verhinderte - da es jetzt zur Verfügung steht, will ich zumindest mal den Versuch unternehmen, mich von diesem Board "abzunabeln" (bei vielen Beschreibungen in den Repos findet sich ja dann immer wieder ein Link auf irgendwelche IPPF-Threads - das ist dann für die "native GitHub users" wieder eine zusätzliche Hürde, wenn sie sich (für vollen Funktionsumfang) erst hier im Board anmelden müssen) und wenigstens mal "testen", ob bzw. wie gut das läuft. Die Möglichkeiten der (eigenen) Dokumentation sind dort ohnehin besser, weil man einfach mehr gestalterische Freiheiten hat, wenn man das bei GitHub verwendete Jekyll (https://jekyllrb.com/) benutzen kann - und dank statischer Seiten dabei, muß man sich um die Sicherheit und event. Angreifer auch nicht weiter kümmern (es gibt schlicht keine dynamischen Inhalte).

Daher wäre ich dankbar, wenn sich die Leute, die ohnehin schon einen GitHub-Account haben, künftig mal an den erwähnten "GitHub Discussions" versuchen:
discussions_github_2.PNG
und Probleme/Fragen dort anbringen würden.

Das muß noch kein endgültiger Abschied vom IPPF sein ... aber ich hätte eben gerne ein paar Optionen und die muß man erst einmal auf Brauchbarkeit testen. Es möge sich also bitte niemand wundern (oder gar beschweren), wenn ich künftig - sofern es nach meiner Ansicht passen sollte - auch bei anderen Fragen (soweit die sich auf eines meiner Projekte bzw. auf die von mir angebotene Software unter GPL-Lizenz beziehen) dann darum bitten könnte, das doch eher in die Diskussionsrunden im entsprechenden Repository zu verlagern. Wenn ich der Ansicht bin, daß das für mehr als einen Einzelnen von Interesse sein könnte, verbinde ich mit der anderen Plattform eben die Hoffnung/Erwartung, daß das dann wieder einfacher zu finden ist, als hier im IPPF (wo es auch in der Menge der vorhandenen Informationen zunehmend schwerer zu finden ist, wenn man gezielt etwas sucht und das gilt sogar für die eigenen Texte, bei denen man wenigstens weiß, daß sie existieren müssen).
 
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.