Das größte Problem bei Vorschau-Version und Trunk: Sie können Fehler enthalte, die das erfolgreiche Kompilieren der Firmware verhindern. Im Laufe unseres Test traten immer wieder Situationen auf, in denen sich eine der beiden Versionen nicht erzeugen ließ – entweder, weil Download-Links zu Quellcode-Archiven nicht mehr stimmten oder Fehler beim Übersetzen auftraten. Sollte Ihre Fritzbox mit der offiziellen Version 1.1.4 funktionieren, so ist diese Version für den Einstieg in Freetz ideal.
Welche Freetz-Version nun welche Fritzbox unterstützt, entnehmen Sie am besten den unter [6] verlinkten FIRMWARES
-Dateien. Dort sehen Sie, sobald Sie in der Datei etwas herunterscrollen, eine Übersicht der unterstützen Modelle (Abbildung 2). Für die aktuellen AVM-Flaggschiffe wie etwa die Fritzbox 7390 müssen Sie beispielsweise mindestens zur Vorschau-Firmware Freetz 1.2 greifen.
Freetz herunterladen und Kompilieren
Nun starten Sie endgültig mit dem Bauen ihrer Freetz-Firmware. Das Herunterladen des Quellcodes erfolgt bei Freetz nicht über einen herkömmlichen Download eines Archivs, sondern über das Auschecken des Codes mittels der Versionsverwaltung Subversion. Die Freetz-FAQ beschreiben das Vorgehen dazu ausführlich [7].
Je nach gewähltem Image und den hinzugefügten Funktionen belegt der Quellcode mit allem Drum und Dran bis zu 4 GByte auf der Festplatte. Es empfiehlt sich, einen Ordner ~/src
im Home-Verzeichnis und den Code dort zu lagern. Das Beispiel in den Zeilen 1 bis 4 von Listing 1 lädt den Code für die Vorschau-Version herunter, die Download-Kommandos für die anderen Versionen unterscheiden sich nur wenig. Der Befehl umask 022
beugt Problemen vor, die sonst später beim Aufruf von make menuconfig
entstehen könnten.
Listing 1
$ mkdir ~/src $ cd ~/src $ umask 022 $ svn co http://svn.freetz.org/branches/freetz-stable-1.2 freetz-1.2-pre [...] $ cd freetz-1.2-pre $ make menuconfig
Nach dem Download des Quelltextes richten Sie als Nächstes Ihr ganz persönliches Freetz-Image individuell ein. Die wenigsten Freetz-Installation gleichen sich, da man zahlreiche Optionen zu- oder abwählen kann. Wechseln Sie dazu im Terminalfenster in das Verzeichnis mit dem Quellcode und führen Sie dann das “Konfigurationsprogramm” aus (Listing 1, Zeilen 6 und 7).
An dieser Stelle wird es nun ein wenig komplizierter, da es eine Flut an Optionen zu bewältigen gilt (Abbildung 3). Eine gute Hilfe bietet hier die Dokumentation zum Kommando make menuconfig
im Freetz-Wiki [8], die jede einzelne Option beschreibt. Allerdings müssen Sie gar nicht jeden Schalter auch anfassen: In der Regel sind nur der Hardware type sowie die Auswahl der zu installierenden Patches und Pakete von Bedeutung.
Entscheidend ist die Einstellung zum Hardware type: Über diese Auswahl bestimmen Sie, welche Funktionen für ihre Box zur Verfügung stehen. Wählen Sie das falsche Modell, so lässt sich das erzeugte Freetz-Image im besten Fall nicht installieren, im schlimmsten Fall könnte die Fritzbox Schaden nehmen. Die Kennzeichnung Ihrer Fritzbox finden Sie entweder auf der Box selber oder im Administrationsfrontend unter http://fritz.box
(Abbildung 4).
Von hier an können Sie eigentlich alles bis auf die Patches und die Package selection ignorieren. Über einen Patch verändern Sie die Original-Firmware und fügen ihr beispielsweise Unterstützung für die Linux-Dateisysteme Ext2/3/4 hinzu. Alternativ können Sie auch Funktionen der Original-Firmware entfernen, etwa die Hilfe oder die Kindersicherung, um Platz für wichtigere Funktionen zu schaffen. Die Patches greifen also direkt in die Original-Firmware ein und modifizieren den AVM-Kern der Fritzbox. Eine Beschreibung eines jeden Patches finden Sie wieder im Freetz-Wiki [9]. Einen ersten Einblick gewährt die nebenstehende Tabelle “Patches und Pakete für Freetz”, welche die gebräuchlichsten Modifikationen aufführt.
Patches und Pakete für Freetz
Patch | Funktion |
---|---|
FREETZMOUNT | automatisches Mounten von mit Ext2/3/4 oder ReiserFS partitionierten Datenträgern |
remove_help | entfernt die Online-Hilfe aus der Original-Firmware |
remove_usermand | entfernt die in der Fritzbox eingebaute Kindersicherung (verschafft viel Platz) |
remove_vpn | entfernt die proprietären und unter Linux schlecht nutzbaren VPN-Funktion von AVM (verschafft viel Platz) |
Paket | Funktion |
dropbear | Einloggen per SSH |
lighttpd | schlanker, aber vollwertiger Webserver (spart gegenüber Apache viele Ressourcen) |
nano | komfortablerer Texteditor für das Terminal |
nfs-utils | angeschlossene Datenträger über NFS freigeben |
OpenVPN | leistungsfähige VPN-Lösung, arbeitet hervorragend mit Linux-Gegenstellen |
Webfrontend-CGI | Funktion |
Syslogd-CGI | Syslog bequem über das Webfrontend von Freetz auslesen |
NFSD-CGI | Dateifreigaben für NFS einrichten |
Über die Pakete (Abbildung 5) installieren Sie dagegen zusätzliche Software auf ihrer Fritzbox. Ähnlich wie bei der Paketverwaltung einer Linux-Distribution richten Sie dabei verschiedene quelloffene Anwendungen und Dienste auf der Box ein. Auf diesem Weg gelangen beispielsweise ausgewachsene Webserver wie Apache oder Lighttpd, leistungsfähige FTP-Server wie Vsftpd oder VPN-Server wie OpenVPN auf die Fritzbox. Daneben bringen Sie auf diesem Weg zahlreiche weitere Dienste, die in der Linux-Welt äußerst gebräuchlich sind, auf die Fritzbox – zum Beispiel auch den SSH-Server Dropbear, über den Sie sich bequem über SSH auf der Fritzbox einloggen und Änderungen an der Konfiguration vornehmen.
Die Möglichkeit zur Paketinstallation macht – zugegeben – einen Großteils des Charmes von Freetz aus. Lassen Sie aber trotzdem bei der Auswahl der Pakete Vorsicht walten und installieren Sie nicht mehr als unbedingt notwendig. Gerade ältere Fritzboxen verfügen über nur wenig Speicher, sodass sie schnell an die Grenzen ihrer Kapazität stoßen. Sie können im Falle eines Falles später nach und nach weitere Pakete zu dem Freetz-Image hinzufügen – beginnen Sie also besser mit einem schlanken Image.
Bei Paketen, die mit dem Zusatz binary only in der Liste stehen, handelt es sich um reine Binaries, die weder ein Webinterface noch Init-Skripte zum Start des Programms mitbringen. Sie müssen sich also selbst um die Konfiguration und den Aufruf kümmern.
Haben Sie alle gewünschten Einstellungen getroffen und abgespeichert, dann beenden Sie das Konfigurationstool und starten per make
das Bauen des Freetz-Images. Im Zuge des Befehls lädt die Routine den Quellcode für den Linux-Kernel sowie die restlichen Bausteine des Freetz-Images aus dem Internet. Stellen Sie also sicher, dass eine Internetverbindung steht – bei einer langsamen Anbindung brauchen Sie obendrein etwas Geduld. Nach dem Ende des Build-Prozesses finden Sie dessen Ergebnis im Unterordner images
.
Image installieren
Bislang haben Sie auf der Fritzbox selber kein einziges Byte geändert. Mit der Installation des von Ihnen gebauten Freetz-Images wird sich das jedoch nun ändern. Das Einrichten einer selbst gestrickten Firmware stellt in Bezug auf die Gewährleistung leider immer ein problematisches Thema dar. Bei Problemen mit der Fritzbox, die auf die Installation von Freetz zurückzuführen sind, können Sie auf Unterstützung von AVM nicht hoffen.
FB 7490 ohne Freetz mit aktueller FW 07.12
> GIGA-LAN
> USB3-HUB an einem der zwei USB3-Ports der FRITZ
> 4 NTFS-Festplatten mit je 2 Partitionen a 3,64 TB an USB3 (insg. 29,12 TB)
TRANSFERRATE SMB> ca 13 MB/s
TRANSFERRATE FTP> bei 25 MB/s !
Media-Server der FB ist deaktiviert
Geht’s mit Freetz und NFS-MOUNT und EXT3 schneller ?????
Aber 29 TB von nfts auf ext3 deshalb neu formatieren ???? lol