FATAL: Could not open 'kernel/fs/nfs/nfs.ko': No such file or directory

Ou comment monter un partage NFS sur une "vieille" Debian Etch avec un noyau récent.

J'ai donc une machine virtuelle Xen 4 avec un kernel récent 2.6.32-5, mais j'ai besoins d'une Debian Etch, le problème c'est que la version de modprobe est incompatible avec cette génération de noyau.

Il faut bien sûr installer nfs-common sur la machine cliente nfs.

Si on essaie de charger le module nfs voici les erreurs :

# modprobe nfs
WARNING: Could not open 'kernel/net/sunrpc/sunrpc.ko': No such file or directory
WARNING: Could not open 'kernel/net/sunrpc/auth_gss/auth_rpcgss.ko': No such file or directory
WARNING: Could not open 'kernel/fs/nfs_common/nfs_acl.ko': No such file or directory
WARNING: Could not open 'kernel/fs/fscache/fscache.ko': No such file or directory
WARNING: Could not open 'kernel/fs/lockd/lockd.ko': No such file or directory
FATAL: Could not open 'kernel/fs/nfs/nfs.ko': No such file or directory

Par contre si on charge un par un chaque module à la main avec insmod pas de problèmes.

Une solution (peut-être pas la meilleure mais elle fonctionne) est de ce faire un petit script qu'on rajoutera dans les init :

#!/bin/bash
# Script for load nfs modules on Debian Etch
# with 2.6.32-5-xen-amd64 kernel
# because of modprobe uncompatible version
# with this kernel.
# Errors when you try to load nfs module
# # modprobe nfs
# WARNING: Could not open 'kernel/net/sunrpc/sunrpc.ko': No such file or directory
# WARNING: Could not open 'kernel/net/sunrpc/auth_gss/auth_rpcgss.ko': No such file or directory
# WARNING: Could not open 'kernel/fs/nfs_common/nfs_acl.ko': No such file or directory
# WARNING: Could not open 'kernel/fs/fscache/fscache.ko': No such file or directory
# WARNING: Could not open 'kernel/fs/lockd/lockd.ko': No such file or directory
# FATAL: Could not open 'kernel/fs/nfs/nfs.ko': No such file or directory
#
# Don't forget
# update-rc.d mount_nfs defaults
#
# Guillaume Chéramy
# http://blog.cheramy.name
# 08 October 2010

case "$1" in
start)
   # load modules
   /sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/sunrpc.ko
   /sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/auth_gss/auth_rpcgss.ko
   /sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/fs/nfs_common/nfs_acl.ko
   /sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/fs/fscache/fscache.ko
   /sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/fs/lockd/lockd.ko
   /sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/fs/nfs/nfs.ko
   # mount nfs
   /bin/mount $IP_SRV:$PARTAGE -t nfs $PATH
   ;;

stop)
   # umount nfs
   umount $PATH
   # unload modules
   /sbin/rmmod nfs
   /sbin/rmmod lockd
   /sbin/rmmod fscache
   /sbin/rmmod nfs_acl
   /sbin/rmmod auth_rpcgss
   /sbin/rmmod sunrpc
   ;;
*)      log_action_msg "Usage: /etc/init.d/mount_nfs {start|stop}"
        exit 2
        ;;
esac
exit 0

Remplacez les variables par l'IP de votre serveur, le partage et le point de montage

  1. Bonjour,
    J'ai recontré précisément le même désagrément sur une debian virtualisée sous XEN. J'ai exactement la même configuration que vous et installé nfs-common.
    J'ai tenté votre script, ai modifié les paramètres nécessaires. Je l'ai copié dans /etc/init.d mais lorsque je tente de le lancer je recois des erreurs de type:
     
    # /etc/init.d/mount_nfs start
    insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/sunrpc.ko': -1 File exists
    insmod: can't read '/lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/auth_gss/auth_': No such file or directory
    /etc/init.d/mount_nfs: line 27: rpcgss.ko: command not found
    insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/nfs_common/nfs_acl.ko': -1 File exists
    insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/fscache/fscache.ko': -1 File exists
    insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/lockd/lockd.ko': -1 File exists
    [ 2141.330229] nfs: Unknown symbol svc_gss_principal
    insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/nfs/nfs.ko': -1 Unknown symbol in module
    mount.nfs: No such device
     
    Si vous aviez une idée pour m'indiquer vers où chercher je vous en serait très reconnaissant. Quoi qu'il en soit merci pour votre travail !

  2. Trouvé !

    Un soucis dans le copier coller en réalité. La ligne:
    /sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/auth_gss/auth_
    rpcgss.ko

    revient à la ligne à rpcgss.ko :-(

    Une fois corrigé j'ai :
    # /etc/init.d/mount_nfs start
    insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/sunrpc.ko': -1 File exists
    insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/nfs_common/nfs_acl.ko': -1 File exists
    insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/fscache/fscache.ko': -1 File exists
    insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/lockd/lockd.ko': -1 File exists
    [ 2891.854937] FS-Cache: Netfs 'nfs' registered for caching
    [ 2891.911360] svc: failed to register lockdv1 RPC service (errno 97).
     
    Et mon share NFS est monté !!!

    ENCORE BRAVO !

  3. Bonjour,

    avec la même config que vous deux, j’ai simplement créé le lien symbolique manquant en root :

    ln -s /lib/modules/2.6.32-5-xen-amd64/kernel /lib/modules/kernel

    A tester de votre côté.


    • j’ai simplement créé le lien symbolique manquant en root :

      ln -s /lib/modules/2.6.32-5-xen-amd64/kernel /lib/modules/kernel

      Bonjour,
      Ca ne fonctionne pas chez moi (Dom0 squeeze, DomU lenny, kernel = 2.6.32-5-xen-amd64)
      Pourtant ça semblait être une bonne idée …

  4. Finalement, la création du lien symbolique permet à modprobe de fonctionner mais après avoir exécuter depmod -a en tant que root (bien sur)

Laisser un commentaire


NOTE - Vous pouvez utiliser les éléments et attributs HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <font color="" face="" size=""> <span style="">