Forum Linux.noyau Chargement d'un module au démarrage du système

Posté par  .
Étiquettes : aucune
1
1
juil.
2011

BOnjour,
Ce post fait suite aux divers rencontré sur la compilation dun noyau adapté sur une architecture de type ARM sur un guruplug.

Je cherche à ajouter le module cm15a.ko qui est fonctionnel lors de l'ajout manuel dans le noyau

insmod cm15a.ko
chmod 777 /dev/cm15a0
srv:/# lsmod |grep cm15
cm15a                  10813  0 
srv:/# ls /dev/cm15a0 
/dev/cm15a0
srv:/# ll /dev/cm15a0 
crwxrwxrwx 1 root root 180, 252 2011-07-01 10:44 /dev/cm15a0

Mes questions et mes problèmes:

  1. J'ai voulu ajouter mon module dans le fichier /etc/modules (sans résultat au redémarrage du système)

    srv:/# grep cm15 /etc/modules
    cm15a.ko

  2. Je l'ai mis dans un répertoire ou il est censé être ranger (sans résultat au redémarrage du système)

    srv:/lib/modules/2.6.33.3/kernel/drivers/usb/serial# ll cm15a.ko
    -rwxr--r-- 1 root root 20209 2011-07-01 10:09 cm15a.ko

  3. J'ai positionné dans le fichier /etc/rc.local les commandes suivantes (et là ca fonctionne évidemment). Le pb c'est que rc.local est le dernier rc qui se lance et malheureusement j'ai d'autre scripts rc qui s'appuie sur ce module... Donc les scripts plantent, je suis obligé de me connecter à mon serveur et de relancer le script à la main.

    grep cm15 /etc/rc.local
    insmod cm15a.ko
    chmod 777 /dev/cm15a0

Mes questions ??

  1. Comment fait pour utiliser proprement /etc/modules pour que le module soit chargé au démarrage ??
  2. Comment faire (via udev) pour que le périphérique associé à ce module puisse avoir les bon droit/permission ??

Bien cordialement à tous et merci d'avance pour la disponibilité des acteurs du forum linuxfr...
Bye

  • # Petite correction

    Posté par  . Évalué à 2.

    De mémoire dans /etc/modules il faut mettre le nom du module et non le nom du fichier.

    Donc "cm15a" et non "cm15a.ko"

    • [^] # Re: Petite correction

      Posté par  . Évalué à 1.

      en effet, c'est ce que je me suis dit aussi

    • [^] # Re: Petite correction

      Posté par  . Évalué à 1.

      Super et merci pour ta réponse !
      Malheureusement j'avais testé avant et le résultat est le même...

      Merci toutefois pour cette éclaircissement...
      Cordialement

      Pour info :

      srv:/# grep cm15 /etc/modules
      cm15a
      srv:/# lsmod |grep cm15
      srv:/#
      
  • # depmod

    Posté par  . Évalué à 1.

    Après avoir copié le module dans le répertoire
    /lib/modules/2.6.33.3/kernel/drivers/usb/serial

    lance la commande depmod -a pour mettre à jour la liste de modules disponibles.

    Ensuite, la commande modprobe cm15a doit pouvoir charger le module.

    Pour udev, je ne sais pas faire et cela dépend de ta distribution (à préciser).

    Bon courage.

    Slack

    • [^] # Re: depmod

      Posté par  . Évalué à 0.

      super ! c'est ce qui me manquait :
      depmod -a

      J'ai rebooté ma machine et le device était bien présent au démarrage.
      Ensuite pour l'histoire d'udev j'ai trouvé aussi (y a des tas de chose intéressante à faire avec udev !! )

      1. Allez faire un tour dans /etc/udev/rules.d
      2. trouver le fichier qui va bien (moi j'ai pris 91-permissions.rules intuitivement)
      3. Pour connaitre les infos lié à votre device find /sys -name dev udevinfo -a -p "/sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.3/1-1.3:1.0/usb/cm15a0/dev"

      J'ai récupéré les info qui vont bien et voilà la lligne que j'ai rajouté dan sle fichier 91-permissions.rules :
      > KERNEL=="cm15a0",MODE="0777"

      Et pour info le lien que j'ai utilisé pour découvrir udev

      Merci à tous !! le topic est terminé ! on ferme !!

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.