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

eisbaerin

IPPF-Promi
Mitglied seit
29 Sep 2009
Beiträge
9,086
Punkte für Reaktionen
510
Punkte
113
Das ist richtig, aber in den FB ist es eben ganz neu, und nicht schon länger, daß es nicht mehr geht.
 

eisbaerin

IPPF-Promi
Mitglied seit
29 Sep 2009
Beiträge
9,086
Punkte für Reaktionen
510
Punkte
113
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:

fda89

Mitglied
Mitglied seit
31 Aug 2020
Beiträge
357
Punkte für Reaktionen
52
Punkte
28
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
 

eisbaerin

IPPF-Promi
Mitglied seit
29 Sep 2009
Beiträge
9,086
Punkte für Reaktionen
510
Punkte
113

ThAlex

Mitglied
Mitglied seit
11 Aug 2006
Beiträge
655
Punkte für Reaktionen
1
Punkte
18

eisbaerin

IPPF-Promi
Mitglied seit
29 Sep 2009
Beiträge
9,086
Punkte für Reaktionen
510
Punkte
113
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
 

BurningCrash

Aktives Mitglied
Mitglied seit
21 Jun 2007
Beiträge
1,767
Punkte für Reaktionen
0
Punkte
38
@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
 

eisbaerin

IPPF-Promi
Mitglied seit
29 Sep 2009
Beiträge
9,086
Punkte für Reaktionen
510
Punkte
113
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

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
13,426
Punkte für Reaktionen
1,130
Punkte
113
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.
 

BurningCrash

Aktives Mitglied
Mitglied seit
21 Jun 2007
Beiträge
1,767
Punkte für Reaktionen
0
Punkte
38
Ich teste es gerade weil ich die 7490 mit 7.21 in MESH aufnehme... Ersatzbox wird ne andere wegen Super-Vectoring
 

ThAlex

Mitglied
Mitglied seit
11 Aug 2006
Beiträge
655
Punkte für Reaktionen
1
Punkte
18
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).
 

eisbaerin

IPPF-Promi
Mitglied seit
29 Sep 2009
Beiträge
9,086
Punkte für Reaktionen
510
Punkte
113
Zuletzt bearbeitet:

BurningCrash

Aktives Mitglied
Mitglied seit
21 Jun 2007
Beiträge
1,767
Punkte für Reaktionen
0
Punkte
38
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..
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
13,426
Punkte für Reaktionen
1,130
Punkte
113
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:

steeviF

Neuer User
Mitglied seit
5 Nov 2020
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
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:

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
13,426
Punkte für Reaktionen
1,130
Punkte
113
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.
 

steeviF

Neuer User
Mitglied seit
5 Nov 2020
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
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
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
13,426
Punkte für Reaktionen
1,130
Punkte
113
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.
 
3CX

Neueste Beiträge

Statistik des Forums

Themen
236,559
Beiträge
2,078,664
Mitglieder
358,084
Neuestes Mitglied
Ezezzezeg