Forum Linux.redhat Le module du cdrom ne se charge pas automatiquement

Posté par  .
Étiquettes : aucune
0
29
août
2004
Bonjour à tous !

Après de longues recherches avec l'aide de mon ami Google, je n'ai pas trouvé de solution à mon problème.
C'est donc dans un état désespéré que je fais appel à vous :-)

Mon problème est le suivant : mon cdrom n'est accessible que si je fais un 'modprobe ide-cd'.
Pas moyen d'automatiser cela, malgré la présence du fichier 'modprobe.conf'.

Le module de mon lecteur de cdrom est 'ide-cd'.

Dans le répertoire '/dev', le cdrom est identifié par '/dev/hdc', son numéro majeure étant le 22,
comme ceci :

# brw-rw---- 1 root disk 22, 0 aoû 3 23:49 /dev/hdc


Ainsi, comme j'ai une Redhat 8.0 avec le noyau '2.6.8.1', j'ai déclaré un alias dans le fichier '/etc/modprobe.conf',
comme ceci :

# alias block-major-22 ide-cd


Donc normalement lorsque je fais un 'mount -t iso9660 /dev/hdc /mnt/cdrom' le système devrait charger le
module du cdrom automatiquement. Normalement ... mais non au lieu de cela il me balance le message suivant :

# mount : /dev/hdc n'est pas un périphérique de bloc valide.


Par contre lorsque je fais 'modprobe ide-cd', il détecte mon cdrom :

# hdc: ATAPI 24X DVD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)

Et mon mount fonctionne.


Aidez moi !!! C'est du délire ! ou c'est moi qui délire ?! :-)
  • # soluce et réponse :

    Posté par  (site web personnel) . Évalué à 2.

    1)Il faut avoir activé le 'module autoloader' du noyau pour que ca marche...
    2)essaie ca : puis reboote et enjoy!

    echo "ide-cd" >>/etc/modules
    • [^] # Re: soluce et réponse :

      Posté par  . Évalué à 1.

      J'ai regardé dans la configuration du noyau. Les options 'Loadable Module Support' et 'Automatic kernel Module loading' étaient déjà activées.

      Pour ce qui est de la commande que tu m'as proposé :

      # echo "ide-cd" >> /etc/modules

      Il faut que tu saches que j'utilise le noyau 2.6.8 qui n'utilise pas '/etc/modules' mais '/etc/modprobe.conf'

      J'ai donc essayé ça :

      # echo "ide-cd" >> /etc/modprobe.conf

      Mais cela génère lors du redemmarage une erreur. Modprobe m'indique qu'il ne prend pas en compte cette ligne.

      Merci pour ta proposition mais cela ne fontionne pas.

      Help meeeee !
  • # quelle distrib ?

    Posté par  . Évalué à 1.

    'lut,
    Il me semble que /etc/modules et /etc/modprobe.conf n'ont aucun rapports. modprobe.comf définie les alias entre modules et modules est un simple fichier où tu liste les modules à charger au démarage.
    J'utilise un noyau 2.6.8 et il charge bien sagement tous les modules spécifiés dans le fichier /etc/modules.
    Debian propose un exécutable (j'ai oublié son nom) pour préciser les différents modules à charger au démarage (il se contente d'éditer le fichier /etc/modules). Ta distribution a certainement un utilitaire de ce genre.
    Voilà mes 2c.
    • [^] # Distrib : Redhat 8.0

      Posté par  . Évalué à 1.

      Ce que je voudrais, ce n'est pas que le module se charge au démarrage mais quand j'en ai besoin. En effet, je n’utilise pas mon lecteur de cdrom systématiquement. Il ne sert à rien que le module 'ide-cd' occupe la mémoire pour rien à chaque démarrage.
      C'est pourquoi, dans mon fichier '/etc/modprobe/conf' j'ai ajouté la ligne suivante :

      alias block-major-22 ide-cd

      Normalement cette ligne devrait permettre au noyau de charger automatiquement le module 'ide-cd' lorsque le device concerné est demandé. Non ?

      Je n'ai peut-être pas tout compris ...

      Note : ma distib est une redhat 8.0
      • [^] # Re: Distrib : Redhat 8.0

        Posté par  . Évalué à 1.

        Dans ce cas, ce qu'il te manque, c'est pas un truc appelé automounter ou quelque chose d'approchant, cad un programme qui surveille l'état du cd et qui charge le module et monte le media automatiquement ?
        • [^] # Re: Distrib : Redhat 8.0

          Posté par  . Évalué à 1.

          Non il s'agit d'une réponse générale. Pourquoi comme expliqué sur le site leaLinux, http://www.lea-linux.org/kernel/modules.html#autoload(...) le mudule ne se charge pas automatiquement ?
          • [^] # Re: Distrib : Redhat 8.0

            Posté par  . Évalué à 1.

            Ca t'aideras certainement pas beaucoup mais le lien sur lea linux est un document datant de 2000. Je ne me souviens plus comment ça marchait à cette époque là mais si aujourd'hui j'ai le malheur de recréer le fichier conf.modules, je me fais insulter grave au démarage de ma machine, comme quoi c'est devenu obsolète.

            Ceci dit, tu crois vraiment que ça fait perdre beaucoup de place en mémoire d'avoir ide-cd chargé au démarrage ?
            • [^] # Re: Distrib : Redhat 8.0

              Posté par  . Évalué à 1.

              Bon il est vrai que le seul module 'ide-cd' ne doit pas prendre énormément de mémoire.
              Or, il s'agit du principe qui me pose problème.
              J'imagine quand même mal qu'il soit impossible pour un noyau 2.6 de charger automatiquement des modules.
              Alors que ce principe était intégré dans le noyau 2.4

              Alors que je pensais avoir compris le fonctionnement des modules automatiques je me rends compte qu'il n'en est rien.

              Je voudrai comprendre !

              Toi qui est un scientifique tu dois sûrement me comprendre ;-)
  • # Re:

    Posté par  . Évalué à 1.

    Il faut mettre (pour être complet avec ide) :
    alias block-major-3-* ide-probe-mod
    alias block-major-22-* ide-probe-mod
    alias block-major-33-* ide-probe-mod
    alias block-major-34-* ide-probe-mod
    alias block-major-56-* ide-probe-mod
    alias block-major-57-* ide-probe-mod
    alias block-major-88-* ide-probe-mod
    alias block-major-89-* ide-probe-mod
    alias block-major-90-* ide-probe-mod
    alias block-major-91-* ide-probe-mod

    modprobe a complètement changé entre 2.4 et 2.6.

    Faut aussi mettre à jours modutils (et d'autres trucs mais j'ai oublié). Sinon ça ne marchera jamais.
    • [^] # Re: Re:

      Posté par  . Évalué à 1.

      Apparemment 'modutils' n'est pas requis pour le passage de la version 2.4 vers la 2.6.
      En effet, ce package contient 'kerneld' qui permet le chargement automatique des modules. Or, le noyau 2.6 gère cette fonctionnalité de façon native.

      Afin d'intégrer les fonctionnalités de chargement de module, j'avais plutôt mis à jour 'module-init-tools' :

      The module-init-tools are a set of programs for loading, inserting, and removing Kernel Modules for Linux (versions 2.5.48 and above). It serves the same function that the modutils package serves for Linux 2.4.

      Dans tous les tutoriaux sur le passage de la 2.4 vers la 2.6, ils expliquent qu'il faut mettre à jour au minimum les packages suivantes :
      - Gnu C Compiler 2.95.3 gcc --version
      - Gnu Make 3.79.1 make --version
      - binutils 2.12 ld -v
      - util-linux 2.10o fdformat --version
      - module-init-tools 0.9.9 depmod -V
      - procps 2.0.9 ps --version

      (Pas de modutils ...)

      Néanmoins merci pour ton aide.

      Je ne sais toujours pas comment faire. Mais je suis sûr que l'élu va se présenter afin de me guider sur la bon chemin :-)
      • [^] # Re: Re:

        Posté par  . Évalué à 1.

        > Afin d'intégrer les fonctionnalités de chargement de module, j'avais plutôt mis à jour 'module-init-tools'

        Tu as raison.
        La confusion vient que module-init-tools est dans le paquet modutils sous Fedora Core 2 (Linux 2.6). En fait, ce paquet a modutils (l'ancien) et module-init-tools (le nouveau).

        Pour Rawhide (version de développement de Fedora) le paquet se nomme module-init-tools (il y a que le nouveau).

        > En effet, ce package contient 'kerneld'

        kerneld n'existe plus depuis Linux 2.4 je crois.

        Il y a des paquets pour avoir Linux 2.6 :
        http://people.redhat.com/arjanv/2.6/(...)

        Mais c'est pour RedHat 9 et non RedHat 8.0.
    • [^] # Re: Re:

      Posté par  . Évalué à 1.

      > alias block-major-3-* ide-probe-mod

      C'est bien la chaine "ide-probe-mod" qu'il faut mettre !
      Il ne faut pas remplacer "ide-probe-mod" par "ide-cd" par exemple.

      Tout ça est dans /etc/modprobe.conf.dist qui est assez gros :
      wc -l /etc/modprobe.conf.dist
      160 /etc/modprobe.conf.dist

      Pour récupérer le fichier :
      # rpm -q -f /etc/modprobe.conf.dist
      modutils-2.4.26-16

      Suffit de prendre celui de FC2.
      • [^] # Re: Re:

        Posté par  . Évalué à 1.

        Dans le fichier 'modprobe.conf' j'ai remplacé la ligne suivante :

        # alias block-major-22 ide-cd

        par :

        # alias block-major-22-* ide-probe-mod

        J'ai redemarré (au cas où).

        J'ai lancé la commande suivante :

        # mount -t iso9660 /dev/hdc /mnt/cdrom

        Cela me renvoie le message suivant :-(

        # mount : /dev/hdc n'est pas un périphérique de bloc valide.
        • [^] # Re: Re:

          Posté par  . Évalué à 1.

          Tu as quoi comme paramètre de boot (dans grub.conf) ?
          Il n'y a pas un "ide-scsi=/dev/hdc" ou "/dev/hdc=ide-scsi" ou ide-ignore (j'ai oublié la forme exacte) ?

          A ce propos, il y a aussi une option de module de ide-cd équivalente à ide-ignore. Vérifies bien qu'il n'y a pas un truc dans ce goût qui traine.

          Je sais que dans RH8.0 pour les graveurs, anaconda renvoie la gestion du lecteur à ide-scsi.
          • [^] # Re: Re:

            Posté par  . Évalué à 1.

            Voici un extrait du fichier 'grub.conf'

            title Red Hat Linux (2.6.8.1)
            root (hd0,1)
            kernel /vmlinuz-2.6.8.1 ro root=LABEL=/ hdc=ide-cd
            initrd /initrd-2.6.8.1.img


            En tout cas sache que lorsque je rentre :

            # modprobe ide-cd

            Il détecte mon cdrom, voici le message :

            # hdc: ATAPI 24X DVD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)
            • [^] # Re: Re:

              Posté par  . Évalué à 1.

              > kernel /vmlinuz-2.6.8.1 ro root=LABEL=/ hdc=ide-cd

              Enlève "hdc=ide-cd"

              Dans /usr/src/linux-2.6.8-1.521/Documentation/ide.txt j'ai :
                Summary of ide driver parameters for kernel command line
                --------------------------------------------------------
                (...)
                "hdx=cdrom" : drive is present, and is a cdrom drive
                (...)

              Je n'ai pas de "hdx=ide-cd".

              Si ça ne marche pas sans "hdc=ide-cd", essai avec "hdc=cdrom".
            • [^] # Re: Re:

              Posté par  . Évalué à 1.

              En tout cas sache que lorsque je rentre :

              # modprobe ide-cd

              Il détecte mon cdrom, voici le message :

              # hdc: ATAPI 24X DVD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)


              J'ai retrouvé mon option ignore...
              Exemple
              rmmod ide_cd
              modprobe ide_cd
              kernel : hdb: ATAPI 40X DVD-ROM drive, 512kB Cache, UDMA(33)
              kernel : hdd: ATAPI 40X CD-ROM CD-R/RW drive, 8192kB Cache, DMA

              rmmod ide_cd
              echo "options ide-cd ignore=hdb" >> /etc/modprobe.conf
              modprobe ide_cd
              kernel : ignoring drive hdb
              kernel : hdd: ATAPI 40X CD-ROM CD-R/RW drive, 8192kB Cache, DMA

              rmmod ide_cd
              head /dev/hdb > /dev/null
              head: Ne peut ouvrir `/dev/hdb' en lecture: Aucun périphérique ou adresse
              kernel: ide-cd: ignoring drive hdb
              hdd: ATAPI 40X CD-ROM CD-R/RW drive, 8192kB Cache, DMA


              Pas très utile dans ton cas :-)
              A l'origine, ça évitait des problèmes si ide-scsi devait être utilisé et n'était pas déjà chargé.

Suivre le flux des commentaires

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