3 votes

Impossible pour le client NFS Android 4.0 de se connecter à mon serveur Ubuntu NFSv4 : "aucun périphérique de ce type"

J'utilise Noyau GLaDOS qui inclut les modules NFS (et j'utilise le module Nom de code Android ICS 4.0.3 ROM ) sur un Galaxy Nexus GSM. J'essaie de me connecter à mon serveur NFSv4 (Ubuntu 11.10). Mes autres clients (par exemple, l'ordinateur portable Ubuntu 11.04) peuvent se connecter sur le même réseau local, mais mon Galaxy Nexus ne se connecte pas.

Dans le terminal Android ( BTEP ), en mode su, j'entre ces commandes :

insmod sunrpc.ko
insmod lockd.ko
insmod nfs.ko

lsmod montre les modules chargés :

nfs 104232 0 - Live 0xbf036000
lockd 42336 1 nfs, Live 0xbf028000
sunrpc 150792 3 nfs,lockd, Live 0xbf000000

Ma commande mount (dans le terminal, en mode su) est :

mount -t nfs4 nfserver:/shared1 /sdcard/nfs/shared1

L'erreur est "no such device". (Voir l'édition ci-dessous - j'ai une nouvelle erreur maintenant.) Elle revient immédiatement, donc je suis presque certain que c'est entièrement une erreur côté client. Il n'essaie probablement même pas de contacter le serveur.

Habituellement l'erreur "no such device" signifie que le module nfs du noyau n'est pas chargé. Cependant, dans mon cas, il est effectivement chargé, comme indiqué ci-dessus. Quelqu'un peut-il m'aider ?

EDITAR Je crois maintenant que la commande de montage BusyBox ne prend pas en charge NFSv4. Malheureusement, mon serveur ne supporte que NFSv4. J'ai donc emprunté un périphérique NAS qui supporte NFS v3 et je l'ai configuré.

Maintenant l'erreur est "argument invalide". En fait, la commande de montage BusyBox donne la même erreur "invalid argument" sur tous les montages utilisant soit "-t nfs" soit "-t cifs". Cela me conduit à conclure (sur la base de la citation ci-dessous) qu'il y a un décalage de version entre BusyBox et mon noyau Linux.

  • busybox : 1.19.3-Stericson
  • linux : 3.0.8-GLaDOS-V1-15

Ma conclusion est soutenue par ceci lien où il dit :

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.

Enfin, l'essai d'un serveur NFS v3 ordinaire (le périphérique NAS) avec Mount Manager ne réussit ni avec NFS ni avec CIFS. Mais AndSMB se connectera au NAS en utilisant CIFS.

1voto

mercutio Points 5828

Je peux vous dire que ce n'est pas le mount c'est le module nfs.ko qui ne supporte probablement pas NFS4.

Lorsque vous appelez mount -t nfs ... la commande mount va chercher le type de système de fichiers nfs. Si elle ne le trouve pas, vous obtenez le message suivant no such device erreur. S'il le trouve, il transmet le "montage" au module.

Pour le problème du gestionnaire de montage, si vous n'avez pas de module cifs, cifs ne fonctionnera pas avec le gestionnaire de montage. AndSMB utilise sa propre implémentation de cifs/samaba, et c'est très bien, mais afin d'accomplir quelque chose qui permet à n'importe quelle application d'accéder au partage monté, il faut que ce soit le module cifs.ko. Je dois faire quelques recherches supplémentaires sur le problème nfs que vous rencontrez toujours.

0voto

Bengt Points 159

Ce n'est peut-être pas ce que vous voulez, mais je fais ça.

busybox mount -o rw,intr,soft,nolock,nfsvers=2 192.168.0.7:/mnt/HD/HD_a2 /mnt/sdcard/nfs

0voto

Wayne Weibel Points 273

Vous devez écrire la commande de montage en utilisant -t nfs ... nfsvers=4

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X