- Mitglied seit
- 9 Aug 2005
- Beiträge
- 2,222
- Punkte für Reaktionen
- 1
- Punkte
- 36
Der bootloader (Urlader) auf mtd2 ist das "Herz" jeder Fritzbox, vergleichbar dem BIOS bei einem Windows PC. Bei den neueren FW Versionen (Kernel 2.6) sind viele interessante Parameter permanent im bootloader definiert. Oftmals möchte man einige dieser Parameter ändern. Leider ist das nicht ganz einfach.
Bei meinen Experimenten mit einem JTAG Interface (Wiederbelebung scheintoter FritzBoxen) habe ich gelernt, den bootloader zu lesen, zu verändern und wieder nach mtd2 zu schreiben.
Da offenbar viele User das auch möchten, sich aber nicht trauen oder nicht wissen, wie es geht, eröffne ich dazu einen neuen Thread.
Achtung! Die folgende Kurzbeschreibung einer "Operation am offenen Herzen" ist riskant; Fehler können für die FritzBox tödlich enden (Zerstörung des Urladers).
Deswegen beschreibe ich die Schritte absichtlich nicht detailliert.
Nur nachmachen, wenn man sich ganz sicher ist, was man tut. Jegliche Aktivität erfolgt auf eigenes Risiko!
Im Prinzip ist es eigentlich einfach:
Viele ehemalige environment Parameter (z.B. HWRevision, Annex) stehen bei FW mit dem Kernel 2.6 (ungefähr ab FW xx.04.30) im Urlader (bootloader) in der Flash-Partition mtd2 (file "mtdblock3"). Somit werden sie bei jedem reboot neu geladen.
Um diese Parameter permanent zu ändern, muss man "nur" den bootloader kopieren, modifizieren und wieder zurück auf die FB schreiben.
Problem: Der bootloader "mtdblock3" steht im Verzeichnis /dev und lässt sich mit normalen Mitteln (FTP, Telnet etc.) nicht überschreiben.
Vorgehensweise:
a) Man geht mit Telnet auf die FB und kopiert den bootloader "mtdblock3" aus dem Verzeichnis /dev in das Verzeichnis /var/tmp, z.B. mit dem Namen "mtd2.bin"
b) Man holt sich den bootloader auf den PC, z.B. mit Telnet und tftp32 (Befehl "tftp -p -l mtd2.bin 192.168.178.xxx").
Dabei ist "192.168.178.xxx" die aktuelle IP-Adresse des PCs.
c) Mit einem geeigneten Hex-Editor öffnet man die Datei mtd2.bin und ersetzt die zu ändernden Parameter überall dort, wo sie vorkommen
d) Man schreibt den modifizierten Bootloader mit Telnet und tftp32 zurück in das Verzeichnis /var/tmp auf der FB (Befehl "tftp -g -r mtd2.bin 192.168.178.xxx")
e) Mit Telnet kopiert man den modifizierten bootloader vom Verzeichnis /var/tmp mit dem Namen "mtdblock3" in das Verzeichnis /dev der FB
f) Fertig! Die FritzBox meldet sich jetzt mit den neuen Parametern (z.B. annex A statt annex B), als ob sie "so geboren wäre"
Die Schritte a) und e) habe ich absichtlich nicht ausführlich beschrieben. Jeder, der sich ein wenig mit Telnet auskennt, weiss, welche Befehle er dazu braucht (ist auch hier im Forum mehrfach beschrieben).
Viel Erfolg für den, der sich traut!
el_valiente
.
Bei meinen Experimenten mit einem JTAG Interface (Wiederbelebung scheintoter FritzBoxen) habe ich gelernt, den bootloader zu lesen, zu verändern und wieder nach mtd2 zu schreiben.
Da offenbar viele User das auch möchten, sich aber nicht trauen oder nicht wissen, wie es geht, eröffne ich dazu einen neuen Thread.
Achtung! Die folgende Kurzbeschreibung einer "Operation am offenen Herzen" ist riskant; Fehler können für die FritzBox tödlich enden (Zerstörung des Urladers).
Deswegen beschreibe ich die Schritte absichtlich nicht detailliert.
Nur nachmachen, wenn man sich ganz sicher ist, was man tut. Jegliche Aktivität erfolgt auf eigenes Risiko!
Im Prinzip ist es eigentlich einfach:
Viele ehemalige environment Parameter (z.B. HWRevision, Annex) stehen bei FW mit dem Kernel 2.6 (ungefähr ab FW xx.04.30) im Urlader (bootloader) in der Flash-Partition mtd2 (file "mtdblock3"). Somit werden sie bei jedem reboot neu geladen.
Um diese Parameter permanent zu ändern, muss man "nur" den bootloader kopieren, modifizieren und wieder zurück auf die FB schreiben.
Problem: Der bootloader "mtdblock3" steht im Verzeichnis /dev und lässt sich mit normalen Mitteln (FTP, Telnet etc.) nicht überschreiben.
Vorgehensweise:
a) Man geht mit Telnet auf die FB und kopiert den bootloader "mtdblock3" aus dem Verzeichnis /dev in das Verzeichnis /var/tmp, z.B. mit dem Namen "mtd2.bin"
b) Man holt sich den bootloader auf den PC, z.B. mit Telnet und tftp32 (Befehl "tftp -p -l mtd2.bin 192.168.178.xxx").
Dabei ist "192.168.178.xxx" die aktuelle IP-Adresse des PCs.
c) Mit einem geeigneten Hex-Editor öffnet man die Datei mtd2.bin und ersetzt die zu ändernden Parameter überall dort, wo sie vorkommen
d) Man schreibt den modifizierten Bootloader mit Telnet und tftp32 zurück in das Verzeichnis /var/tmp auf der FB (Befehl "tftp -g -r mtd2.bin 192.168.178.xxx")
e) Mit Telnet kopiert man den modifizierten bootloader vom Verzeichnis /var/tmp mit dem Namen "mtdblock3" in das Verzeichnis /dev der FB
f) Fertig! Die FritzBox meldet sich jetzt mit den neuen Parametern (z.B. annex A statt annex B), als ob sie "so geboren wäre"
Die Schritte a) und e) habe ich absichtlich nicht ausführlich beschrieben. Jeder, der sich ein wenig mit Telnet auskennt, weiss, welche Befehle er dazu braucht (ist auch hier im Forum mehrfach beschrieben).
Viel Erfolg für den, der sich traut!
el_valiente
.