Ich verwende den GLaDOS-Kernel , der die NFS-Module enthält (und ich verwende den Codenamen Android ICS 4.0.3 ROM ) auf einem GSM Galaxy Nexus. Ich versuche, eine Verbindung zu meinem NFSv4-Server (Ubuntu 11.10) herzustellen. Meine anderen Clients (z. B. Ubuntu 11.04-Laptop) können sich über dasselbe LAN-Netzwerk verbinden, aber mein Galaxy Nexus stellt keine Verbindung her.
Im Android-Terminal ( BTEP ) im su-Modus gebe ich diese Befehle ein:
insmod sunrpc.ko
insmod lockd.ko
insmod nfs.ko
lsmod zeigt die geladenen Module:
nfs 104232 0 - Live 0xbf036000
lockd 42336 1 nfs, Live 0xbf028000
sunrpc 150792 3 nfs,lockd, Live 0xbf000000
Mein Mount-Befehl (im Terminal im su-Modus) lautet:
mount -t nfs4 nfserver:/shared1 /sdcard/nfs/shared1
Der Fehler ist "kein solches Gerät". (Siehe Bearbeitung unten - ich habe jetzt einen neuen Fehler.) Es wird sofort zurückgegeben, daher bin ich mir ziemlich sicher, dass dies ausschließlich ein clientseitiger Fehler ist. Es versucht wahrscheinlich nicht einmal, den Server zu kontaktieren.
Normalerweise bedeutet der Fehler "no such device", dass das nfs-Kernelmodul nicht geladen ist. In meinem Fall ist es jedoch tatsächlich geladen, wie oben gezeigt. Kann jemand helfen?
BEARBEITEN : Also glaube ich jetzt, dass der Mount-Befehl von BusyBox NFSv4 nicht unterstützt. Leider unterstützt mein Server nur NFSv4. Also habe ich mir ein NAS-Gerät ausgeliehen, das NFS v3 unterstützt, und das eingerichtet.
Jetzt ist der Fehler "ungültiges Argument". Tatsächlich gibt der Mount-Befehl von BusyBox bei allen Mounts, die entweder „-t nfs“ oder „-t cifs“ verwenden, denselben Fehler „ungültiges Argument“ aus. Das führt mich zu dem Schluss (basierend auf dem Zitat unten), dass es einen Versionskonflikt zwischen BusyBox und meinem Linux-Kernel gibt.
Meine Schlussfolgerung wird durch diesen Link gestützt, wo er sagt:
This is how I interpret it.
kernel is newer - recompile mount command (i.e. busybox etc)
Make sure that it uses the headers from the kernel it will run with.
Schließlich ist das Ausprobieren eines normalen NFS v3-Servers (das NAS-Gerät) mit Mount Manager weder mit NFS noch mit CIFS erfolgreich. AndSMB stellt jedoch über CIFS eine Verbindung zum NAS her.
Ich kann Ihnen sagen, dass dies nicht der mount
Befehl ist, sondern das nfs.ko-Modul, das NFS4 wahrscheinlich nicht unterstützt.
Wenn Sie mount -t nfs ...
den Mount-Befehl aufrufen, wird nach dem Dateisystemtyp nfs gesucht. Wenn es nicht gefunden wird, erhalten Sie den no such device
Fehler. Wenn es es findet, übergibt es im Grunde das "Mount" an das Modul.
Für das Mount-Manager-Problem: Wenn Sie kein cifs-Modul haben, funktioniert cifs nicht mit dem Mount-Manager. AndSMB verwendet seine eigene cifs/samaba-Implementierung, und das ist in Ordnung, aber um etwas zu erreichen, das es jeder Anwendung ermöglicht, auf die gemountete Freigabe zuzugreifen, muss es das cifs.ko-Modul sein. Ich muss mich noch etwas genauer mit dem nfs-Problem befassen, das Sie immer noch haben.
vielleicht nicht das, was Sie wollen, aber ich tue dies
busybox mount -o rw,intr,soft,nolock,nfsvers=2 192.168.0.7:/mnt/HD/HD_a2 /mnt/sdcard/nfs
Sie müssen den Mount-Befehl mit schreiben-t nfs ... nfsvers=4
Ryan Konrad
BergX
BergX
BergX
BergX