Flash Partitionierung

Im Flash der Fritzbox befinden sich bei jedem Modell folgende funktionale Einheiten:

  • Bootloader: ADAM2 (+ Environment)
  • Kernel: Linux 2.4.17_mvl21-malta-mips_fp_le oder 2.6.13.1-ohio
  • Dateisystem: SquashFS (gzip oder lzma)
  • Konfigurations-Dateien: TFFS

Bei der Flash Einteilung der Fritzboxen gibt es drei „Geschmacksrichtungen“. Man kann dabei die Boxen in zwei Klassen einteilen: „Hidden Root“ und „nicht-Hidden-Root“. Bei den „nicht-Hidden-Root“ Boxen kommt je nach Firmware Version Hidden SquashFS (bis *.04.01) oder Contiguous SquashFS zum Einsatz. Inzwischen haben alle Boxen, für die eine aktuelle Firmware mit Kernel 2.6.13.1 existiert, ein Bootloader-Update (EVA) bekommen. Damit wird das Flash Layout auf Hidden-Root umgestellt.

Ein Firmware Update lädt die enthaltenen Dateien filesystem.image nach mtd0 und kernel.image nach mtd1. Gelegentlich enthält ein Firmware Update auch eine Aktualisierung des Bootloaders welcher nach mtd2 geladen wird. Der ds-mod modifiziert filesystem.image und kernel.image. Von einer Modifikation des Bootloaders ist dringend abzuraten, da man die Box ohne funktionierenden Bootloader nicht mehr wiederherstellen kann.

Die mtd Tabelle befindet sich in der ADAM2 Environment und kann mit

cat /proc/sys/dev/adam2/environment | grep mtd
abgerufen werden. Bei Firmwares mit dem neuen Kernel (2.6.13.1) muss es so aussehen:
cat /proc/sys/urlader/environment | grep mtd
In dieser Tabelle sind immer mtd0 bis mtd4 aufgelistet. Im Falle von „Hidden Root“ ist die Start und End-Adresse von mtd0 gleich 0 und mtd0 wird am Ende des Kernels ausgerichtet. Bei „nicht-Hidden-Root“ Boxen werden mtd5 und mtd6 zusätzlich ausgerichtet am Ende des Kernels erzeugt. Zum Beispiel sieht die mtd Tabelle bei einer Fritzbox mit 4 MB Flash ohne Hidden Root folgendermaßen aus (passend zu den Schaubildern von Hidden SquashFS und Contiguous SquashFS am Beispiel der Fon WLAN 7050):
mtd0    0x900C0000,0x903C0000
mtd1    0x90010000,0x900C0000
mtd2    0x90000000,0x90010000
mtd3    0x903C0000,0x903E0000
mtd4    0x903E0000,0x90400000
Die mtd Tabelle einer Box mit 8 MB Flash mit Hidden Root (passend zum Schaubild von Hidden Root am Beispiel der 7170):
mtd0    0x90000000,0x90000000
mtd1    0x90010000,0x90780000
mtd2    0x90000000,0x90010000
mtd3    0x90780000,0x907C0000
mtd4    0x907C0000,0x90800000

Hidden SquashFS

Diese Boxen verwenden bis Firmware Version *.04.01 Hidden SquashFS (original Firmware):

  • 4 MB Flash
    • Eumex 300 IP
    • Fritzbox Fon
    • Fritzbox Fon 5050
    • Fritzbox Fon ATA
    • Fritzbox Fon WLAN
    • Fritzbox Fon WLAN 7050
    • Fritzbox SL WLAN
    • Fritzbox WLAN 3030
    • Fritzbox WLAN 3050

Das Hidden SquashFS beginnt direkt hinter dem Kernel (256 Byte Padding) und enthält vor allem Treiber. Es wird während des Bootvorgangs im Startskript rc.S gemounted. Der Kernel und das Hidden SquashFS befinden sich in kernel.image, das root Dateisystem in filesystem.image. Hidden SquashFS am Beispiel der Fon WLAN 7050:

Contiguous SquashFS

Diese Boxen verwenden Contiguous SquashFS (original Firmware):

  • 2 MB Flash
    • Fritzbox SL
  • 4 MB Flash
    • Fritzbox Fon WLAN 7050 14.04.03 Beta

Beim Contiguous SquashFS wird fängt das root Dateisystem direkt nach dem Kernel an (256 Byte Padding). Da das root Dateisystem nun über mtd0 und mtd1 verteilt liegt, muss es im Firmware Update auch dementsprechend auf die Dateien kernel.image (Kernel + Anfang des root Dateisystems) und filesystem.image (Rest des root Dateisystems) aufgeteilt werden. Contiguous SquashFS am Beispiel der Fon WLAN 7050:

Hidden Root

Diese Boxen verwenden Hidden Root :

  • alle Boxen mit Kernel 2.6.13.1

Bei Hidden Root befindet sich das root Dateisystem – ähnlich wie bei Contiguous SquashFS – direkt hinter dem Kernel (256 Byte Padding). Diese Boxen kann man daran erkennen, dass die Start- und End-Adresse von mtd0 in der mtd Tabelle gleich 0 und die Datei filesystem.image im Firmware Update leer ist. kernel.image enthält sowohl den Kernel als auch das root Dateisystem. Hidden Root am Beispiel der Fon WLAN 7170 (die kürzeren Balken für den Kernel und das root Dateisystem sollen nur andeuten, dass auf der Box von den 8 MB noch einiges mehr frei ist, als bei den 4 MB Boxen):

 
software/ds-mod/development/flash.txt · Zuletzt geändert: 2007/10/27 13:20 von olistudent
 
Impressum
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki