|
|
Inhaltsverzeichnis
Fritz!Box mit Freetz und nfsroot Tutorial
Schritt 1: Freetz compile und flashen
Prüfen der Systemeinstellungen (ADAM2 Settings)Im Bootloader der Fritz!Box ist ein rudimentärer FTP-Server integriert mit dem bei Notfällen die environment-Konfiguration vom urloader angepasst oder per FTP ein Image neu eingespielt werden. Wichtig ist dabei, das man die IP-Adresse der Box beim Booten wissen sollte. Die IP Adresse des urloaders ist nicht die Gleiche, die beim Image-Start gesetzt wird! IP ist normalerweise: 192.168.178.1 oder 192.168.1.1 (wie bei mir).
Die Daten des urloaders lassen sich anzeigen:
Zugriff auf den ADAM2 / urlader Bootloader per FTP in Notfällen
Beispiel einer ADAM2 Sitzung um die aktuelle my_ipaddress anzuzeigen oder weitere Environment-Variablen zu sehen: ftp 192.168.178.1 (login mit user adam2 und passwort adam2) $ debug $ bin $ help $ quote GETENV my_ipaddress Hier können auch dann Images wieder aufgespielt werden wenn gar nichts mehr geht. Den Rest Doku gibt es genügend im Netz. NFS Boot in der Fritz!Box aktivierenBitte vorher die /etc/exports vom NFS-Server anpassen und das Verzeichnis freigeben/vorbereiten. Im freetz-ordner unter „build/modified/filesystem“ befindet sich das Dateisystem, das in den NFS-Root wandern sollte.
$ cd /etc/init.d $ ./rc.nfsroot help $ ./rc.nfsroot share <nfs-server-ip>:<nfs-share-path> NFS share name added to bootloader environment $ ./rc.nfsroot $ ./rc.nfsroot status $ ./rc.nfsroot on reboot. freetz compile für nfsroot, diesmal ohne Platzprobleme
TroubleShooting
Eigene Programme compilenQuelle: http://freetz.org/wiki/help/howtos/development/compile_own_progs Nachdem die Toolchain heruntergeladen oder gebaut wurde, kann sie verwendet werden, um eigene Programme, oder solche, die noch nicht als Paket zur Verfügung stehen, zu übersetzen. Den MIPS-Compiler zum Pfad hinzufügen: export PATH=/pfad/zu/freetz/toolchain/target/bin:$PATH
Optionen für ./configure: ./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux (i386-linux-gnu ist nicht unbedingt notwendig, nur beschwert sich configure, wenn es nicht angegeben ist. Auf 64-Bit-Plattformen oder Nicht-Intel-Architekturen muß es natürlich anders heißen.)
Statisches Linken der Binaries, damit sie keine separaten Libraries benutzen, sondern sie gleich enthalten (funktioniert aber nicht bei jeder Software): LDFLAGS=-static ./configure ... Statisch gelinkte Binaries sind einfacher zu installieren, weil sie eben alles enthalten - aber dadurch sind sie größer, und wenn sie mit anderen Programmen gemeinsam genutzte Funktionalität haben, verschwenden sie Speicherplatz. Außerdem müssen sie separat upgedatet werden, wenn z.B. in einer Library eine Sicherheitslücke gepatcht wurde. Es ist also am besten, statische Binaries nur zum Testen, oder wenn es anders nicht geht, zu verwenden.
In manchen Fällen ist es ratsam die CC-Variable explizit zu setzen. Auch die Angabe der CFLAGS kann nicht schaden: ./configure ... CC="mipsel-linux-gcc" CFLAGS="-Os -pipe -march=4kc -Wa,--trap" Addon Paket installieren
Quelle: http://freetz.org/wiki/help/howtos/development/install_addon
Pakete, die noch nicht in Freetz integriert sind, können als sogenanntes Addon Paket installiert werden. Dazu das gewünschte Paket vor dem Erstellen des Image herunterladen und nach ./addon entpacken. Folgendes Beispiel geht davon aus, dass man sich im Verzeichnis des entpackten Freetz befindet: tar -C addon -xjvf /pfad/zu/addon-paket-0.1-freetz.tar.bz2 Danach muss das Paket in der Liste ./addon/static.pkg in eine neue Zeile eingetragen werden (im obigen Beispiel: addon-paket-0.1). Addon Pakete werden nach den integrierten Paketen in der Reihenfolge des Auftretens in ./addon/static.pkg gestartet. Falls es sich bei dem Addon Paket um eine andere Version eines bereits integrierten Pakets handelt, so sollte das ursprüngliche Paket in make menuconfig unter Package selection deaktiviert werden, um Versionskonflikte zu vermeiden. Links
Sowohl mini_fo, wie NFS- als auch USB-Root werden über das rc-Skript konfiguriert. Dafür wäre natürlich eine Weboberfläche nicht schlecht. Ruf mal "/etc/init.d/rc.nfsroot help" auf. MfG Oliver |
|||
|
|
||||