Firmware für 7390 mit Freetz erstellen...

Falconcrest

Neuer User
Mitglied seit
6 Jan 2006
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Hallo,

der Grund, warum ich mich mit Freetz beschäftigen möchte, ist der, das es uns 7390-User mit der aktuellen Beta <FRITZ!OS 6.10-28022> nun auch getroffen hat, das die debug.cfg wohl nicht mehr vorhanden ist. Für mich stellt sich das Problem, das der LCR zwar noch funktioniert, man aber nicht mehr die Einstellungen aufrufen kann.
Man könnte nun den pragmatischen Weg gehen und wieder die letzte Stable flashen, aber es wird wohl allem Anschein nach in den folgenden Stable-Versionen ebenfalls so sein.
Deshalb, Mut zur Tat!

Meine Kenntnisse in Linux sind sehr bescheiden, ausser das ich für Laien relativ einfach einzurichtende Systeme nutze.(IPfire, eisfair)

Nun zu meinen Fragen, die ich mir nicht so recht beim Durchstöbern der Threads beantworten konnte.

Ich habe mir also mal Linux Mint 16 "Petra" MATE geschnappt und darauf freetz-devel installiert.(wegen dem Patch für die 28022)
Nach dem Lesen diverser Foren, haben mir noch eine Menge an Dateien gefehlt, die beim ersten Aufruf von make menuconfig bemängelt wurden.
Da Linux Mint ja auf Ubuntu beruht, half mir eine Anleitung dafür.
Dann habe ich die Firmware in das freetz-devel Verzeichnis geschoben und make menuconfig ausgeführt.
Im dann angezeigten Menü, hätte ich eine Menge anpassen können, was ich aber unterlassen habe, da ich noch nicht weiss, was ich damit anrichte.
Also wieder schön abgespeichert...
Nun kam noch make tools an die Reihe und es konnte losgehen.
Das entpacken der Firmware klappte auch bestens.
Jetzt ging es für mich ans Eingemachte, das Patchen der rc.tail.sh.(habe mir diesen Beitrag zum Vorbild genommen: #5 in http://www.ip-phone-forum.de/showthread.php?t=269844)
Auch das scheint mir gelungen zu sein, denn nun waren die Einträge aus dem Patch in der rc.tail.sh.
Jetzt noch die Firmware wieder gepackt. Leider gab es 1-2 Meldungen beim Packen, an den genauen Wortlaut kann ich mich nicht mehr erinnern.
Es wurde eine "neue" Firmware erzeugt, aber ich traue mich nicht so recht, diese wegen der Meldungen zu flashen.

Soweit das Ganze aus meinem Gedächtnis-Protokoll. Ist der Weg wenigstens halbwegs richtig, oder habe ich ein paar grundlegende Dinge vergessen?
Ich liefere auch gerne die Meldungen noch nach, muss ich es eben nochmal durchführen.

Für jeden Ratschlag bin ich dankbar!
 
Jetzt noch die Firmware wieder gepackt. Leider gab es 1-2 Meldungen beim Packen, an den genauen Wortlaut kann ich mich nicht mehr erinnern.

Die Meldungen waren vermutlich harmlos. Vielleicht waren sie aber auch ganz schlimm. Was für eine Antwort erwartest Du darauf?

Generell kommst Du mit Recover immer auf ein AVM Image zurück, von daher kann nicht viel passieren.
Freetz hat schon die Datei rc.custom, die beim Start ausgeführt wird, ohne dass man irgend etwas ändern muss. Dort kannst Du entweder die gewünschten Befehle hinein schreiben, oder einen Aufruf der debug.cfg.
 
Moin

Das ist der Knackpunkt: Wer braucht die debug.cfg wenn freetz auf der Box ist?
Deswegen mein Tip: freetz flashen und dich damit vertraut machen.
 
Hallo Ralf,

Danke für Deine schnelle Reaktion, aber
Die Meldungen waren vermutlich harmlos. Vielleicht waren sie aber auch ganz schlimm. Was für eine Antwort erwartest Du darauf?
diese Antwort habe ich bei meiner Fragestellung bereits schon erwartet...Deshalb ja mein vorletzter Satz (Ich liefere auch gerne die Meldungen noch nach, muss ich es eben nochmal durchführen.);)

Generell kommst Du mit Recover immer auf ein AVM Image zurück, von daher kann nicht viel passieren.
Ist mir natürlich bekannt...aber wenn man es vermeiden kann, muss es nicht unbedingt sein.

Freetz hat schon die Datei rc.custom, die beim Start ausgeführt wird, ohne dass man irgend etwas ändern muss. Dort kannst Du entweder die gewünschten Befehle hinein schreiben, oder einen Aufruf der debug.cfg.
...und da fangen dann meine Probleme an. Wie oben erwähnt, halten sich meine Kenntnisse in Grenzen, ich bin aber gewillt, dazu zu lernen. Fahrrad fahren hat man z. B. selten ohne fremde Hilfe erlernt, was ich damit sagen will, ein wenig Hilfe würde schon ganz gut tun.

Wenn ich das also richtig verstehe, habe ich da etwas gemacht, was nicht nötig ist, da es bereits vorhanden ist.
Also müsste ich die Firmware mit Hilfe von freetz entpacken, händisch die rc.custom anpassen, packen, wieder einspielen und gut ist?
Nur so kommt freetz auf die Box?

Jetzt natürlich meine Frage: Was muss ich Eintragen, damit das LCR - Menü wieder funzt?
 
Zuletzt bearbeitet:
Hallo koyaanisqatsi,

auch Dir einen Dank, aber
Moin

Das ist der Knackpunkt: Wer braucht die debug.cfg wenn freetz auf der Box ist?
Deswegen mein Tip: freetz flashen und dich damit vertraut machen.
genau das war mir noch nicht bekannt, bzw. ich hatte es noch nicht begriffen.
Ihr scheint Euch ja mit der Materie sehr gut aus zu kennen, deshalb lasst mich doch bitte nicht doof sterben!;)
 
Also müsste ich die Firmware mit Hilfe von freetz entpacken, händisch die rc.custom anpassen, packen, wieder einspielen und gut ist?
Erstelle einen frischen Checkout in ein neues Verzeichnis.
Um Zeit beim Download zu sparen kannst Du das Verzeichnis dl aus dem alten Checkout in den neuen verschieben. Dieser Schritt ist optional.
Im neuen Verzeichnis führst Du "make menuconfig" aus, wählst Deine Box und speicherst. Danach rufst Du "make" auf, und nach einer Weile ist die neue Firmware fertig.
Nur so kommt freetz auf die Box?
Die neue Firmware kommt dadurch auf die Box, dass man sie über einen Update auf die Box bringt (oder mit FTP oder mit tools/push_firmware, ...).

Die Box hat danach ein zusätzliches Web-Interface von Freetz, über dieses kann man die rc.custom bearbeiten.
 
...wenn der Securitylevel in menuconfig auf 0 eingestellt wurde.
Nachdem Show advanced options aktiviert wurde.

Default Security level:
Wertebereich von 0 bis 2.
Legt den standardmäßigen Security Level fest, welcher aktiviert wird, sofern kein anderer Wert auf der Box gespeichert ist.
Standard ist 2 (alle Maßnahmen aktiviert)


Was ich super missverständlich finde.
2 (alle Maßnahmen aktiviert) bedeutet: Nichts ist erlaubt! Keine Konfiguration in freetz editier/speicherbar.

Die rc.custom ist freetz spezifisch und wird beim booten der Box als letztes ausgeführt.
 
Zuletzt bearbeitet:
Erstelle einen frischen Checkout in ein neues Verzeichnis.
An die Begrifflichkeiten muss ich mich erst noch gewöhnen...also

svn co http://svn.freetz.org/trunk freetz-devel_r12047 -r 12047 ausführen, ich mach es mal lieber komplett neu.

Nun die fehlenden Tools für Linux Mint 16 (Ubuntu) mit

sudo apt-get -y install graphicsmagick subversion gcc g++ binutils autoconf automake automake1.9 libtool make bzip2 libncurses5-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libacl1-dev libcap-dev sowie

sudo apt-get -y install libc6-dev-i386 lib32ncurses5-dev gcc-multilib lib32stdc++6 wegen der 64bit Version installieren.

Jetzt wechsele ich nach freetz-devel und führe make menuconfig aus, überprüfe die richtige Auswahl der Box, ich passe erst mal nichts weiter an, lasse das Level of user competence schön auf Beginners!!!
Das Default Security level muss auf 0 gesetzt werden, wenn es nicht so eingestellt sein sollte? Jetzt Speichern!
Nun make ausführen und meine erste eigene Firmware wird gebaut?
Die Firmware spiele ich dann per Update in die Box.
Ich gehe mal davon aus, dass in der Box nun alles auf Standard gesetzt ist und wenn ja, kann ich die vorher gesicherten Einstellungen wieder einspielen?
Oder muss ich nach diesem "Eingriff" alles neu von Hand konfigurieren?

Was passiert, wenn eine neue Firmware heraus kommt. Auf keinen Fall flashen und erst auf die passende freetz-Version warten?

Die Box hat danach ein zusätzliches Web-Interface von Freetz, über dieses kann man die rc.custom bearbei
ten.
Das hatte ich bisher immer überlesen...
 
Die rc.custom ist freetz spezifisch und wird beim booten der Box als letztes ausgeführt.
Hierzu meine Frage:
Da der LCR eine debug.cfg benötigt, diese aber nun durch freetz irgendwie "nicht mehr notwendig" ist, müsste das Menü des LCR wieder vorhanden sein?
Eigentlich wohl ja, da es nun auch ein zusätzliches Menü für freetz auf der Weboberfläche gibt?
 
Ich gehe mal davon aus, dass in der Box nun alles auf Standard gesetzt ist und wenn ja, kann ich die vorher gesicherten Einstellungen wieder einspielen?
Oder muss ich nach diesem "Eingriff" alles neu von Hand konfigurieren?
Die Einstellungen werden nicht zurückgesetzt, ebenso wenig wie bei einem AVM Update. Eine Sicherung der Einstellungen ist aber immer gut.
Was passiert, wenn eine neue Firmware heraus kommt. Auf keinen Fall flashen und erst auf die passende freetz-Version warten?
Es muss dann ein neues Image erstellt werden mit der neuen Firmware als Basis.
 
Hier schau mal, ist zwar auf Englisch, aber da siehste, dass da kein Unterschied besteht.
Ein Shellskrpt bleibt ein Shellskript.

Einziger Unterschied der mir noch einfällt:
Theoretisch könnte in der debug.cfg eine Binary, also ein Programm, abgelegt werden.
Das würde dann auch (noch, in der Releasefirmware) ausgeführt werden.
 
Zuletzt bearbeitet:
Die Einstellungen werden nicht zurückgesetzt, ebenso wenig wie bei einem AVM Update. Eine Sicherung der Einstellungen ist aber immer gut.
Das ist ja prima.
Es muss dann ein neues Image erstellt werden mit der neuen Firmware als Basis.
OK.

Eine kleine Frage zum Schluss: Allein durch die richtige Auswahl des Trunk, wird die korrekte Firmware zusammengesetzt? Warum wird gerade z.B. die letzte Firmware gebaut und nicht die vorherige Version? Ich gebe doch da nirgendwo etwas an. Selbst unter make menuconfig steht doch, glaube ich zumindest gesehen zu haben, z.B. nur die Version 7390 06.xx?

Ich werde über Erfolg:) oder(hoffentlich nicht) Misserfolg:-( berichten.
Danke nochmals für Eure Unterstützung!:cool:
 
Zuletzt bearbeitet:
Hier schau mal, ist zwar auf Englisch, aber da siehste, dass da kein Unterschied besteht.
Ein Shellskrpt bleibt ein Shellskript.

Einziger Unterschied der mir noch einfällt:
Theoretisch könnte in der debug.cfg eine Binary, also ein Programm, abgelegt werden.
Das würde dann auch (noch, in der Releasefirmware) ausgeführt werden.

Ich werde mir das einmal ansehen, da habe ich ja noch eine Menge zu lernen.:confused:
 
Eine kleine Frage zum Schluss: Allein durch die richtige Auswahl des Trunk, wird die korrekte Firmware zusammengesetzt? Warum wird gerade z.B. die letzte Firmware gebaut und nicht die vorherige Version? Ich gebe doch da nirgendwo etwas an. Selbst unter make menuconfig steht doch, glaube ich zumindest gesehen zu haben, z.B. nur die Version 7390 06.xx?
Die Auswahl der Box in Verbindung mit der Freetz Version bestimmt, welche Firmware als Basis verwendet wird. In manchen Fällen werden auch mehrere Versionen als Basis angeboten, im aktuellen Trunk aber nicht mehr, da alle alten Firmware Versionen die Sicherheitslücke haben.

Theoretisch könnte in der debug.cfg eine Binary, also ein Programm, abgelegt werden.
Stimmt
Das würde dann auch (noch, in der Releasefirmware) ausgeführt werden.
Stimmt nicht, es muss sich um Shell Befehle handeln.
 
Doch, eine Binary würde (theoretisch) gehn, weil die debug.cfg wie die calllog aufgerufen wird: sh debug.cfg
Eine kleine Binary die in die debug.cfg ge'cat'tet wird und den beschränkten Speicher nicht überschreitet würde starten.
Die müsste aber Parameterlos funktionieren, b.z.w. ihre Argumente hardkodiert dabeihaben.
...oder? ;)

Problem wäre aber, glaube ich, dass die Box erst benutzbar wird, wenn die debug.cfg beendet ist.
 
Ok, hast Recht.
Ich habs verpeilt.
Gerade getestet und geht nicht.
Theorie verworfen.
Also nicht nachmachen.
 
Default Security level:
Wertebereich von 0 bis 2.
Legt den standardmäßigen Security Level fest, welcher aktiviert wird, sofern kein anderer Wert auf der Box gespeichert ist.
Standard ist 2 (alle Maßnahmen aktiviert)


Was ich super missverständlich finde.
2 (alle Maßnahmen aktiviert) bedeutet: Nichts ist erlaubt! Keine Konfiguration in freetz editier/speicherbar.
Es ist ein Wiki in dem jeder angemeldete Benutzer Änderungen vornehmen kann... :)
 
Hallo zusammen,

bitte verwirrt Falconcrest mit Euren Antworten nicht. So wie ich es vestehe, hat er diesen Beitrag von mir gelesen und möchte eigentlich nur das und nicht mehr, i.e. nicht unbedingt Freetz installieren.

@Falconcrest: wenn Du bereit bist, Freetz zu installieren, so musst Du nach einer beliebigen (funktionierenden) Anleitung Freetz installieren und keinen Patch zusätzlich manuell aus dem oben referenzierten Beitrag anwenden. Der Patch ist in Freetz bereits enthalten und wird immer automatisch angewandt, d.h. insbesondere, dass der entsprechende mknod-Befehl aufgerufen wird (grob gesagt "debug.cfg wird angelegt") und debug.cfg auch automatisch aus rc.tail.sh gestartet (so wie es in allen früheren Firmware-Versionen der Fall war). D.h. es ist kein expliziter Aufruf von debug.cfg aus rc.custom notwendig (grundsätzlich wäre auch das (statt rc.tail.sh) möglich, man hätte aber den mknod-Teil nicht vergessen dürfen).

Wenn Du Freetz jedoch nicht installieren möchtest, sondern die AVM-Firmware mit Hilfe von Freetz entpacken, anpassen und wieder packen möchtest (so wie es in dem Beitrag von mir gemeint war), so versuche bitte die in dem Beitrag referenzierte Anleitung. Ich bin leider immer noch nicht dazu gekommen, zu testen, ob sie noch aktuell ist.

Grüße,
Gene

p.s. ohne debug.cfg kommt man derzeit nicht aus. Die aktuelle LCR-Version installiert sich in diese.
 
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.