Seite 4 von 4 ErsteErste 1234
Ergebnis 61 bis 66 von 66

Thema: 7050 zu eng: DS-Mod-Teile manuell auf externe Platte auslagern

  1. #61
    IPPF-Urgestein
    Registriert seit
    22.04.2007
    Beiträge
    10.995
    Ich hatte gedacht, man müßte dafür noch '.' für das aktuelle Verzeichnis angeben.

  2. #62
    IPPF-Dreitausend-VIP Avatar von hermann72pb
    Registriert seit
    06.11.2005
    Beiträge
    3.517
    Zitat Zitat von udosw
    Dafür habe ich mir ein kleines Script geschrieben, was die Dateien verschiebt, die notwendigen symlinks setzt und den Step 3 aufruft
    Die Idee hatte ich für den Downloader auch. Denn auch dort muss man diese Schritte per Hand machen. Bei den Binaries geht es noch. Schwieriger wird es, wenn man es für jede einzelne Lib macht. Das blöde daran ist, man muss es nicht nur jedes mal bei der Versionswechsel vom mod machen, sondern nach jedem "make" zumindest in die Verzeichnisse nachschauen. Wenn man sowas in standard-"make" einbauen könnte, wäre es ganz gut. Vorschlag wäre:
    "make" schaut vor dem STEP3 im Hauptverzeichnis nach einer bestimmten config-Datei, namens (als Beispiel) rmbinlib.conf. Existiert diese Datei nicht (Normalfall), so läuft make weiter. Andererfalls wird ein skript rmlibbin (ähnlich dem oben vorgeschlagenen) abgearbeitet. Dieser Skript schaut in die Datei rmbinlib.conf rein und arbeitet sie Zeile für Zeile ab. Die conf-Datei kann z.B. folgendermassen aufgebaut werden:
    Code:
    verzeichnis_fuer_binaries_libs='...'
    # Liste der auszulagernden Dateien
    originaldatei_mit_rel_pfad pfad_neu attribute
    Und wenn Bedarf besteht, kann man die Downloader-CGI so modifizieren, dass sie nicht nur die Sachen ins RAM packt, sondern irgendwas startet. Ich bin da recht offen, jeder kann da was ändern. Die Startreiehnfolge kann man in gewissen Grenzen steuern.
    Ich selbst bin momentan so busy und komme leider gar nicht dazu.

    MfG
    Hermann

    Mehrere Boxen an diversen Orten mit diversen Firmware/freetz-Versionen (überwiegend 7270 und 7170):
    F!B 7270v2: Eigene Box mit einem mehr oder weniger aktuellem Trunk
    F!B 7270v3: 2-3 Stück in Betreuung mit einem etwas älteren aber stabil laufenden Trunk
    F!B 7170: Eigene Bastelbox mit einem USB-Medium und external sowie 3-5 Boxen in Betreuung, wahlweise mit oder ohne USB/External
    Build-Umgebung: Freetz-Linux (ältere Version, selbst weitergepflegt)
    Anschluss: 1und1-Komplett DSL mit 16000/1072kbit/s
    FREETZ-Kleinigkeiten, an denen ich mitgewirkt hatte: Downloader, FREETZMOUNT, Box-Info, Freetz-Info, mounted.cgi, FAQ-reader, betamax.sh, sendsms.sh, sispmctl, AVM-ftpd

  3. #63
    IPPF-Urgestein
    Registriert seit
    22.04.2007
    Beiträge
    10.995
    Zitat Zitat von hermann72pb
    Vorschlag wäre:
    "make" schaut vor dem STEP3 im Hauptverzeichnis nach einer bestimmten config-Datei, namens (als Beispiel) rmbinlib.conf. ...
    Das ist eine interessante Idee, aber nur recht eingeschränkt nutzbar. Um beliebige Manipulationen an der Stelle zu erlauben, könnte man auch gleich ein Shell Skript aufrufen, in dem der Anwender beliebige Änderungen ausführen kann.

    Wenn man sich das fwmod-Skript anschaut, sieht man, daß das schon existiert und das Skript fwmod_custom schon aufgerufen wird, sofern es vorhanden ist.

  4. #64
    IPPF-Dreitausend-VIP Avatar von hermann72pb
    Registriert seit
    06.11.2005
    Beiträge
    3.517
    ok, dann sollte man das oben vorgeschlagene Skript zunächst mal in diesem fwmod_custom implementieren, dann etwas veralgemeinern (dass es die conf-Datei benutzt). Und wenn es richtig läuft und gefragt wird, dann kann man es als extra-Skript einbauen, damit man fwmod_custom für andere Experimente frei hält.

    MfG
    Hermann

    Mehrere Boxen an diversen Orten mit diversen Firmware/freetz-Versionen (überwiegend 7270 und 7170):
    F!B 7270v2: Eigene Box mit einem mehr oder weniger aktuellem Trunk
    F!B 7270v3: 2-3 Stück in Betreuung mit einem etwas älteren aber stabil laufenden Trunk
    F!B 7170: Eigene Bastelbox mit einem USB-Medium und external sowie 3-5 Boxen in Betreuung, wahlweise mit oder ohne USB/External
    Build-Umgebung: Freetz-Linux (ältere Version, selbst weitergepflegt)
    Anschluss: 1und1-Komplett DSL mit 16000/1072kbit/s
    FREETZ-Kleinigkeiten, an denen ich mitgewirkt hatte: Downloader, FREETZMOUNT, Box-Info, Freetz-Info, mounted.cgi, FAQ-reader, betamax.sh, sendsms.sh, sispmctl, AVM-ftpd

  5. #65
    IPPF-Aufsteiger Avatar von zoolook
    Registriert seit
    30.06.2005
    Beiträge
    34
    Zitat Zitat von kriegaex
    Für NFS-Root brauchst Du die üblichen drei Kernelmodule (nfs, sunrpc, lockd) und insbesondere das entsprechende Init-Skript (und das ist etwas tricky), außerdem, warum auch immer, Replace Kernel, weil es, je nach Box, entweder Kernel Oops oder Kernel Panic beim NFS-Mount gibt (getestet auf W701V und 7170).

    Ich habe übrigens vor, aus einer Rohversion eines weiteren Skripts von Oliver auch ein Paket für ein USB-Root zu machen.

    Oliver ist noch einen Schritt weiter, denn er bootet auch schon den Kernel von extern via initramfs (und danach dann NFS- oder USB-Root), so daß die Partitionen auf der Box selbst gar nicht mehr benutzt werden, also auch kein pivot_root usw. Kernel und Dateisystem auf der Box sind dann nur noch Fallbacks, falls z.B. das NFS-Share nicht da oder der USB-Datenträger ausgesteckt ist. Auch dafür könnte man ein Paket basteln, aber das ist dann doch eher was für Entwickler, die nicht nur mal eben schnell am Dateisystem was ändern wollen - dafür reichen NFS/USB-Roots aus - sondern auch einen Kernel tauschen wollen, ohne neu flashen zu müssen.
    Das alles ist ja sooo coool , was sich in den letzten Monaten noch so getan hat. Ist irgendwie genau das, was ich mit meinem NAS (auf dem auch schon längst nicht mehr die Bufallo-Firmware, sondern Gentoo läuft) machen will, einfach in der Fritzbox ein über NFS gemountetes System betreiben, da kann wirklich viel experimentiert werden...
    Router 1:FRITZ!Box Fon WLAN 7390, Firmware-Version 84.05.50 Freetz rev24230
    Internet 1: T-Home Call & Surf Comfort/Universal/DSL6000 (leider nur 3456/448 kBit/s geschaltet)
    Router 2:FRITZ!Box Fon WLAN 7050, Firmware-Version 14.04.33-freetz-1.0-stable im ATA-Mode
    Internet 2: RDS FiberLink http://www.rdslink.ro/fiber/fiber.htm
    SIP: http://netphone.smartcall.ro, http://www.sipgate.de, http://www.ekiga.net, http://www.callromania.ro

  6. #66
    Moderator Avatar von udosw
    Registriert seit
    20.03.2004
    Ort
    Hannover
    Beiträge
    1.109

    Reden Lösung: Alles Weitere wird von Platte gestartet ...

    So, ich habe jetzt (eine für mich brauchbare) automatische Lösung gebaut. Voraussetzungen: Ein Linux-System, auf dem der ds_mod gebaut wird, das System ist entweder gleich dasselbe, wo nachher die FB ihre externe Platte mountet oder hat zugriff auf diesen Mountpunkt.
    1. Man baut einen kleinen Referenz-ds-mod mit cifsmount (evtl. auch NFS, nicht getestet) der auf die Box passt. Ich habe da sogar noch den AVM-UPNP-Daemon mit drin, passt auf die 7050).
    2. Nach Testen des Images verschiebt man das build/modified/filesystem-Verzeichnis, z.B. nach KLEIN/modified/filesystem.
    3. Nun nochmal make menuconfig starten und nach Herzenslust Pakete auswählen ...
    4. In der fwmod_custom sorgt man dafür, dass bei unter all() folgender Code aufgerufen wird:
    Code:
    #!/bin/bash
    
    MOD=/usr/src/ds26-15.2/build/modified/filesystem
    STD=/usr/src/ds26-15.2/KLEIN/modified/filesystem
    EXT=/fbf
    
    cd $MOD
      
    for FILE in $(find -type f -not -path '*etc*' -size +1k -printf "%P\n"); do
      if ! [ -e $STD/$FILE ]
      then
        DIR=$(dirname $FILE) 
        sudo mkdir -p $EXT/$DIR
        sudo cp -f  $MOD/$FILE $EXT/$FILE
             rm -f  $MOD/$FILE 
             ln -fs /var$EXT/$FILE $FILE
      fi  
    done
    
    # Softlinks
    cd $MOD/usr/lib
    ln -fs /var/fbf/usr/lib/asterisk
    
    cd $MOD/etc
    ln -fs /var/fbf/etc/asterisk
    
    cd /usr/src/ds26-15.2
    5. make aufrufen und freuen ...

    Dabei ist
    • MOD: Das fs vom gerade gebauten ds-mod
    • STD: Das 'kleine' Standard-FS vom ersten Test
    • EXT: Das Verzeichnis auf der externen Platte, wo die ausgelagerten Dateien für die FB hinkommen. Bei mir ist dieses Verzeichnis in der FB selber mit /var/fbf gemountet.
    Das Script guckt nun einfach bei allen Dateien im MOD, die größer als 1KB sind, nach, ob diese im STD bereits existieren. Wenn das nicht der Fall ist, wird die Datei auf die externe Platte geschoben und ein SymLink gesetzt. (Ja, statt cp und rm kann man auch mv verwenden, da hatte ich nur Probleme mit den Mount-Berechtigungen. Das sudo ist bei ). Dateien unter 'etc' werden aber nicht verschoben.

    Die beiden Softlinks am Ende sind noch für meinen Asterisk on FBF. In der rc.custom mache ich noch folgendes:
    Code:
    cd /var/mod
    rmdir bin
    ln -s /var/fbf/mod/bin
    rmdir lib
    ln -s /var/fbf/mod/lib
    rmdir sbin
    ln -s /var/fbf/mod/sbin
    da einige Libraries und der Asterisk im mod-Verzeichnis der Platte liegen.

    Diese Lösung funktioniert ohne den von mir vor kurzem beschrieben Patch der rc.cifsmount. Dafür war die Ausnahme beim etc-Verzeichnis nötig.

    Cifsmount wird ja ziemlich früh durchgeführt und danach werden alle weiteren Pakete von der Festplatte aus gestartet. Ich konnte hiermit neben dropbear noch dnsmasq, opentpd, syslog und netsmnp einbauen, daran war vorher nicht zu denken.

    Udo
    IPv4: Kabeldeutschland 32000 / 2000 | IPv6: he.net-Tunnel mit FB 7390
    FB 7390: (1&1 HomeServer 50.000) FRITZ!OS meist aktuelle labor + aktueller freetz-trunk+ Asterisk 1.6.2.15 (freetz patch)
    FB 7270v2: (KD, 16MB) aktuelle labor + aktueller freetz-trunk per LAN1 an der FB 7390
    WLAN: Fritz!WLAN Repeater N/G IP-Phones: Fritz MT-F, MT-D | Snom 300 | Android CSipSimple
    VSP: Sipgate, Betamaxe, Kabelphone

Seite 4 von 4 ErsteErste 1234

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 14.02.2009, 00:46
  2. Externe Platte an 8040
    Von JimBobele im Forum AVM Fritz!Media
    Antworten: 2
    Letzter Beitrag: 06.11.2008, 10:47
  3. Frage zu cifsmount (Pakete auf Platte auslagern)
    Von sabse1980 im Forum Freetz
    Antworten: 1
    Letzter Beitrag: 02.02.2008, 11:04
  4. Teile des DSmod auf usb-stick auslagern?
    Von XNuclearWinterX im Forum Freetz
    Antworten: 6
    Letzter Beitrag: 07.08.2007, 02:08
  5. externe Platte an USB Anschluss
    Von TheOnlyOne im Forum FRITZ!Box Fon: DSL, Internet und Netzwerk
    Antworten: 1
    Letzter Beitrag: 26.05.2006, 18:09

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •