Freetzimage erstellen

Hier möchte ich auf die Erstellung eines Freetz Images für die Fritzbox eingehen. Zuerst braucht man einen PC mit Linux, PC mit LiveCD (Knoppix, Ubuntu, Kubuntu usw.) oder wie in diesem Artikel beschrieben einen USB-Stick mit Knoppix.
Der Vorteil an der letzteren Variante, man hat ein dauerhaftes Betriebssystem. D.h. es müssen nicht immer wieder die Pakete für das Kompilieren installiert werden, wie z.B. bei einer LiveCD. Dank Knoppix ist der Stick universal an „fast“ jedem Computer einsetzbar. Einstecken, von USB booten und man hat seine gewohnte Buildumgebung. Es wird allerdings unbedingt ein UNIX Dateisystem benötigt, das die Rechte bzw. Benutzer und Gruppen speichert. Ich mache das über eine NFS Freigabe auf meinem NAS. Die Festplatte darin ist in EXT3 formatiert. Man kann natürlich auch eine Partition auf dem eingesetzten Computer einrichten, 5 – 10GB sollten locker reichen. Eine weitere Möglichkeit ist einen größeren Stick für die Knoppixinstallation zu verwenden. Ich habe einen 4GB USB-Stick benutzt, der mit den Knoppixdateien und den Aktualisierungen schon zu 33%(2,1GB frei) belegt ist. Mein neu erstelltes freetz Verzeichnis ist in der Grundkonfiguration mit ein paar Erweiterungen, die meiner Meinung nach nicht fehlen sollten, schon 1,9GB groß. Ihr könnt versuchen es auf den Stick zu laden. Besser ist es aber gleich einen zweiten oder einen größeren (8GB) USB-Stick zu verwenden.
So jetzt aber zum Image bauen.
1. In ein Verzeichnis wechseln das mindestens 2GB freien Speicher hat. Bei einem großen USB-Stick sollte es reichen wenn Ihr ein mkdir /home/freetz macht. In der weiteren Beschreibung werde ich von diesem Verzeichnis ausgehen. Solltet Ihr euch für die 2-Stick- oder für die Festplattenvariante entschieden haben, dann findet Ihr euren Mountpunkt bestimmt in /media. Am besten mit dem Befehl mount
überprüfen und mit cd in das entsprechende Verzeichnis wechseln.

su knoppix
mkdir /home/freetz
cd /home/freetz
svn co http://svn.freetz.org/trunk freetz-trunk

Ich verwende in meinem Beispiel die Entwicklerversion. Wer dies nicht möchte kann sich im Freetz-Wiki gern nach einer anderen Version umschauen. Link zu dem passenden Artikel im Freetz-Wiki.
2. Nachdem das Grundsystem heruntergeladen wurde, müssen wir in das passende Verzeichnis wechseln und das Menü aufrufen.

cd freetz-trunk
make menuconfig

Hier in diesem Menü werden die einzelnen Pakete ausgewählt.
Zuerst sollte die richtige Fritzbox gewählt werden. In meinem Fall ist das eine FritzBox Fon WLAN 7240.
Ich mache hier nur eine kleine Aufstellung der von mir verwendeten Programme. Den Rest kann man hier nachlesen oder selbst testen. Die Bezeichnungen sind direkt aus dem Freetzinstaller, ihr solltet also diese Einstellungen direkt im Menü wieder finden.

 

Menü Patches:
Patch extended DSL settings Hier werden die neusten DSL-Einstellungen in alle FW inegriert.
Patch GUI to enable external SIP connections Hier werden die SIP-Einstellungen um eine Checkbox erweitert.
Patch web menu signed message Unterdrückt die Meldung das dies eine falsche Firmware sei.
Patch AVMs hotplug scripts, USB storage names, … Die Namen für die Mountpunkte können über das Webif eingestellt werden. uvm.
Automount filesystems ext2, ext3, ext4, fat, NTFS Die ausgewählten Filesysteme werden von der Fritzbox automatisch gemountet bzw supportet. (Versucht mal einen ext2 Stick an einer normalen FB anzuschließen)
Menü Standard packages
Callmonitor Ein Supertoller Anrufmonitor der ganz leicht an die Verschiedensten Wünsche angepasst werden kann.
Cifsmount Tool um Windows Freigaben auf der Fritzbox zu mounten
Dnsmasq DHCP, TFTP, DNS Server alles in einem, großer Vorteil beim Booten aus dem Netzwerk.
Dropbear ein kleiner schlanker SSH2-Server
Midnight Commander Norton Commander Klon für die Konsole
nfs-utils NFS-Server und Client
NTFS-3G Lese/Schreibzugriff auf das NTFS Dateisystem
Samba Windows Freigaben auf der Fritbbox erstellen
Screen Virtuelle Konsole die man nach einem Disconnect wieder aufrufen kann. Ganz gut bei Programmen die weiter laufen sollen, nachdem man den Putty geschlossen hat.

 

Menü Testing:
Iptraf Trafficmonitor um zu prüfen wie der DSL / LAN Anschluß gerade ausgelastet ist.
OpenDD Client für Dyndns, ich hatte ein paar Probleme mit dem Client der in der originalen FW eingebaut ist.
Wget HTTP Anfragen über die Konsole

 

Menü Web interfaces:
Frontend for managing SSH authorized_keys Webif um SSH-Keys komfortabel einzufügen oder zu verwalten.
AVM-firewall Einfach zu verstehendes Webif für die AVM-Firewall, mit der es unter anderem möglich ist ein Portweiterleitung auf die Fritzbox zu machen.
NFSD CGI Webif um den NFS-Server zu konfigurieren
Onlinechanged-CGI Script was beim Verbindungsaufbau ausgeführt wird. Nützlich zb. für Dyndns oder ähnliches.
Syslogd CGI legt ein Systemprotokoll an
Wake-on-LAN (WoL) CGI PC’s Remote starten

freetz.ssl.test.80Ganz wichtig für den ersten Versuch ist, das kein SSL mit compiliert wird. Es gibt immer mal wieder ein paar Probleme, weil sich das Modul von AVM und das von Freetz nicht miteinander vertragen. Also jetzt noch prüfen ob ein Modul mit SSL gebaut werden soll.
Advanced options —> Shared Libraries —> Crypto & SSL —> hier darf nichts ausgewählt sein

Jetzt sind wir fast fertig. Das Menü wird mit Exit verlassen und die Frage nach dem speichern der Konfiguration sollten wir mit ja beantworten.

3. Wir sind noch in unserem Buildverzeichnis (/home/freetz/freetz-trunk), jetzt wird mit dem unteren Befehl der Buildprozess gestartet.

make

freetz.finished.10030min oder mehr wird der Prozess schon dauern, dann sollte in der Console etwas stehen wie hier vorn im Bild. Das fertige Image kann man dann unter /home/freetz/freetz-trunk/images finden.

So das war das erste Image. Herzlichen Glückwunsch. Jetzt muß es nur noch in die Fritzbox. An der Fritzboxoberfäche anmelden und zu System –> Firmeware Update –> Firmeware-Datei navigieren. Nachdem die Einstellungen gesichert wurden kann man das Image hochladen. Direktlink zur Frizboxoberfläche
Wenn Sie den Reiter mit Firmware Update nicht finden sollten, aktivieren Sie die Expertenansicht. System –> Ansicht –> Expertenansicht

4. Freetzimage aktualisieren Sie über folgenden Befehl

# von root zu einem „normalen“ Benutzer wechseln
su knoppix
# In das Freetzverzeichnis wechseln
cd /home/freetz/freetz-trunk
# Update starten
svn up
# neue Menüdatei schreiben oder alte benutzen
# alt
make oldconfig
# neu
make menuconfig
# aktualisiertes Image bauen
make