# Freetz auf 7490 installieren

#### 1. Image bauen

Das geht am komfortabelsten mit [https://github.com/pfichtner/pfichtner-freetz](https://github.com/pfichtner/pfichtner-freetz)

Dazu unter Windows 10/11 die Docker Engine nutzen und folgende Befehle ausführen

```shell
# start docker container (will start /bin/bash)
docker run --rm -it -v freetz-workspace:/workspace pfichtner/freetz
# clone (checkout) the remote repo into the current directory (only needed once/the first time)
git clone https://github.com/Freetz-NG/freetz-ng.git
# cd into the cloned repo
cd freetz-ng
# configure image
make menuconfig
# make image - on error try again
make
```

Abhängig davon ob es sich um einen NAND Router (7490) handelt, muss das Image noch als "In-Memory-Image" aufbereitet werden

```shell
builduser@a744b2c9009d:~/freetz-ng/tools$ ./image2inmemory
Reading /workspace/freetz-ng/images/7490_07.59.all_freetz-ng-24803-b2015be9aa_20241025-071013.image
Writing /workspace/freetz-ng/images/7490_07.59.all_freetz-ng-24803-b2015be9aa_20241025-071013.image.inmemory
Success!
```

Das Image kann nun aus dem Container "exportiert werden"

[![grafik.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2024-10/scaled-1680-/grafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2024-10/grafik.png)

#### 2. Image auf FritzBox hochladen

Da es sich bei der 7490 um eine NAND Version handelt, können wir das "push\_firmware" tool aus dem Freetz-Docker nicht verwenden. PeterPawn hat passende PowerShell Scripte geschrieben. Folgendes Repository lokal clonen: [https://github.com/PeterPawn/YourFritz](https://github.com/PeterPawn/YourFritz)

Die nachfolgenden Punkte sind eine Zusammenfassung aus folgender Quelle**:** [**https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577**](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)

<span style="font-size: 125%; line-height: normal;"><span style="font-weight: bold;"><span style="text-decoration: underline;">Bootloader (EVA) per FTP erreichen und anhalten  
</span></span></span>

<span style="font-size: 125%; line-height: normal;">geschrieben Da es sich bei der 7490 um eine NAND Version handelt, können wir das "push\_firmware" tool aus dem Freetz-Docker nicht verwenden. PeterPawn hat passende P</span>

<p class="callout info"><span style="font-weight: bold;"><span style="text-decoration: underline;">Vorbereitung</span></span>  
  
Prinzipiell gibt es mehrere Möglichkeiten den Bootloader zu erreichen. Man verbindet als allererstes einen LAN-Port der FRITZ!Box per Patch-Kabel mit dem LAN-Port des verwendeten PC/Notebook. Da der Bootloader und somit auch die LAN-Ports der FRITZ!Box nur kurz (ca. für 5s) nach dem Einschalten der FRITZ!Box aktiviert sind, kann es passieren, dass der PC/Notebook z.B. aufgrund des MediaSensing oder "Trägheit" des LAN-Ports des PC/Notebook nicht rechtzeitig Kenntnis davon nimmt, dass der LAN-Port der FRITZ!Box eingeschaltet ist. In solchen Fällen hilft z.B. der Einsatz eines einfachen Ethernet-Switches den man zwischen PC/Notebook und FRITZ!Box anschließt (also PC/Notebook <span style="font-style: italic;">&lt;Patchkabel&gt;</span> Switch <span style="font-style: italic;">&lt;Patchkabel&gt;</span> FRITZ!Box).  
  
Zu beachten ist außerdem, dass der Bootloader i.d.R. auf die IP-Adresse 192.168.178.1 hört <span style="font-weight: bold;">und zwar unabhängig davon, welche IPv4-Einstellungen man bei der Konfiguration im WebIf der FRITZ!Box eingestellt hat</span>! Der Bootloader hat dbzgl. seine <span style="font-weight: bold;">eigene</span> (Vor)-Einstellung welche nicht über das WebIf der FRITZ!Box bzgl. IPv4-Einstellungen geändert werden kann!  
Die IPv4-Einstellung/Adresse des Bootloader ist in der Variable "my\_ipaddress" abgelegt, diese kann also z.B. auch über die Support-Daten ausgelesen werden (falls diese Einstellung z.B. mal geändert wurde, m.W.n. macht das z.B. das ruKernelTool gerne, warum auch immer).  
Ich gehe davon aus, dass der Bootloader auf die IP-Adresse 192.168.178.1 reagiert. Ist dieser (siehe Support-Daten) evtl. auf eine andere IP-Adresse eingestellt sind die IP-Einstellungen und Kommandozeilen Befehle entsprechend anzupassen.  
  
Es bietet sich also an oder ist je nach verwendeter Methode erforderlich, die IPv4-Einstellungen der verwendeten LAN-Schnittstelle des PC/Notebook (manuell, kein DHCP) entsprechend dem Bootloader einzustellen. Wenn also der Bootloader über 192.168.178.1 erreichbar ist dann bekommt der PC/Laptop eine:</p>

- IPv4-Adresse zwischen 192.168.178.2-254,
- als Subnetzmaske bietet sich 255.255.255.0 an und
- als Gateway kann 192.168.178.1 eingetragen werden (darauf kann auch verzichtet werden wenn man z.B. in den erweiterten Einstellungen dieses Subnetz zusätzlich anlegt).

<span style="text-decoration: underline;"><span style="font-weight: bold;">4. Methode</span> (für Windows-Systeme, mit PowerShell-Script)</span>

Mit folgendem Kommando wechseln wir in den Ordner mit dem PowerShell-Script:

1. Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    cd c:\YourFritz\master\eva_tools\
    ```
    
    Ergebnis: Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    Windows PowerShell
    Copyright (C) 2016 Microsoft Corporation. Alle Rechte vorbehalten.
    
    PS C:\Users\MaxMuster> cd c:\YourFritz\master\eva_tools\
    PS C:\YourFritz\master\eva_tools>
    ```
2. Nun beginnt man <span style="text-decoration: underline;">zum Beispiel</span> mit folgendem Befehl die Suche nach dem Bootloader der FRITZ!Box: Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    .\EVA-Discover.ps1 -maxWait 120 -Debug -Verbose
    ```
3. Innerhalb der eingestellten Wartezeit (120s / 2 Minuten) verbindet man nun die FRITZ!Box mit dem Stecker-Netzteil, nach einer Weile sollte die Box gefunden werden: Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    PS C:\YourFritz\master\eva_tools> .\EVA-Discover.ps1 -maxWait 120 -Debug -Verbose
    AUSFÜHRLICH: Sending discovery packet (1) ...
    AUSFÜHRLICH: Sending discovery packet (2) ...
    AUSFÜHRLICH: Sending discovery packet (3) ...
    AUSFÜHRLICH: Sending discovery packet (4) ...
    AUSFÜHRLICH: Sending discovery packet (5) ...
    AUSFÜHRLICH: Sending discovery packet (6) ...
    AUSFÜHRLICH: Sending discovery packet (7) ...
    AUSFÜHRLICH: Sending discovery packet (8) ...
    AUSFÜHRLICH: Sending discovery packet (9) ...
    AUSFÜHRLICH: Sending discovery packet (10) ...
    AUSFÜHRLICH: Sending discovery packet (11) ...
    AUSFÜHRLICH: Sending discovery packet (12) ...
    DEBUG: Received UDP packet from 192.168.178.1:5035 ...
    AUSFÜHRLICH: Trying to connect to the FTP port to hold up the device in bootloader ...
    DEBUG: Error during FTP connection attempt ...
    EVA_IP=192.168.178.1
    True
    PS C:\YourFritz\master\eva_tools> 
    ```
4. Nun ist der Bootloader der FRITZ!Box angehalten und hat somit alle Zeit der Welt z.B. mit einem FTP-Client oder auch mit dem PowerShell-Script "EVA-FTP-Client.ps1" auf den Bootloader der FRITZ!Box zuzugreifen.

<span style="font-size: 125%; line-height: normal;"><span style="font-weight: bold;"><span style="text-decoration: underline;">Firmware-Image in den RAM hochladen und installieren lassen - 7490</span></span></span>  
  
**Voraussetzung: Die Box ist bereits im Bootloader angehalten**  
  
Zu beachten ist, dass sich das in den RAM der FritzBox hochgeladene Firmware-Image üblicherweise in das gerade aktive Partitionsset schreibt (das bestimmt nicht der Bootloader sondern das verwendete Firmware-Image, also theoretisch könnte man das entsprechende Script in der Firmware dbzgl. auch abändern). Wenn man das nicht möchte also z.B. vorher die Environment-Variable "linux\_fs\_start" entsprechend abändern.Man startet die PowerShell (Voraussetzungen s.h. Beitrag #3), falls diese vom vorhergehenden Schritt nicht mehr offen sein sollte:

1. Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    Windows PowerShell
    Copyright Microsoft Corporation. Alle Rechte vorbehalten.
    
    PS C:\Users\MaxMuster>
    ```
2. Bei Bedarf auslesen des aktiven Partitionsset (Variable "linux\_fs\_start") per folgendem Kommando: Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -ScriptBlock { GetEnvironmentValue linux_fs_start }
    ```
    
    Das Ergebnis sieht dann z.B. so aus: Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    PS C:\Users\MaxMuster> c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -ScriptBlock { GetEnvironmentValue linux_fs_start }
    1
    PS C:\Users\MaxMuster>
    ```
3. Den Wert der Variable <span style="font-style: italic;">linux\_fs\_start</span> (hier im Beispiel "1") bei Bedarf ändern wenn man die Firmware im anderen (derzeit inaktiven) Partitionsset installieren möchte (ansonsten diesen Schritt einfach überspringen): Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -Verbose -ScriptBlock { SwitchSystem }
    ```
    
    In diesem Beispiel ist der aktuelle Wert 1. Das bedeutet, das Script setzt den Wert auf 0, das sieht dann so aus: Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    PS C:\Users\MaxMuster> c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -Verbose -ScriptBlock { SwitchSystem }
    AUSFÜHRLICH: current setting - linux_fs_start=1
    AUSFÜHRLICH: new setting     - linux_fs_start=0
    AUSFÜHRLICH: new value set successfully
    True
    PS C:\Users\MaxMuster>
    ```
    
    ---
4. Hochladen des **In-Memory Images** mit folgendem Kommando: Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { BootDeviceFromImage c:\YourFritz\Images\firmware.image.in-memory }
    ```
    
    
    - Alternativ für die IPQ4019-Modelle (FRITZ!Box 7520, 7530 und FRITZ!Repeater 3000) mit zusätzlichem Parameter 0 (Null oder False): Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
        
        ```
        c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { BootDeviceFromImage c:\YourFritz\Images\firmware.image.in-memory 0 }
        ```
        
        <span style="font-size: 85%; line-height: normal;">Weiteres dazu siehe Beitrag von @PeterPawn im IPPF: [https://www.ip-phone-forum.de/posts/2320843/](https://web.archive.org/web/20190529205946/https://www.ip-phone-forum.de/posts/2320843/)</span>
    
    Nun abwarten bis das Image hochgeladen wurde.

<p class="callout danger">  
<span class="glow" style="display: inline; padding: 0 6px; color: #fff; text-shadow: 0 0 1em red,0 0 1em red,0 0 1.2em red;"><span style="text-decoration: underline;"><span style="font-weight: bold;">Hinweis</span></span></span>  
Nach dem Hochladen des Image kann die PowerShell-Konsole geschlossen werden aber die Box darf noch nicht von der Stromversorgung getrennt werden!  
Die Box nach dem hochladen der Firmware in den RAM eine Weile in Ruhe zu lassen (nicht die Stromzufuhr unterbrechen), es ist normal, dass die Box während des Vorganges zweimal neu startet.</p>

#### 3. Login

Nachdem die Fritzbox neu gebootet hat (192.168.178.1), kann man nun entweder über Port 81 oder im Webinterface über den Button auf die Freetz Oberfläche:

[![grafik.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2024-10/scaled-1680-/Rnografik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2024-10/Rnografik.png)

Das Standartlogin lautet:

**Benutzername:** root  
**Passwort:** freetz