Installation
Freetz stellt Skripte zum Modifizieren einer originalen Firmware bereit. Aus Lizenz Gründen ist die Verbreitung sowohl originaler als auch modifizierter Firmware Images untersagt!
Das Aufspielen einer modifizierten Firmware geht mit dem Verlust der Garantie einher. Wendet euch bei Problemen mit einer modifizierten Firmware daher NICHT an den AVM Support.
Speedports: (siehe sp2fritz). Ab Skriptversion 2.2.2008 ist das speed2fritz möglich.
Linux
Notwendige Pakete
Für das Erstellen der Firmware kann auch Knoppix verwendet werden, wozu keine Linux-Installation erforderlich ist. Wichtig ist, dass zum Kompilieren des Mods unter Linux keine FAT oder NTFS Partition verwendet wird. Die folgende Anleitung benötigt für
freetz-1.0
- gcc - GNU C Compiler
- g++ - GNU C++ Compiler
- binutils - GNU Assembler, Linker und Binary-Werkzeuge
- autoconf - dem Make vorgeschalteter Generator für Konfigurationsskripten nach GNU-Standard; hilft dabei, plattformunabhängig programmierte Software letztendlich für einen plattformspezifischen Build vorzubereiten
- automake ab Version 1.10 - Makefile-Generator nach GNU-Standard; wird nicht für alle DS-Mod-Pakete benötigt, aber z.B. für privoxy; Paketmanager installiert normalerweise autoconf als abhängiges Paket gleich mit
- automake-1.9 - Version, die zusätzlich speziell von tar-1.15.1 aus tools benötigt wird
- libtool - hilft beim Erstellen von statischen und dynamischen Bibliotheken; kann z.B. beim aufruf von autoreconf notwendig werden
- GNU make ab Version 3.81 - skriptgesteuertes Build-System
- bzip2 - (Ent)packen von Software-Archiven
- libncurses5-dev - Entwickler-Bibliothek für ncurses (Erzeugung komfortabler textbasierter Benutzerschnittstellen, vgl. make menuconfig)
- zlib1g-dev - Entwickler-Bibliothek für gzip-Kompression
- flex - lex-kompatibler Generator für lexikalische Analyse
- bison - YACC-kompatibler Parser-Generator
- patch - Programm, um Patches anzuwenden
- texinfo - Online-/Druck-Doku aus gemeinsamer Quelle erzeugen
- tofrodos - Dateiumwandlung DOS ↔ UNIX (für was wird das benötigt?)
- gettext - Texte in Programmen internationalisieren
- jam - Ersatz für make (s.o.); nur notwendig für Package transmission, kann ansonsten weggelassen werden
- pkg-config - Hilfstool welche zum Bauen von Binaries und Libraries nötig ist; notwendig für Packages ntfs? und transmission
- ecj-bootstrap - Eclipse Java Compiler (evtl. auch libecj-java und ecj in neueren Distributionen); nur notwendig für Package classpath ab 0.95 bzw. ds26-14.5
- perl - Perl-Interpreter; notwendig für make recover
- libstring-crc32-perl - Perl-Modul zur Berechnung von CRC32-Prüfsummen; notwendig für make recover
aktuelle Entwicker Version und spezielle Pakete
Diese benötigen zusätzlich zu bereits unter freetz-1.0 genanntem noch folgende Pakete:
- svn - Subversion zum Auschecken der aktuellen Freetz-Versionen
- ruby1.8 - objektorientierte Skriptsprache (Version 1.8.6); nur notwendig für Package ruby (ab freetz-devel) - seltsamerweise benötigt der Crosscompile für ruby-1.8.6 eine installierte Version seiner selbst als Voraussetzung. Zu allem Überfluß könnte es sein, daß Sie im Paket zwar /usr/bin/ruby1.8 o.ä. haben, aber nicht das vom Makefile benötigte Binary Namens ruby. Da hilft im o.g. Beispiel sudo ln -s ruby1.8 /usr/bin/ruby bzw. die Ausführung des ln-Befehls als Benutzer root.
- gawk - GNU awk; notwendig für das Skript tools/extract-images (ab freetz-devel), wenn man z.B. ein Recover-EXE zerlegen, also urlader.image und kernel.image extrahieren möchte. Die in anderen awk-Varianten nicht vorhandene Funktion strtonum wird an einer Stelle verwendet.
- python - Python-Interpreter; notwendig, um via tools/mklibs.py unbenutzte Symbole aus Bibliotheken zu entfernen, um Platz zu sparen (ab freetz-devel)
- libusb-dev - Entwicklungs-Bibliothek für USB-Anwendungen im Userspace; nur notwendig für SANE, wenn bspw. Multifunktionsdrucker/-scanner an die FritzBox angebunden werden sollen. Siehe auch Forums-Beitrag dazu.
- realpath - wird nur von Entwicklern benötigt, die ab ds26-15 innerhalb von fwmod beim Build das Patch-Auto-Fixing verwenden (AUTO_FIX_PATCHES im Environment). Wer nicht weiß, wovon die Rede ist, braucht es auch nicht.
- fastjar - Implementation des Java jar utils; nur notwendig für Package classpath
alte Entwicker Versionen
Hier wird zusätzlich folgendes benötigt:
- automake-1.8 - Version, die zusätzlich speziell von libid3tag benötigt wird. Nicht mehr erforderlich ab Freetz 1.0.
- jikes - Java Byte Code Compiler; nur notwendig für Package classpath bis 0.93 bzw. ds26-14.4
Installation der benötigten Pakete
Eine einfache Möglichkeit die benötigten Pakete zu installieren besteht darin, diesen Code in der Konsole auszuführen:
sudo apt-get -y update sudo apt-get -y upgrade sudo apt-get -y dist-upgrade sudo apt-get -y install subversion gcc g++ binutils autoconf automake automake1.9 automake1.8 libtool make bzip2 libncurses5-dev zlib1g-dev flex bison patch texinfo tofrodos gettext jam pkg-config jikes ecj-bootstrap fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip
Erstellung & Installation
- Shell öffnen, ins Verzeichnis von freetz-//xxx//.tar.bz2 wechseln und diesen mit tar -xvjf ds-x.y.z.tar.bz2 entpacken
- Optional: Patch einspielen (siehe Howto)
- Mit cd freetz-xxx/ in das Verzeichnis des entpackten Freetz wechseln
- Konfiguration wählen. Dies ist über ein ncurses Interface möglich, welches z.B. aus der Konfiguration des Linux Kernels bekannt ist. Details und Beschreibungen zu den Optionen gibt es in der Beschreibung zum make menuconfig.
- Firmware modifizieren. In diesem Schritt werden die zu der gewählten Konfiguration passenden original Firmware und Pakete, sowie Sourcen für die benötigten Tools vollautomatisch heruntergeladen und die modifizierte Firmware in drei Schritten erzeugt. Dies erledigt ein simples make.
- *.image als Firmware Update auf die Box hochladen. Nach einem erfolgreichen Upload ist nun auf Port 81 ein weiteres Webinterface verfügbar, welches Instruktionen zum Abschluss der Installation enthält. Sollte die Box nach dem Hochladen der Firmware auch Minuten nachdem die Info LED aufgehört hat zu blinken nicht mehr erreichbar sein (typischerweise leuchten periodisch immer wieder alle LEDs auf), so kann die originale Firmware bei den meisten Box-Typen, wie in diesem Howto beschrieben, wiederhergestellt werden.
Spezielle Hinweise
Achtung''' 
Wenn Ihr eine 7270 mit einer Firmware flashen wollt die größer als 8 MB ist, geht das nur über diesen Weg:
- Die IP der Box herausfinden unter der sie beim booten zu erreichen ist
cat /proc/sys/urlader/environment |grep ip my_ipaddress 192.168.178.1 (nur ein Beispiel)
- tools/push_firmware <firmware> [ -f ] [ <ip> ]
als Beispiel: Knoppix@Knoppix:~/freetz-1.0# tools/push_firmware images/7270_04.59freetz-devel-2648.de_20081015-130454.image 192.168.178.1 - wenn dann da steht: "You should now reboot your Box", einfach den Stromstecker ziehen und wieder einstecken, ferdich
FriBoLi/StinkyLinux
Vorbereitung
Siehe auch:
Freetz und Speed-to-Fritz Installation
FriBoLi/StinkyLinux ist ein VMWare Image zur Erstellung von Fritzbox Firmware Images unter Windows und gut geeignet für Windows-Nutzer ohne große Linux-Erfahrung. (FriBoLi erstellt von BOFHELL, Anleitung teilweise übernommen von Saphir)
Aktuelle Versionen von Freetz lassen sich problemlos mit FriBoLi verwenden.
FriBoLi wird als primäre Installationsplattform für Windows-Benutzer empfohlen!
Durchführung
- Benötigte Dateien:
- VMWare Player, (Quelle: [http://www.vmware.com/de/download/player/])
- FriBoLi Image für VMWare Player (StinkyLinux-v1.06.7z), (Quelle: [http://www.ip-phone-forum.de/showthread.php?p=1019861|Mirrors])
- VMWare Player herunterladen und installieren. Die Installation kann mit "Weiter…" immer weitergeklickt werden, es sind keine Anpassungen nötig.
- StinkyLinux-v1.06.7z unter Windows mit 7-Zip (alternativ geht auch Winrar) entpackt. Bitte auf einer Festplatte ablegen auf der mindestens 10GB Platz für Freetz erübrigt werden kann. Soviel wird zwar nicht benötigt, aber jenachdem kann der Platzbedarf schon ganz ordentlich werden. Daher auf Nummer sicher…
- Nun gehen wir mit dem Explorer in den entpackten Ordner StinkyLinux. Nach Doppelklick auf Other Linux 2.6.x kernel.vmx (bzw. wenn Ihr einen Rechner mit mindestens Dual-Core CPU habt und Stinky davon – und von einem GB Ram nur für sich – profitieren soll ein Doppelklick auf 2CPU-1024mb - Other Linux 2.6.x kernel.vmx) öffnet sich der VMWare Player
- Die Lizenzbedingung müssen wir natürlich lesen und annehmen
- Bei der Frage bitte auswählen „I copied it“ (Ich habe den aktuellen VMWare Player 2.5.1 genommen, den gibt’s bisher nur in Englisch. Die Frage im Deutschen müsste in etwa sein „Ich habe es kopiert“)
- Nachdem der Anmeldebildschirm da ist kann mit einem Doppelklick auf slightly der Benutzer ausgewählt werden der angemeldet werden soll.
- Das Kennwort lautet stinky - auch für alle zukünftigen Passwortabfragen
- Aus der „Start“Leiste oben (ähnlich der von Windows) bitte System → Systemverwaltung → Netzwerk auswählen
- Ein Doppelklick auf „Ethernet-Verbindung“ öffnet ein neues kleines Fenster
- Dort wählen wir „Diese Verbindung aktivieren“ aus und tragen entweder eine Statische IP-Adresse unten ein oder setzen die Einstellung auf DHCP
- Anschließend öffnen wir uns ein Terminal. Das geht wieder über die Startleiste: Anwendungen → Zubehör → Terminal
- Bevor wir Stinky aktualisieren können müssen wir noch eine Änderung vornehmen. Mit sudo vi /etc/apt/sources.list rufen wir einen Editor auf. Wir suchen die Zeile die so lautet deb http://www.openembedded.org/dl/ packages/. Wir bewegen den Cursor auf das erste w von www in der entsprechenden Zeile und drücken anschließend direkt nacheinander cw - hierdurch wird das www als "zu ersetzen" gekennzeichnet und wir können direkt schreiben. Also kurz wiki eingeben, anschließend ESC drücken. Anschließend müssen wir noch das .org durch .net ersetzen. Dafür bewegen wir den Cursor auf das o von org, drücken wieder cw und geben net ein. Anschließend wieder ESC drücken. Als letztes muss der letzte / der URL gelöscht werden, dafür mit dem Cursor auf den / hinter dl gehen und anschließend einmal x drücken. Nun geben wir :wq ein (ja, einfach so drücken) und drücken Enter - damit ist die Datei angepasst.
- Anschließend geben wir folgendes ein um Stinky zu updaten: sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade && sudo apt-get -y install subversion gcc g++ binutils autoconf automake automake1.9 automake1.8 libtool make bzip2 libncurses5-dev zlib1g-dev flex bison patch texinfo tofrodos gettext jam pkg-config jikes fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip
- Falls eine Frage kommen sollte „Welche Dienste sollen erneut gestartet werden, damit sie die neuen Bibliotheken verwenden?“ diese mit Enter bestätigen.
- Nachdem die Updates und die neue Software installiert sind machen wir uns dran freetz wirklich einmal zu bauen. Dafür machen wir uns aber einen eigenen Ordner: mkdir freetz
- Wir wechseln mit cd freetz in das passende Verzeichnis und fangen an
- Jetzt stehen wir vor einer Grundsatzentscheidung. Freetz-Stable oder Freetz-Trunk?
- Freetz-Stable ist für Leute die einfach nur was anpassen wollen die bessere Wahl. Die Änderungen hier sind vorher einigen Tests in Freetz-Trunk unterlaufen.
- Freetz-Trunk ist die „Testumgebung“ für Freetz-Stable. Hier werden neue Änderungen, neue Programme und neue Firmware getestet. Allerdings kann es hier durchaus passieren, dass die gebaute Firmware nicht funktioniert und dann ein Recover gemacht werden muss. Nur für Testzwecke gedacht!
- Daher entscheiden wir uns für Freetz-Stable. Zum Zeitpunkt als diese Anleitung verfasst wurde war dies Freetz-Stable-1.1
- Mit folgendem Befehl werden wir Freetz-Stable „auschecken“ svn co http://svn.freetz.org/branches/freetz-stable-1.1 freetz-stable
- Anschließend wechseln wir mit cd freetz-stable in das Verzeichnis das gerade angelegt wurde
- Die praktische Oberfläche um die Einstellungen für freetz vorzunehmen wird mit make menuconfig aufgerufen
- In dieser Oberfläche können nun Änderungen vorgenommen werden. Es können Programme hinzugefügt werden, Sachen entfernt werden, etc… Zu den meisten Einträgen gibt es auch eine kleine Hilfe die über den Knopf help angezeigt werden kann. Es empfiehlt sich generell erstmal klein anzufangen und vielleicht erstmal nur eine Firmware bauen die keine Änderungen enthält sondern generell erstmal freetz enthält.
- Also gehen wir auf Exit und bestätigen die Frage ob wir die Änderungen speichern wollen mit Enter
- Der Befehl make startet den Vorgang der die Firmware anpasst. Das kann schon eine ganze Weile dauern
- Falls nach einer Weile die Meldung kommt, dass die Firmware-Datei nicht bei AVM heruntergeladen werden kann und ob stattdessen probiert werden soll es mit der neusten Version zu probieren unbedingt mit NEIN antworten! Es ist dann nötig diese von Hand zu kopieren. Im IPPF gibt es [| einen Thread um nach älteren Firmware Versionen zu fragen] – die Datei muss dann in den Ordner /home/slightly/freetz/freetz-stable/dl/fw gelegt werden. Wenn ihr die Datei von eurem Windows PC herüberkopieren wollt ist der Pfad für den Explorer: \\stinkylinux\StinkyLinux\freetz\freetz-stable\dl\fw
- Anschließend muss der Vorgang nochmal mit make gestartet werden.
- Wenn der ganze Vorgang beendet ist kommen noch mal ein paar wichtige Zeilen zum Vorschein:
- kernel image size: 7100160 (max: 7798784, free: 698624)
- Die erste Zahl gibt die Größe des erstellten Images an
- Die zweite Zahl die maximal Größe (abhängig von der ausgewählten Box)
- Die dritte Zahl ist der noch freie Platz im Image
- Wenn die dritte Zahl negativ geworden ist (also mit – anfängt) dann ist das Image zu groß! Entweder müssen ein paar Sachen entfernt werden oder es müssen weniger Programme hinzugefügt werden.
- kernel image size: 7100160 (max: 7798784, free: 698624)
- Wenn alles geklappt hat, habt ihr nun ein Image das ihr flashen könnt. Um das Image auf euren Rechner zu kopieren geht in der Adresszeile des Explorers einfach diesen Pfad ein: \\stinkylinux\StinkyLinux\freetz\freetz-stable\images - dort findet ihr euer Image das ihr dann einfach über das Webinterface flashen könnt.
- Nach einem erfolgreichen Upload ist nun auf Port 81 ein weiteres Webinterface verfügbar, welches Instruktionen zum Abschluss der Installation enthält. Sollte die Box nach dem Hochladen der Firmware auch Minuten nachdem die Info LED aufgehört hat zu blinken nicht mehr erreichbar sein (typischerweise leuchten periodisch immer wieder alle LEDs auf), so kann die originale Firmware bei den meisten Box-Typen, wie in diesem Howto beschrieben, wiederhergestellt werden.
coLinux / andLinux
Siehe auch: andlinux unter Vista installieren
Alternativ zu FriBoLi kann auch coLinux benutzt werden, ist etwas ressourcenschonender als der VMWare Player, dafür aber auch etwas unkomfortabler. Zudem wird CoLinux eine schlechte Performance nachgesagt.
Installation ist dann ähnlich wie unter 'normalem' Linux, ich bereite gerade ein entsprechendes vorkonfiguriertes root-fs vor..
stay tuned
Anmerkung von Alexander Kriegisch (kriegaex), 24.02.2008: Ja, das benutze ich auch seit gestern, und zwar speziell die mit Ubuntu Gutsy und XFCE (wahlweise auch KDE) vorkonfigurierte Variante andLinux, die man wahlweise als Dienst oder als Anwendung starten kann und mit einem einfachen Installer ausgeliefert wird. Scheint etwas langsamer zu sein als ein reines Linux, aber es ist schon cool, Linux-Fenster nativ neben Windows-Fenstern zu haben.
Der mitgelieferte X-Server Xming (für Windows) macht's möglich. Ich verwende übrigens nicht mal ein X-Terminal, sondern logge mich sozusagen "headless" über SSH ein (Putty). Ab und zu lasse ich mal Synaptic oder als X-Editor SciTE laufen, den ich nachinstalliert habe. Ich baue gerade sämtliche Freetz-Pakete "from scratch" inkl. Download, es geht genauso wie in VMware oder nativem Linux, also Linux-Paketliste siehe oben.
Nachteile von coLinux/andLinux:
- keine Multicore-Unterstützung
- kein Bridging der Netzwerkinterface, d.h. kein recover möglich
Cygwin
Unter Cygwin funktioniert Freetz definitiv nicht, und auch für ds-0.2.9 (Kernel 2.4) wird Linux empfohlen, weil es mit Cygwin Probleme geben kann und es außerdem einen riesigen Geschwindigkeitsverlust beim Bauen (mehrfache Build-Dauer) bedeutet, Cygwin zu verwenden.
Da Freetz sich unter Cygwin ohnehin nicht bauen lässt, folgt hier lediglich die Beschreibung für ds-mod:
Ein Howto von dsl123 zum Kompilieren des ds-mod's unter Cygwin gibt es hier. Zum Entpacken der Datei ds-*.tar.bz2 unter Windows ausschließlich das Cygwin-tar — wie in der Anleitung beschrieben — verwenden:
- Cygwin Installer von http://www.cygwin.com/ herunterladen und ausführen
- Cygwin mit den folgenden Paketen installieren:
- Archive > unzip
- Devel > gcc, libncurses-devel, make, patchutils
- Interpreters > perl
- Web > wget
- ds-*.tar.bz2 in das Cygwin Home-Verzeichnis herunterladen (je nach Installation z.B. C:/Cygwin/home/<Windows-Benutzername>/)
- Cygwin Shell öffnen und den ds-mod entpacken tar -xvjf ds-x.y.z.tar.bz2
- Optional: Patch einspielen (siehe Howto)
- In das Verzeichnis des entpackten ds-mod wechseln cd ds-*/
- Konfiguration wählen. Dies ist über ein ncurses Interface möglich, welches z.B. aus der Konfiguration des Linux Kernels bekannt ist. Details und Beschreibungen zu den Optionen gibt es in der Beschreibung zum menuconfig. make menuconfig
- Firmware modifizieren. In diesem Schritt werden die zu der gewählten Konfiguration passenden original Firmware und Pakete, sowie Sourcen für die benötigten Tools vollautomatisch heruntergeladen und die modifizierte Firmware in drei Schritten erzeugt. make
- firmware_*.image als Firmware Update auf die Box hochladen. Nach einem erfolgreichen Upload ist nun auf Port 81 ein weiteres Webinterface verfügbar, welches Instruktionen zum Abschluss der Installation enthält. Sollte die Box nach dem Hochladen der Firmware auch Minuten nachdem die Info LED aufgehört hat zu blinken nicht mehr erreichbar sein (typischerweise leuchten periodisch immer wieder alle LEDs auf), so kann die original Firmware mit Hilfe der recover.exe von AVM wiederhergestellt werden.
Mac OS X
Im Prinzip und mit ein paar Patches funktioniert ein aktuelles ds-mod auch unter Mac OS X. Zumindest ist mir gelungen, ds-0.2.9_26-14.2 unter Mac OS X zum Funktionieren zu überreden.
Zunächst sind folgende Voraussetzungen zu erfüllen:
- Datenpartition erstellen, bei der das HFS+ case sensitive konfiguriert ist.
- Xcode installieren. Dadurch erhält man geeignete Versionen von u. a.
- gcc
- g++
- autoconf
- automake
- make
- ncurses
- zlib
- flex
- bison
Außerdem sind einige (GNU) Utilities nötig, die z.B. über Darwin Ports installiert werden können:
- gettext
- texinfo
- dos2unix
- gawk
- coreutils
- findutils
- gsed
Und vermutlich ein paar weitere, wenn man die entsprechenden Packages anwählt.
Die zusätzlichen Utilities werden in der Regel unter Namen installiert, die mit g beginnen, um nicht mit den nativen Utilities von Mac OS X in Konflikt zu geraten. Manche Konfigurationsskripte setzen aber die Eigenschaften von GNU-Utilities voraus, auch wenn sie unter dem Standardnamen aufgerufen werden. Daher habe ich mir ein Verzeichnis erstellt, in dem Symlinks der Standardnamen auf die GNU Utilities zeigen. Zum Arbeiten mit ds-mod ist dieses Verzeichnis in den Suchpfad aufzunehmen:
~/gnubin $ ls -l total 64 -rwxr-xr-x 1 enrik enrik 106 20 Mär 17:23 as lrwxr-xr-x 1 enrik enrik 19 20 Mär 17:18 awk -> /opt/local/bin/gawk lrwxr-xr-x 1 enrik enrik 18 20 Mär 18:32 cp -> /opt/local/bin/gcp lrwxr-xr-x 1 enrik enrik 22 11 Apr 10:11 cpp -> /usr/local/bin/cpp-3.3 lrwxr-xr-x 1 enrik enrik 20 11 Apr 10:11 find -> /opt/local/bin/gfind lrwxr-xr-x 1 enrik enrik 23 20 Mär 17:18 install -> /opt/local/bin/ginstall -rwxr-xr-x 1 enrik enrik 106 20 Mär 17:24 ld lrwxr-xr-x 1 enrik enrik 21 20 Mär 17:18 sed -> /opt/local/bin/gnused
Die Pseudebefehle as und ld dienen hier nur dazu, der glibc für den Kernel-Compiler, die über crosstool erstellt wird, geeignete binutils vorzugaukeln. Die beiden Dateien sehen so aus:
~/gnubin $ cat as #! /bin/sh # fake as version for crosstool [ "$1" = -v ] && echo GNU assembler 2.13 || /usr/bin/as "$@"
~/gnubin $ cat ld #! /bin/sh # fake ld version for crosstool [ "$1" = --version ] && echo GNU ld 2.13 || /usr/bin/ld "$@"
~/gnubin $ PATH=$HOME/gnubin:$PATH
Außerdem wird ein Patch für ds-mod benötigt, den man hier herunterladen kann:
Das ganze ist wenig getestet, insbesondere habe ich noch kein so erstelltes Image ausprobiert.
Aktualisierung
Freetz läuft nun also super auf der Box, und das schon seit längerer Zeit. Da kommt es unvermeidlich vor, dass AVM eine neue Firmware-Version herausbringt, und auch die Freetz-Entwicklung ist weitergegangen. Kurzum: Man möchte nun natürlich auch von den neuen Features und Bugfixes profitieren. Wie bringt man also Freetz auf der Box auf den neuesten Stand?
Die Antwort ist recht einfach: "Siehe oben". Eine Aktualisierung geht genau so vonstatten, wie auch die Erst-Installation: Man baut sich ein neues Freetz-Image und nutzt dann das "Firmware-Update" der Box.
Hat man für die Installation eine Repository-Version verwendet, bringt man selbige zuvor auf den aktuellen Stand, indem man in das Quellverzeichnis wechselt und…
# In das Verzeichnis wechseln, in dem sich das "ausgecheckte" Freetz befindet: cd freetz # Quelldateien aktualisieren svn up # ggf. die Paketauswahl überprüfen, verändern, neue Patches aktivieren, etc. make menuconfig # Image bauen make
Und jetzt das fertige Image auf die Box.
Troubleshooting
AVM Firmware wird nicht gefunden
Das passiert regelmäßig immer dann, wenn AVM eine neue Firmware-Version herausbringt - da auf dem AVM FTP Server nie mehr als eine (i.d.R. die aktuelle) Firmware liegt. Jetzt gibt es mehrere Möglichkeiten, an das Problem heranzugehen:
- Die stable Branch aus dem SVN-Repository verwenden
- Den Entwickler-Zweig (trunk) aus dem SVN-Repository verwenden
- in make menuconfig? unter Advanced Options ⇒ Override firmware source den Namen der herunterzuladenen Image Datei anpassen
- ignorieren und warten, bis es wieder funktioniert
Zu Punkt 3 sei gesagt, dass er mit Vorsicht zu genießen ist. Bei einem reinen "Bugfix-Release" (wie dem Update von .57 auf .59) sollte das problemlos möglich sein. Wurden jedoch an der Firmware seitens AVM größere Veränderungen durchgeführt, kann das ins Auge gehen…
Image too big
Da war wieder mal jemand gierig, und hat zu viele Pakete einsacken wollen! Die Boxen haben aber nur begrenzt Platz. Wieviel das ist, hängt wiederum vom Boxtyp ab - 4, 8 oder 16MB sind gängige Werte.
Was aber nun tun, wenn diese Meldung auftaucht? Die Einleitung hat es bereits nahegelegt: Weniger Pakete auswählen. Vielleicht auch unter Patches nachschauen, ob man noch einen Teil aus der Original-Firmware rauswerfen kann.
Hilft das immer noch nicht, so kann das daran liegen, dass abhängige Bibliotheken von einer vorherigen Paketauswahl nicht wieder "aufgeräumt" wurden. In diesem Fall kann ein make config-clean-deps wunder bewirken.
