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

dsteinkopf schrieb:
Wie könnte ich an ein geeignetes strace kommen? Ist jemand in der der Lage mir sowas "einfach" zu kompilieren?

Ja, ich. Strace ist schon ein Weilchen drin im Mod, allerdings in der Entwicklungslinie für Version 15, deshalb war es in 14.2 nicht drin. Ein Stabilitäts-Release sollte möglichst wenige neue Sachen enthalten. Aber man darf sich freuen... Ltrace ist auch drin, bringt aber momentan noch die Box zum Absturz, da warte ich noch auf Antwort von demjenigen, der es ursprünglich mal portiert hat auf MIPS. Er muß irgendwas anders gemacht haben beim Kompilieren. Zum Glück habe ich noch eine alte von ihm gebaute Version, die noch funktioniert. So, das nur nebenbei.

Schick mir Deine E-Mail-Adresse per PM, dann kriegst Du das fertige Strace-Binary von mir.

dsteinkopf schrieb:
gdb habe ich nicht versucht - ich schätze auch, dass ich damit nicht weit komme, weil keine debug-Infos im mount sind. Oder kann ich die irgendwie bekommen?

Mit gdb kenne ich mich auch nicht aus, wie gesagt. Aber in die selbst gebauten FS-Module solltest Du per Makefile-Anpassung Debug-Infos hinein bekommen. Hm, in den Mount im Grunde auch, die Busybox, in der er steckt, baust Du ja auch. Weiß nur nicht, wie groß das dann wird.
 
Die Analyse mit strace hat ergeben, dass der eigentlich mount-Systemaufruf selber fehlschlägt:
Code:
...
mount("martini.steinkopf.net:/export/fritzbox", "/var/mod/root/mnt", "nfs", MS_VERBOSE, 0x7f949f38) = -1 EIO (Input/output error)
...

:-(

Noch Ideen?



Dirk
 
Wollte gerade mal Deine drei Module mit wget selbst ziehen und ausprobieren, aber Deine Webserver ist nicht erreichbar. Also mache ich jetzt mal, was ich seit Wochen nicht gemacht habe: Ich flashe eine FW, und zwar remote. Drück mir die Daumen, daß es durchläuft - Stecker ziehen im Fehlerfall ist nicht. Danach probiere ich es mit einem NFS-Mount auf einen Windows-Server mit SFU. Das ging mal unter ds-0.2.9 (Kernel 2.4), ist aber lange her, wie man an meinen naiven Fragen im damaligen Thread sieht. Jaja, die Anfängerzeiten im November 2006, als ich hier neu angemeldet war und die ersten Schritte mit der Fritz!Box ging...
 
NFS-Mount mit ds-0.2.9_26-14.2 klappt

Habe es eben nach dem Flashen der Box probiert, es ging auf Anhieb:
Code:
$ modprobe nfs
$ lsmod
Module                  Size  Used by    Tainted: P
nfs                   115472  0
lockd                  72400  1 nfs
sunrpc                142464  2 nfs,lockd
...
$ mkdir -p /var/mnt/nfstest
$ mount -o soft -w -t nfs 192.168.178.20:/mymount /var/mnt/nfstest
$ ls -l /var/mnt/nfstest
drwxrwxrwx    2 root     -2             64 Mar  5 17:23 foo
drwxrwxrwx    2 root     -2             64 Mar  5 17:24 bar
$ echo "Jippie!" > /var/mnt/nfstest/myfile
$ ls -l /var/mnt/nfstest/myfile
-rw-r--r--    1 root     -2              8 Apr  8 18:43 /var/mnt/nfstest/myfile
$ cat /var/mnt/nfstest/myfile
Jippie!

Grundsätzlich ist die Funktionsfähigkeit also gegeben. Unterschiede zwischen unseren Methoden bzw. Konfigurationen, an denen es liegen könnte:
  • Ich habe die Module direkt in der FW, Du lädtst sie nach. Daher kann ich einfach mit einem einzigen modprobe alles laden, Du brauchst dreimal insmod. Keine Ahnung, was dabei im Kernel und in den Modulen passiert.
  • Ich mounte ein mittels SFU (Services for UNIX) freigegebenes NTFS-Verzeichnis auf einer WinXP-Kiste. Dabei habe ich dem Client-PC "fritz.box" explizit RW-Zugriff und Root-Login-Recht eingeräumt. Wie ist es bei Dir? Windows- oder Linux-Share? Stimmen die Rechte?
  • (Personal) Firewall? RPC blockiert oder andere notwendige Ports?

Edit: umount sowie das saubere Entfernen der drei Module mittels rmmod klappen ebenfalls perfekt und auf Anhieb.
 
Zuletzt bearbeitet:
Vielen Dank fürs Ausprobieren und die Zitter-Nerven, die es Dich gekostet hat.

kriegaex schrieb:
Grundsätzlich ist die Funktionsfähigkeit also gegeben. Unterschiede zwischen unseren Methoden bzw. Konfigurationen, an denen es liegen könnte:
  • Ich habe die Module direkt in der FW, Du lädtst sie nach. Daher kann ich einfach mit einem einzigen modprobe alles laden, Du brauchst dreimal insmod. Keine Ahnung, was dabei im Kernel und in den Modulen passiert.
Unterscheidet sich ein lsmod vor und nach dem modprobe (Du machst einfach "modprobe nfs"?) nur durch die drei Module, die ich auch lade?

kriegaex schrieb:
  • Ich mounte ein mittels SFU (Services for UNIX) freigegebenes NTFS-Verzeichnis auf einer WinXP-Kiste. Dabei habe ich dem Client-PC "fritz.box" explizit RW-Zugriff und Root-Login-Recht eingeräumt. Wie ist es bei Dir? Windows- oder Linux-Share? Stimmen die Rechte?
  • (Personal) Firewall? RPC blockiert oder andere notwendige Ports?
Da bin ich mir ziemlich sicher, weil in der "alten" Fritzbox (so wie es noch im Footer steht), hatte ich nfs auch mit eincompiliert und alles ging auch.

Ich habe auch extra die Firmware so gebaut, dass ich im make menuconfig die 3 Module mit angegeben hatte, sie dann aber vor dem Image-Bauen gelöscht, um etwaige andere Abhängigkeiten mit reinzukriegen.


Hm. Blöd.

Vielleicht kaufe ich mir lieber einfach ein 7170, die ja das ganze Speicherproblem nicht hat....... Eigentlich wollte ich noch auf die 7270 (?) warten.

Naja, grad bin ich noch bei Schwiegerelterns.. Daheim gehe ich nochmal ran.

Dirk
 
Nochwas:

Was könnte denn eigentlich der IO-Error sein, der der mount-Systemaufruf bringt? Error im Flash???

tcpdump auf dem NFS-Server hat mir nicht weiter geholfen: Jedes Paket von der Box wird auch beantwortet.


Dirk
 
Nicht gleich aufgeben und eine 7170 kaufen. Okay, von mir aus schon kaufen, aber trotzdem erst dieses Problem lösen. Mein modprobe lädt eben nfs und intelligenterweise gleich auch die abhängigen Module. Ansonsten sehe ich in lsmod keine mehr, die nicht vorher schon da gewesen wären, so weit ich mich erinnere.

Daß der I/O-Error ein Fehler im Flash ist, kann ich mir nicht vorstellen. Wie kommst Du darauf?

Hast Du einfach mal versucht, statt auf den Namen auf die IP des Rechners zu mounten? Den Unterschied habe ich gerade noch gesehen.
 
kriegaex schrieb:
Nicht gleich aufgeben und eine 7170 kaufen. Okay, von mir aus schon kaufen, aber trotzdem erst dieses Problem lösen.
Danke fürs Aufmuntern :)

kriegaex schrieb:
Mein modprobe lädt eben nfs und intelligenterweise gleich auch die abhängigen Module. Ansonsten sehe ich in lsmod keine mehr, die nicht vorher schon da gewesen wären, so weit ich mich erinnere.
Kannst Du das nochmal genau rauskriegen?

kriegaex schrieb:
Daß der I/O-Error ein Fehler im Flash ist, kann ich mir nicht vorstellen. Wie kommst Du darauf?
Ich glaube das auch nicht wirklich. Ich frage mir halt, woher der IO-Error kommen kann, der der mount-Aufruf (s. strace-Ausgabe) liefert.

kriegaex schrieb:
Hast Du einfach mal versucht, statt auf den Namen auf die IP des Rechners zu mounten? Den Unterschied habe ich gerade noch gesehen.
Ja, das isses nicht :-(


Aber kannst du vielleicht mal ein Minimal-Image bauen und schauen, obs dann noch geht und mit dann Deine .config schicken, damit ich sie vergleiche? Oder, wenn Dir das zu aufwändig ist, schicke mir die .config, mit der Du den nfs-Mount hinbekommen hast.
Danke.


Dirk
 
...und schicke mir doch mal bitte den strace von Deinem mount.
Danke.


Dirk
 
Wir sind hier schon lange so dermaßen OT, daß wir im Grunde die letzten Nachrichten alle in einen anderen Thread transferieren (zitieren) und hier löschen sollten. Aber zumindest machen wir jetzt mal per PM weiter.
 
genau! macht das bitte!
 
Programme auf nfs-mount auslagern

Ich würde gern:
die Programme openvpn, provoxy und tor auf einen nfs-mount auslagern.

Dazu müsste man den nfs-mount möglichst weit nach vorn beim start bekommen und die aus zu lagernden Programme weit nach hinten.

Auch würde mich interessieren wie ich die Programme beim Bauen des Images mittels FriBoli nicht mit ins image bekomme.
Aber so, dass die Konfiguration weiterhin über den DSmod funktioniert.

Ich versuche eine Eumex IP300 mit den DSMOD 0.2.9 mit openvpn Version 0.6c, tor1.1.26, privoxy3.0.6, dropbear, wol-cgi, swap zu bauen.

Natürlich ist das Image leider ca. 160kB zu groß.

Soll als Ausweichbox dienen, wenn die fritzbox 7170 mal kaputt geht.


gruß

s.panzer
 
Hast Du den Thread gelesen?
 
Nochmal zu den nachgeladenen NFS-Kernelmodulen

Für alle mal das vorläufige Ergebnis meiner privaten Testreihe mit Dirk:

dsteinkopf schrieb:
Code:
wget http://martini.steinkopf.net/fritzbox/nachladen/kernel/fs/nfs/nfs.ko
wget http://martini.steinkopf.net/fritzbox/nachladen/kernel/fs/lockd/lockd.ko
wget http://martini.steinkopf.net/fritzbox/nachladen/kernel/net/sunrpc/sunrpc.ko
insmod ./sunrpc.ko
insmod ./lockd.ko
insmod ./nfs.ko
Und dann:
Code:
/var/mod/root $ mount -t nfs -o soft martini.steinkopf.net:/export/fritzbox /var/mod/root/mnt
mount: mounting martini.steinkopf.net:/export/fritzbox on /var/mod/root/mnt failed
/var/mod/root $

Ich habe das auf meiner Kiste auch mal gemacht, und es klappt problemlos mit den drei extern nachgeladenen Modulen, wenn ich sie nacheinander mit insmod lade. Wenn ich in die ursprünglichen Modulverzeichnisse aus der FW noch Symlinks auf die heruntergeladenen Dateien lege, klappt es sogar mit einem einzigen modprobe nfs, die anderen beiden werden gefunden und mit geladen.

Jetzt kann es nur noch am NFS-Mount an sich liegen (fehlende Rechte o.ä.) oder am Typ der Box, was mich doch verwundern würde.
 
Ungefähre Größen einiger Pakete

Nachdem ich für die 7170 fast alle Pakete ausgewählt hatte und erfolgreich durchkompilliert hatte, wurde ich von einigen Mitstreiter hier inspiriert, die ungefähren Paketgrößen anhang der Daten für 7170 zu bestimmen. Meine Vorgehensweise und Annahmen:
1. Paketgröße ist in etwa für alle Boxen gleich
2. Paketgröße kann man ungefähr bestimmen wenn man aus den mod-Verzeichnissen einen tar.gz Archiv erzeugt
3. Bibliotheken werden hier ähnlich aber separat behandelt
4. Es soll geachtet werden, dass einige Pakete noch bestimmte Bibliotheken brauchen (wie z.B. OpenVPN), die oft von ihrer Größe nicht zu vernachlässigen sind. Es kann vorkommen, dass mehrere Pakete dieselbe Bibliothek nutzen.

Nun sind Pakete und ihre Größen:
Code:
[b]Paket[/b]           [b]Größe (kB)[/b]
bftp              36
callmonitor       36
checkmaild        27
dnsmasq           70
dropbear         113
inadyn            19
knock             17
mc               372 (Ja!)
netsnmp          243
openvpn          178 (beachte Libs!)
orangebox        450
pinggtunnel       25
privoxy          134
samba            504 (braucht man eigentlich bei 7050 nicht)
screen           177
stunnel           46
syslog             3
tcpdump          312
tinyproxy         37
tor              277
virtualip          9
vpnc              47
wol-cgi           10

Libs (nur große Libs ab etwa 20-30 kB):
Code:
[b]Lib[/b]            [b]Größe (kB) [/b]
libuClib          156
libpthread         24
libm               35
libcrypto         423
libevent           31
libgcrypt         163
liblzo             33
libncurses        106
libcap             67
libssl             91
libz               37
Alle Angaben sind als ungefähre Richtwerte anzusehen. Ich würde gerne die Zugehörigkeit zu Bibliotheken einfügen, wenn mir einer oder anderer auf die Sprünge hilft.

Nach meinen Berechnungen bringt das Bereinigen der iptables-"Leichen" (s. http://www.ip-phone-forum.de/showpost.php?p=844901&postcount=72) in etwa 116 kB.

libgcc_s erspart weitere 155 kB (s. http://www.ip-phone-forum.de/showpost.php?p=840715&postcount=17)

Bei den Experimenten bitte noch auf die Sektorgröße von 64kB in der Box zu achten. D.h. wenn es ausgegeben wird: Image 5120 Bytes zu gross, dann bringt das Löschen von einem 32kB Paket möglicherweise gar nichts, Image wird immer noch 5kB zu gross.

MfG

Hermann
 
lzma komprimiert sogar besser als bzip2. Deshalb sollten die Pakete noch um einiges weniger Platz brauchen als du hier angeführt hast.

MfG Oliver
 
Oliver hat Recht. Aber das hatte ich Dir hier auch schon erläutert, Hermann. Der Link fehlte noch bei Deiner schönen Zusammenfassung.
 
Kann man schon abschätzen, ab wann der dsmod das "Auslagerungsfuture" unterstützen wird?
 
Danisahne wird mit dem (von mir - nicht offiziell - so genannten) DS-Mod-NG (Next Generation) im Grunde das bieten, was Du möchtest. Wann der soweit ist und v.a. wann dann alle Packages nach ipkg konvertiert sind, kann ich nicht sagen. Daniel schreibt an seiner Diplomarbeit.

Dies gesagt habend, möchte ich hinzufügen, daß die Erwartung des Mod-NG im Grunde das einzige ist, das mich davon abhält, selbst mal Hand anzulegen. Ich möchte nur nicht, daß es in drei Monaten für die Tonne ist.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.