Apr 242011
 

Freetz ist eine Firmware-Erweiterung (Modifikation) für die AVM Fritz!Box und baulich ähnliche Geräte: Die Original-Firmware des Herstellers wird um zusätzliche Funktionen erweitert und mit einer individuellen Zusammenstellung von Programmen ergänzt. Freetz ist freie Software und wird von Oliver Metz, Alexander Kriegisch u.v.a. weiter entwickelt.

Ich kann nur empfehlen zuerst auf der Entwicklerseite und im Forum bzw. im Wiki nachzulesen.

Zur Zeit suche ich nach einer Möglichkeit das Root-File-System so beschreibar zu machen, wie es unter OpenWrt schon der Fall ist. Der Trick besteht darin mit mini_fo einen beschreibbaren Datenträger über das urspr. Datei-System zu legen. Leider erfüllen das mini_fo und usb_root Modul jeweils nur eine Komponente. Denn mein Ziel wäre es die Box so hinzubekommen, dass sie:

  1. Immer hochfährt, auch wenn kein USB-Stick angesteckt ist. Sprich sie sollte “fail-safe sein”
  2. Wenn ein USB-Stick angeschlossen ist das Datei-System über das Default-System gelegt wird und damit auf dem Stick nur die
    Änderungen zum Orginal-Mod abgelegt sind (bspw. Konfigurationen, zusätzliche Programme etc.)
  3. Das ganze das Root-File-System ersetzt, so dass man darauf arbeiten kann wie mit jedem anderen Linux ohne auf Pfad-Prefixe wie /var/mod achten zu müssen

Das Endziel wäre es eine Paketverwaltung wie sie OpenWrt mit IPKG bietet verwenden zu können. Nachinstallierte Pakete werden dann automatisch auf den USB-Stick geschrieben und können von dort auch automatisch beim Neustart gestartet werden. Somit müsste man Freetz nur dann neu kompilieren und die Fritz-Box flashen, wenn sich der Kernel ändert. Ansonsten könnte man fertige Binärpakete herunterladen.

Aus den Quellcodes vom usb_root und mini_fo Modul, sowie diesem Thread habe ich momentan folgenden Stand. Ich fürchte allerdings, dass das ganze in eine Sackgasse führt:

/var # cat /var/flash/debug.cfg

#!/bin/sh
modprobe ext2
mount /dev/sda1 /sto
swapon /sto/swapfile

Manuell führe ich danach immer noch diese Kommandos aus:

# Mini-FO Modul laden
modprobe mini_fo

# das aktuelle Root-Verzeichnis nach /var mounten, wobei / das ROM-System ist und in /sto/mini_fo der USB-Träger eingemounted ist
mount -t mini_fo -o base=/,sto=/sto/mini_fo / /var

# nach /var wechseln (hier findet sich jetzt der MERGE aus dem ROM-System und allen Änderungen am USB-Datenträger
cd /var

# Das aktuelle Verzeichnis zum neuen Root machen und das alte nach rom (das Verzeichnis muss im aktuellen Datei-Pfad existieren) verschieben.
pivot_root . rom

# Das PROC-Datei-System auf den neuen Mount-Point schieben
mount -o move /rom/proc/ proc/

# Das VAR Verzeichnis, das im RAM liegt auch in das neue Root-System verschieben
mount -o move /rom/var /var

# Und das alte Quellverzeichnis auch
mount -o move /rom/sto/ sto
  •  24. April 2011
  •  Posted by at 13:43
  •   Kommentare deaktiviert für AVM-Fritz Box – Freetz Mod
  •   Hardware