Page suivante Page précédente Table des matières

4. Installation

L'installation d'un lecteur de CD-ROM sous Linux comporte les étapes suivantes :

  1. Installation du matériel.
  2. Configuration et fabrication du noyau Linux.
  3. Création des fichiers de périphérique et positionnement des paramètres d'amorçage.
  4. Amorçage du noyau Linux
  5. Montage du média.

Les sections suivantes vont couvrir chacune de ces étapes en détail.

4.1 Installation du matériel

Veuillez suivre les instructions du fabricant pour l'installation du matériel, ou laissez votre revendeur effectuer l'opération. Les détails varieront suivant la nature du lecteur, interne ou externe, et le type de l'interface utilisée. Il n'y a aucune exigence spécifique quant à l'installation sous Linux. Il est possible que vous ayez à positionner des cavaliers sur le lecteur et/ou la carte d'interface pour un fonctionnement correct; certains pilotes du noyau incluent des fichiers de documentation qui contiennent cette information.

Comme expliqué dans le fichier ide-cd, les lecteurs de CD-ROM ATAPI doivent être configurés par cavalier comme "seul" ("single") ou "maître" ("master"), et non "esclave" ("slave") lorsqu'un seul périphérique IDE est raccordé à l'interface (bien que cette restriction ne soit plus obligatoire avec les noyaux récents).

4.2 Configuration et fabrication du noyau Linux

Lors de la première installation de Linux à partir d'un CD-ROM, vous utiliserez vraisemblablement les disquettes d'amorçage (boot et root) fournies avec votre distribution Linux. Si possible, choisissez une disquette d'amorçage avec un pilote de noyau pour votre type de lecteur de CD-ROM. Si vous ne pouvez pas trouver de disque d'amorçage avec le pilote de CD-ROM nécessaire au votre, vous avez plusieurs options :

  1. Amorcer directement depuis le CD-ROM (si votre CD Linux et votre ordinateur le permettent)
  2. Installer à travers le réseau
  3. Amorcer DOS, et installer les fichiers Linux sur votre disque dur.
  4. Amorcer DOS, et créer un jeu de disquettes pour installer Linux
  5. Trouver quelqu'un qui peut fabriquer pour vous une disquette d'amorçage contenant le pilote nécessaire pour votre CD-ROM

Le Guide d'installation de Linux (Linux Installation HOWTO) a d'avantage d'informations sur l'installation de Linux. Si vous avez acheté Linux sur CD-ROM, il y a des chances qu'il y ait également des instructions d'installation (le petit livret à l'intérieur du boîtier de disque, et/ou des fichiers sur le CD).

Une fois Linux installé, la plupart des utilisateurs voudra compiler son propre noyau, en général pour l'une des raisons suivantes :

Le Guide du noyau Linux (Linux Kernel HOWTO) doit être consulté pour les détails de fabrication du noyau. Je mentionnerai uniquement ici les points qui sont spécifiques aux lecteurs de CD-ROM.

Évidemment, vous devez intégrer la prise en charge pour votre lecteur de CD-ROM lorsque vous faites un "make config".

Si vous avez un lecteur de CD-ROM ATAPI, vous devez répondre yes aux questions:

Enhanced IDE/MFM/RLL disk/cdrom/tape support (CONFIG_BLK_DEV_IDE) [Y/n/?]
(Prise en charge évoluée des disques/lecteurs de CD-ROM/lecteurs de bande IDE/MFM/RLL)
Include IDE/ATAPI CDROM support (CONFIG_BLK_DEV_IDECD) [Y/n/?]
(inclusion de la prise en charge des CD-ROMs IDE/ATAPI)

Pour les lecteurs de CD-ROM SCSI, activez ces options :

SCSI support (CONFIG_SCSI) [Y/n/m/?]
(Prise en charge du SCSI)
SCSI CDROM support (CONFIG_BLK_DEV_SR) [Y/n/m/?]
(Prise en charge de CD-ROM SCSI)

Activez également la prise en charge de votre carte adaptateur SCSI, lorsque cela vous est demandé, par exemple :

Adaptec AHA152X/2825 support (CONFIG_SCSI_AHA152X) [Y/n/m/?]
(Prise en charge des cartes Adaptec de type AHA152X)

Pour les lecteurs de CD-ROM à interface propriétaire, activez le pilote approprié. Vous pouvez utiliser le tableau présenté dans la section précédente pour déterminer le pilote à utiliser pour votre modèle.

Virtuellement tous les CD-ROM utilisent le système de fichier ISO-9660, vous devez donc aussi l'activer :

ISO 9660 CDROM filesystem support (CONFIG_ISO9660_FS) [Y/n/m/?]
(Prise en charge du système de fichier ISO9660)

Bien que cela ne soit pas nécessaire pour le fonctionnement du CD-ROM, si vous avez une carte son prise en charge par Linux, il est possible que vous vouliez l'activer et configurer le pilote son du noyau en même temps. Le Guide de configuration du Son (Sound HOWTO) peut être une référence utile pour cela.

Vous devez ensuite suivre la procédure habituelle de fabrication et d'installation du noyau . N'amorcez pas le système avec le nouveau noyau, tant que vous n'avez pas créé les fichiers de périphériques et que vous n'avez pas réglé les paramètres d'amorçage, ainsi que décrit dans la section suivante.

Le système de fichiers ISO-9660 et presque tous les pilotes de lecteurs de CD-ROM peuvent être compilés comme modules chargeables du noyau. Ce procédé permet aux pilotes du noyau d'être chargés et déchargés sans réamorcer le système, ce qui libère aussi de la mémoire. Je vous recommande d'avoir votre installation du CD-ROM fonctionnelle en utilisant des pilotes compilés dans le noyau d'abord. L'utilisation des modules est décrite dans la documentation des modules et dans le Guide du noyau (Kernel HOWTO).

Si un type de lecteur mentionné ici n'est pas pris en charge par votre noyau, vous devrez vraisemblablement le mettre à jour pour une version plus récente.

Il est possible que vous ayez à utiliser un pilote distribué séparément du code source du noyau. Ceci implique habituellement d'appliquer une rustine au noyau. A nouveau le Guide du noyau (Kernel HOWTO) explique comment le faire.

Notez qu'il existe un programme de configuration du noyau à base de menus, invoqué par "make menuconfig" et une version graphique basée sur X11, invoquée par "make xconfig". Les trois moyens de configuration offrent tous une aide en ligne.

4.3 Création des fichiers de périphérique et passage de paramètres à l'initialisation

Le noyau utilise des fichiers de périphériques pour identifier quel pilote utiliser. Si vous utilisez une distribution standard de Linux, il est possible que les fichiers de périphérique nécessaires aient été créés pendant l'installation. Sous la distribution Slackware de Linux, par exemple, il y a un outil de paramétrage, setup doté de menus, qui inclut le paramétrage des lecteurs de CD-ROM, et la plupart des systèmes dispose d'un script /dev/MAKEDEV. Si vous n'utilisez pas ces méthodes, vous pouvez appliquer la procédure manuelle décrite dans cette section. Même si vous utilisez l'une de ces méthodes, il est recommandé de vérifier au moins les fichiers de périphérique par rapport aux informations de cette section.

Vous créez le fichier de périphérique en exécutant les commandes shell correspondant à votre type de lecteur. Ceci doit être effectué en tant que superutilisateur (root). Notez que certaines distributions Linux peuvent utiliser des noms de périphériques de CD-ROM légèrement différents de ceux mentionnés ici.

Il est recommandé de créer aussi un lien symbolique vers le périphérique de CD-ROM pour s'en souvenir plus facilement. Par exemple, pour un lecteur de CD-ROM IDE qui se trouve en deuxième position sur la seconde interface, le lien serait créé en utilisant :

# ln -s /dev/hdd /dev/cdrom

Si vous voulez écouter des CDs audio-numériques, vous devrez positionner les protections sur le fichier de périphérique (le vrai fichier, pas le lien symbolique pointant dessus) pour permettre à tous les utilisateurs de lire, par exemple :

# chmod 664 /dev/hdd
# ls -l /dev/hdd
brw-rw-r--   1 root     disk      22,  64 Feb  4  1995 /dev/hdd

Si vous amorcez Linux, le pilote de périphérique tente de déterminer si les périphériques appropriés sont présents, typiquement en testant des adresses spécifiques. De nombreux pilotes testent automatiquement à plusieurs adresses, mais en raison des différences de configuration, de conflits possibles entre pilotes et de limitations du matériel, les pilotes ont parfois besoin d'aide pour identifier les adresses et d'autres paramètres. La plupart des pilotes acceptent une option passée au niveau de la ligne de commande par le noyau au pilote de périphérique. Ceci peut s'effectuer interactivement, ou plus commodément, se configurer dans votre outil d'amorçage. Avec LILO, par exemple, vous ajouteriez une commande append telle que la suivante à votre fichier /etc/lilo.conf:

append = "sbpcd=0x230,SoundBlaster"

Consultez la documentation de LILO pour plus d'informations.

Dans la section suivante, je présente les problèmes spécifiques à un pilote de périphérique particulier, y compris les fichiers de périphérique, les paramètres d'amorçage, et les possibilités des différents pilotes. Vous avez seulement besoin de lire la section relative à votre type de lecteur. Les fichiers de documentation se trouvent généralement dans le répertoire /usr/src/linux/Documentation/cdrom.

Le pilote Sbpcd

          Auteur principal: Eberhard Moenkeberg (emoenke@gwdg.de)
    Support multi sessions: oui (mais pas tous les lecteurs)
    Support multi lecteurs: oui
 Support module chargeable: oui
   Lecture de trames audio: oui (uniquement les CR-562, CR-563, CD-200)
          Test automatique: oui
      Fichier périphérique: /dev/sbpcd, nombre majeur 25
  Fichier de configuration: sbpcd.h
Option configuration noyau: Matsushita/Panasonic CDROM support?
  Fichier de documentation: sbpcd

Ce pilote accepte une ligne de commande du noyau de la forme:

sbpcd=<io-address>,<interface-type>

où le premier paramètre est l'adresse de base du périphérique (par ex. 0x230), et <interface-type> est soit "SoundBlaster", "LaserMate", ou "SPEA". Consultez le fichier sbpcd.h pour des conseils sur le type d'interface à utiliser. L'utilisation de sbpcd=0 désactive la détection automatique ainsi que le pilote.

Le fichier de périphérique peut être créé par:

# mknod /dev/sbpcd b 25 0

Jusqu'à quatre lecteurs par contrôleur sont pris en charge. Les trois lecteurs suivants sur le premier contrôleur utiliseront les nombres de périphérique mineurs 1 à 3. Si vous avez plus d'un contrôleur, créez les fichiers de périphérique avec des nombres majeurs 26, 27 et 28, jusqu'à un maximum de 4 contrôleurs (soit 16 lecteurs de CD-ROM au total; il est à espérer que ce soit suffisant pour la plupart des utilisateurs :-)

Consultez le fichier sbpcd pour plus d'informations sur ce pilote.

Si vous avez acheté récemment un lecteur de CD-ROM, ne présupposez pas, parce qu'il est connecté à une carte SoundBlaster qu'il doive utiliser ce pilote du noyau. La plupart des lecteurs de CD-ROM vendu par Creative Labs sont maintenant des lecteurs IDE/ATAPI.

Pilote Sonycdu535

          Auteur principal: Ken Pizzini (ken@halcyon.com)
    Support multi sessions: non
    Support multi lecteurs: non
 Support module chargeable: oui
   Lecture de trames audio: non
          Test automatique: non
      Fichier périphérique: /dev/sonycd535, nombre majeur 24
  Fichier de configuration: sonycd535.h
Option configuration noyau: Sony CDU535 CDROM support?
  Fichier de documentation: sonycd535

Ce pilote accepte une ligne de commande du noyau de la forme:

sonycd535=<io-address>

où <io-address> est l'adresse de base du contrôleur (par ex. 0x320). Alternativement, vous pouvez positionner la valeur de cette adresse dans le fichier sonycd535.h et la compiler dans le noyau.

Le fichier de périphérique peut être créé par:

# mknod /dev/sonycd535 b 24 0

Certaines distributions Linux utilisent /dev/sonycd pour ce périphérique. D'anciennes versions de ce pilote utilisaient un nombre majeur de périphérique 21; vérifiez que votre fichier de périphérique est correct.

Ce pilote était anciennement distribué sous forme de rustine, mais il fait maintenant partie du noyau standard. Consultez le fichier sonycd535 pour plus d'informations sur ce pilote.

Pilote Cdu31a

          Auteur principal: Corey Minyard (minyard@-rch.cirr.com)
    Support multi sessions: oui
    Support multi lecteurs: non
 Support module chargeable: oui
   Lecture de trames audio: oui
          Test automatique: non
      Fichier périphérique: /dev/cdu31a, nombre majeur 15
  Fichier de configuration: cdu31a.h
Option configuration noyau: Sony CDU31A/CDU33A CDROM support?
  Fichier de documentation: cdu31a

Ce pilote accepte une ligne de commande du noyau de la forme:

cdu31a=<io-address>,<interrupt>,PAS

Le premier nombre est l'adresse d'entrée/sortie de base de la carte (par ex. 0x340), le second est le numéro d'interruption à utiliser (0 indique l'utilisation d'entrées/sorties scrutées en cycle (polled). le troisième paramètre, optionnel, doit être "PAS", si le lecteur est connecté à une carte son Pro-Audio Spectrum 16, sinon, il est laissé vide.

Si le pilote est chargé en tant que module, il utilise un format légèrement différent. Si on charge le pilote en utilisant les commandes modprobe ou insmod, les paramètres prennent la forme suivante :

cdu31a_port=<io-address> cdu31a_irq=<interrupt>

L'adresse d'entrée/sortie de base est requise, alors que le numéro d'interruption est optionnel.

Le fichier de périphérique peut être créé par:

# mknod /dev/cdu31a b 15 0

Consultez le fichier cdu31a pour plus d'informations sur ce pilote.

Consultez aussi la page Web maintenue par Jeffrey Oxenreider ( zureal@infinet.com) qui couvre un grand nombre de problèmes courants avec ces lecteurs. On peut la trouver à l'adresse http://lemures.shinma.symix.com/~zureal/cdu31a.html.

Pilote Aztcd

          Auteur principal: Werner Zimmermann (zimmerma@rz.fht-esslingen.de)
    Support multi sessions: oui
    Support multi lecteurs: non
 Support module chargeable: oui
   Lecture de trames audio: non
          Test automatique: non
      Fichier périphérique: /dev/aztcd0, nombre majeur 29
  Fichier de configuration: aztcd.h
Option configuration noyau: Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support?
  Fichier de documentation: aztcd

Ce pilote accepte une ligne de commande du noyau de la forme:

aztcd=<io-address>

où le paramètre est l'adresse d'entrée/sorties de base de la carte (par ex. 0x340).

Le fichier de périphérique peut être créé par:

# mknod /dev/aztcd0 b 29 0

Veuillez noter que ce pilote ne fonctionne que pour le modèle CDA268-01A. Les autres modèles, y compris les CDA268-03I et CDA269-031SE ne sont pas propriétaires et doivent utiliser le pilote IDECD (ATAPI) du noyau.

Consultez le fichier aztcd pour plus d'informations sur ce pilote.

Pilote Gscd

          Auteur principal: Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de)
    Support multi sessions: non
    Support multi lecteurs: non
 Support module chargeable: oui
   Lecture de trames audio: non
          Test automatique: non
      Fichier périphérique: /dev/gscd0, nombre majeur 16
  Fichier de configuration: gscd.h
Option configuration noyau: Goldstar R420 CDROM support?
  Fichier de documentation: gscd

Ce pilote accepte une ligne de commande du noyau de la forme:

gscd=<io-address>

spécifiant l'adresse d'entrée/sortie de base de la carte (par ex. 0x340).

Le fichier de périphérique peut être créé par:

# mknod /dev/gscd0 b 16 0

Consultez le fichier gscd et le site Web http://linux.rz.fh-hannover.de/~raupach/ pour plus d'informations sur ce pilote.

Pilote Mcd

          Auteur principal: Martin (martin@bdsi.com)
    Support multi sessions: non
    Support multi lecteurs: non
 Support module chargeable: oui
   Lecture de trames audio: non
          Test automatique: non
      Fichier périphérique: /dev/mcd, nombre majeur 23
  Fichier de configuration: mcd.h
Option configuration noyau: Standard Mitsumi CDROM support?
  Fichier de documentation: mcd

Il s'agit de l'ancien pilote pour les lecteurs Mitsumi, qui est disponible depuis déjà un certain temps. Vous pouvez aussi essayer le nouveau pilote mcdx, qui a de nouvelles fonctions mais est potentiellement moins stable.

Ce pilote accepte une ligne de commande du noyau de la forme:

mcd=<io-address>,<irq>

spécifiant l'adresse d'entrée/sortie de base de la carte (par ex. 0x340) et le numéro d'interruption requis (IRQ).

Le fichier de périphérique peut être créé par:

# mknod /dev/mcd b 23 0

Consultez le fichier mcd pour plus d'informations sur ce pilote.

Pilote Mcdx

          Auteur principal: Heiko Schlittermann
    Support multi sessions: oui
    Support multi lecteurs: oui
 Support module chargeable: oui
   Lecture de trames audio: non (non pris en charge par le matériel)
          Test automatique: non
      Fichier périphérique: /dev/mcdx0, nombre majeur 20
  Fichier de configuration: mcdx.h
Option configuration noyau: Experimental Mitsumi support?
  Fichier de documentation: mcdx

Il s'agit du nouveau pilote pour les lecteurs Mitsumi. L'ancien pilote mcd, potentiellement plus stable est toujours disponible.

Ce pilote accepte une ligne de commande du noyau de la forme:

mcdx=<io-address>,<irq>

spécifiant l'adresse d'entrée/sortie de base de la carte (par ex. 0x340) et le numéro d'interruption requis (IRQ).

Le fichier de périphérique peut être créé par:

# mknod /dev/mcdx0 b 20 0

Si vous avez acheté récemment un lecteur de CD-ROM Mitsumi, ne présupposez pas qu'il doit utiliser ce pilote du noyau. Les nouveaux lecteurs Mitsumi sont maintenant compatibles EIDE/ATAPI, et ils devraient utiliser le pilote du noyau idecd à la place.

Consultez le fichier mcdx pour plus d'informations sur ce pilote.

Pilote Cm206

          Auteur principal: David A. van Leeuwen (david@tm.tno.)
    Support multi sessions: oui
    Support multi lecteurs: non
 Support module chargeable: oui
   Lecture de trames audio: non
          Test automatique: oui
      Fichier périphérique: /dev/cm206cd, nombre majeur 32
  Fichier de configuration: cm206.h
Option configuration noyau: Philips/LMS CM206 CDROM support?
  Fichier de documentation: cm206

Ce pilote accepte une ligne de commande du noyau de la forme:

cm206=<io-address>,<interrupt>

où le premier nombre est l'adresse d'entrée/sortie de base de la carte (par ex. 0x340). Le second est le numéro d'interruption.

Le fichier de périphérique peut être créé par:

# mknod /dev/cm206cd b 32 0

Consultez le fichier cm206 pour plus d'informations sur ce pilote.

Pilote Optcd

          Auteur principal: Leo Spiekman (spiekman@dutette.et.tudelft.nl)
    Support multi sessions: oui
    Support multi lecteurs: non
 Support module chargeable: oui
   Lecture de trames audio: non
          Test automatique: non
      Fichier périphérique: /dev/optcd0, nombre majeur 17
  Fichier de configuration: optcd.h
Option configuration noyau: Experimental Optics Storage ... CDROM support?
  Fichier de documentation: optcd

Ce pilote accepte une ligne de commande du noyau de la forme:

optcd=<io-address>

pour spécifier l'adresse d'entrée/sortie de base de la carte (par ex. 0x340).

Le fichier de périphérique peut être créé par:

# mknod /dev/optcd0 b 17 0

Consultez le fichier optcd pour plus d'informations sur ce pilote.

Pilote Sjcd

          Auteur principal: Vadim V. Model (vadim@rbrf.msk.su)
    Support multi sessions: non
    Support multi lecteurs: non
 Support module chargeable: oui
   Lecture de trames audio: non
          Test automatique: non
      Fichier périphérique: /dev/sjcd, nombre majeur 18
  Fichier de configuration: sjcd.h
Option configuration noyau: Experimental Sanyo H94A CDROM support?
  Fichier de documentation: sjcd

Ce pilote accepte une ligne de commande du noyau de la forme:

sjcd=<io-address>,<interrupt>,<dma>

indiquant l'adresse de base, l'interruption et le canal DMA à utiliser (par ex. sjcd=0x340,10,5).

Le fichier de périphérique peut être créé par:

# mknod /dev/sjcd b 18 0

Consultez le fichier sjcd pour plus d'informations sur ce pilote.

Pilote Paride

          Auteur principal: Grant R. Guenther (grant@torque.net)
    Support multi sessions: non
    Support multi lecteurs: oui
 Support module chargeable: oui
   Lecture de trames audio: non
          Test automatique: oui
      Fichier périphérique: /dev/pcd0, nombre majeur 46
  Fichier de configuration: bpcd.h
Option configuration noyau: Parallel port IDE device support?
  Fichier de documentation: paride.txt

Il s'agit du pilote pour les divers types de périphériques de stockage qui se relient sur un port parallèle. Normalement, le pilote détectera automatiquement le périphérique sur port parallèle. La documentation indique les paramètres qui peuvent être utilisés pour spécifier des paramètres au périphérique si l'auto-détection ne fonctionne pas.

Le fichier de périphérique pour le premier lecteur peut être créé en utilisant :

# mknod /dev/pcd0 b 46 0

Consultez le fichier /usr/src/linux/Documentation/paride.xt pour plus d'informations sur ce pilote. Notez qu'il remplace le pilote bpcd présent dans les anciens noyaux.

Pilote SCSI

          Auteur principal: David Giller
    Support multi sessions: oui (dépendant du lecteur)
    Support multi lecteurs: oui
 Support module chargeable: oui
   Lecture de trames audio: non
          Test automatique: oui
      Fichier périphérique: /dev/scd0, nombre majeur 11
  Fichier de configuration: cdrom.h
Option configuration noyau: SCSI CDROM support?
  Fichier de documentation: scsi.txt

Il y a des options pour les lignes de commande du noyau spécifiques à chaque contrôleur SCSI. Consultez le SCSI HOWTO pour plus d'informations.

Plusieurs lecteurs sont pris en charge (à concurrence du nombre maximum de périphériques sur le bus SCSI). Créez les fichiers de périphérique avec un nombre majeur de 11 et des nombres mineurs commençant à 0:

# mknod /dev/scd0 b 11 0
# mknod /dev/scd1 b 11 1

Alors que le pilote du noyau ne prend pas lui-même en charge la lecture de trames audio-numériques, certains lecteurs SCSI en ont la capacité et fonctionneront avec le programme cdda2wav (qui utilise l'interface générique SCSI du noyau).

Reportez vous également à la discussion sur le pilote d'émulation SCSI en IDE précédemment dans ce document.

Pilote IDECD

          Auteur principal: Scott Snyder (snyder@fnald0.fnal.gov)
    Support multi sessions: oui
    Support multi lecteurs: oui
 Support module chargeable: non
   Lecture de trames audio: oui (pour les lecteurs le prenant en charge)
          Test automatique: oui
      Fichier périphérique: /dev/hd{a,b,c,d}, nombre majeur 22
  Fichier de configuration: cdrom.h
Option configuration noyau: Include support for IDE/ATAPI CDROMs?
  Fichier de documentation: ide-cd

Il s'agit du pilote pour les lecteurs de CD-ROM ATAPI. Ce pilote accepte une ligne de commande du noyau de la forme:

hdx=cyls,heads,sects,wpcom,irq
  or
hdx=cdrom

hdx peut être n'importe lequel des {hda,hdb,hdc,hdd}, ou simplement hd, pour désigner le prochain lecteur en séquence. Seuls les trois premiers paramètres sont requis (cyls,heads,sects). Par exemple hdc=1050,32,64 hdd=cdrom.

Faire en sorte que le pilote IDE reconnaisse votre lecteur de CD-ROM peut être délicat, spécialement si vous avez plus de 2 périphériques ou plus d'un contrôleur IDE. Habituellement, il est seulement nécessaire de passer la ligne d'options de commande correcte depuis LILO. Le fichier /usr/src/linux/Documentation/ide-cd explique comment faire cela. Lisez le attentivement.

Les noyaux Linux récents disposent d'une meilleure prise en charge des périphériques IDE multiples. Si vous avez des problèmes avec un ancien noyau, le mettre à jour peut aider.

Certains contrôleurs IDE ont des problèmes matériels que le pilote du noyau peut contourner. Vous devrez peut-être passer des paramètres additionnels au pilote pour l'activer. Consultez la documentation pour plus de détails.

4.4 Amorçage du noyau Linux

Vous pouvez maintenant redémarrer avec le nouveau noyau. Vérifier la présence d'un message comme celui montré ci-dessous, indiquant que le lecteur de CD-ROM a été trouvé par le pilote de périphérique (le message change suivant le type de lecteur):

hdd: NEC CD-ROM DRIVE:282, ATAPI CDROM drive

Si les messages affichés lors de l'amorçage défilent trop vite pour être lus, il est possible de les visualiser a posteriori par la commande dmesg ou tail /var/log/messages.

Si le lecteur n'a pas été trouvé, un problème s'est alors produit. Consultez la section concernant le dépannage.

4.5 Montage, Démontage, et Éjection du media

Pour monter un CD-ROM, insérez un disque dans le lecteur, et exécutez la commande mount, en tant que superutilisateur (Ceci suppose que vous avez créé un lien symbolique vers votre fichier de périphérique, comme recommandé précédemment et qu'un répertoire vide /mnt/cdrom existe):

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

Le contenu du CD-ROM peut maintenant être accédé sous le répertoire /mnt/cdrom.

Il existe d'autres options de la commande mount que vous pourrez vouloir utiliser; consultez la page du manuel (man) de mount(8) pour plus de détails.

Vous pouvez ajouter une entrée au fichier /etc/fstab pour monter automatiquement un CD-ROM lors de l'amorçage de Linux, ou pour spécifier des paramètres à utiliser au montage; voir la page du manuel de fstab(5).

Il est à noter que pour écouter des CDs audio-numériques vous ne devez pas essayer de les monter.

Pour démonter un CD-ROM, utiliser la commande umount en tant que superutilisateur :

# umount /mnt/cdrom

Le disque ne peut être démonté que si aucun processus n'accède au lecteur à ce moment-là (donc, n'ayant pas non plus leur répertoire par défaut sur un répertoire du disque monté). Vous pouvez alors éjecter le disque. La plupart des lecteurs ont un bouton d'éjection; il existe aussi un programme isolé eject qui permet d'éjecter un CD-ROM de façon purement logicielle.

Notez que vous ne devriez pas éjecter un disque tant qu'il est monté (ceci peut être possible ou non suivant le type de lecteur). Certains lecteurs de CD-ROM peuvent éjecter automatiquement un CD-ROM lorsqu'il est démonté et faire rentrer le tiroir du CD quand un disque est monté (vous pouvez désactiver cette fonction à la compilation du noyau ou par commande logicielle).

Il est possible qu'après avoir écouté un CD audio-numérique, vous ne puissiez plus monter un CD-ROM. Vous avez besoin d'envoyer la commande audio "stop" (en utilisant un programme de lecture de CDs audio-numériques) avant d'essayer le montage. Ce problème semble apparaître seulement avec le pilote SBPCD.

Les noyaux récents incluent un autochargeur fonctionnant en mode noyau qui fournit le montage transparent des médias amovibles, y compris les CD-ROM. Vous pouvez trouver les outils nécessaires à son utilisation à l'adresse ftp://ftp.kernel.org/pub/linux/daemons/autofs/.

4.6 Dépannage

Si vous continuez à rencontrer des problèmes après avoir suivi les instructions de ce HOWTO, voici un certain nombre de points à vérifier. Ces vérifications sont données par ordre croissant de complexité. Si une vérification échoue, résolvez le problème avant de passer à l'étape suivante.

Étape 1: Assurez vous d'exécuter le noyau que vous avez compilé

Vous pouvez vérifier le marquage temporel du noyau, pour voir si vous exécutez celui que vous avez compilé avec la prise en charge des CD-ROMs. Vous pouvez faire ceci avec la commande uname:

% uname -a
Linux fizzbin 2.2.4 #1 Tue Mar 232 11:23:21 EST 1999 i586 unknown

ou en affichant le fichier /proc/version:

% cat /proc/version
Linux version 2.2.4 (root@fizzbin) (gcc version 2.7.2.3) #1 Tue Mar 23 11:23:21 EST 1999

Si le marquage temporel ne correspond pas à la date de compilation du noyau, vous devez alors exécuter un ancien noyau. Vous rappelez-vous avoir redémarré ? Si vous utilisez LILO, l'avez-vous réinstallé (typiquement en exécutant /sbin/lilo)? Si vous démarrez depuis une disquette, avez-vous recréé une nouvelle disquette d'amorçage et l'avez-vous utilisée pour redémarrer ?

Étape 2: Assurez vous que les pilotes adéquats sont dans le noyau

Vous pouvez voir quels pilotes sont compilés dans le noyau en consultant /proc/devices:

% cat /proc/devices
Character devices:
 1 mem
 2 pty
 3 ttyp
 4 ttyS
 5 cua
 7 vcs

Block devices:
 3 ide0
22 ide1

D'abord, cherchez votre pilote de périphérique de CD-ROM. Ce sont tous des périphériques en mode bloc, dans ce cas nous pouvons voir que le pilote idecd de nombre majeur 22 est présent.

Assurez vous également que le système de fichiers ISO-9660 est compilé dans le noyau, en consultant /proc/filesystems:

% cat /proc/filesystems
        ext2
nodev   proc
nodev   devpts
        vfat
        iso9660

Vous pouvez aussi vérifier les adresses d'entrées/sorties utilisées par le pilote en consultant /proc/ioports:

howto % cat /proc/ioports
 ...
0230-0233 : sbpcd
 ...

Si l'un des pilotes que vous pensiez avoir compilé dans le noyau n'est pas affiché, alors quelque chose s'est mal passé lors de la configuration ou de la construction du noyau. Effectuez de nouveau le processus d'installation, en commençant par la configuration et la construction du noyau.

Étape 3: Le noyau a-t-il détecté votre lecteur lors de l'amorçage ?

Assurez vous que le périphérique CD-ROM a été détecté par le noyau. Vous devriez avoir vu un message à l'amorçage. Si les messages ont disparu de l'écran, vous pouvez habituellement les revoir en utilisant la commande dmesg:

% dmesg

ou

% tail /var/log/messages

Si votre lecteur n'a pas été trouvé, alors quelque chose ne va pas. Assurez vous qu'il est alimenté et que les câbles sont correctement connectés. Si votre lecteur dispose de cavaliers pour l'adressage, vérifiez qu'ils sont correctement positionnés (par ex. lecteur 0 si vous avez un seul lecteur). Les CD-ROM ATAPI doivent être paramétrés comme "seul" (single) ou "maître" (master), et non "esclave" (slave) lorsqu'un seul périphérique IDE est raccordé à l'interface. Si le lecteur fonctionne sous DOS, alors vous pouvez être relativement confiant dans le fonctionnement du matériel.

De nombreux pilotes du noyau utilisent la détection automatique, mais certains non, et de toute façon, elle n'est pas toujours fiable. Utilisez les options de la ligne de commande du noyau pour votre type de pilote. Vous pourrez vouloir essayer plusieurs valeurs différentes, si vous n'êtes pas sûr des adresses d'entrée/sortie ou d'autres paramètres. LILO peut être (et est généralement) configuré pour vous permettre d'entrer les paramètres manuellement lors de l'amorçage.

Une autre possibilité est que vous ayez utilisé le mauvais pilote de noyau pour votre lecteur de CD-ROM. Certaines documentations se réfèrent à des interfaces propriétaires en tant qu'IDE, ce qui peut vous conduire à croire faussement que ce sont des lecteurs ATAPI.

Une autre possibilité est que votre lecteur (ou votre carte d'interface) soit du type "compatible" qui nécessite une initialisation par un pilote DOS. Essayez d'amorcer le DOS et de charger le pilote de périphérique DOS fourni par le vendeur. Amorcez ensuite Linux à chaud en utilisant Control-Alt-Suppr.

Si votre lecteur n'est pas mentionné dans ce document, il est possible qu'il n'y ait pas de pilote disponible pour lui sous Linux. Vous pouvez vérifier avec certaines des références mentionnées à la fin de ce document pour obtenir de l'aide.

Étape 4: Pouvez-vous lire des données du lecteur ?

Essayez de lire depuis le lecteur de CD-ROM. Taper la commande suivante allume la LED d'activité du lecteur (si elle existe) et aucune erreur ne devrait être reportée. Utilisez le fichier de périphérique adapté à votre lecteur et assurez vous qu'un CD-ROM est inséré; utilisez Control-C pour sortir.

# dd if=/dev/cdrom of=/dev/null bs=2048
^C
124+0 records in
124+0 records out

Si cela fonctionne, alors le noyau communique avec le lecteur et vous pouvez passer à l'étape 5.

Sinon, une cause possible réside dans le fichier de périphérique. Assurez vous que le fichier de périphérique dans le répertoire /dev dispose de nombres majeur et mineur corrects, comme mentionné précédemment pour votre type de lecteur. Vérifiez que les permissions du fichier de périphérique permettent la lecture et l'écriture.

Une possibilité éloignée peut être un problème matériel. Essayez de tester le lecteur sous un autre système d'exploitation, si possible, pour déterminer si ceci pourrait être le cas.

Étape 5: Pouvez-vous monter le disque ?

Si vous pouvez lire depuis le lecteur, mais ne pouvez monter le disque, vérifiez d'abord que vous avez compilé la prise en charge du système de fichiers ISO-9660 en consultant /proc/filesystems, comme décrit précédemment.

Assurez vous que vous montez le disque avec les options "-t iso9660" et "-r" et qu'un vrai CD-ROM à la norme ISO-9660 (pas un CD audio-numérique) a été inséré dans le lecteur. Vous devriez normalement pouvoir monter les disques en tant que superutilisateur.

Assurez vous que le point de montage existe et est un répertoire vide.

Si vous montez automatiquement le CD-ROM à l'amorçage, assurez vous que vous avez des entrées correctes dans votre fichier /etc/fstab.

Si vous exécutez le démon syslog, il peut y avoir des messages d'erreur du noyau que vous ne voyez pas. Essayez d'utiliser la commande "dmesg" :

% dmesg
SBPCD: sbpcd_open: no disk in drive

Il peut aussi y avoir des erreurs reportées dans des fichiers situés sous /var/log, suivant la manière dont votre système est configuré.

Diagnostiquer des problèmes audio-numériques

Si le lecteur fonctionne pour les CD-ROM, mais pas pour écouter des CDs audio-numériques, voici quelques pistes possibles :

Vous avez besoin d'un programme pour écouter les CDs audio-numériques. Certaines applications peuvent mal fonctionner ou ne pas être compatibles avec votre lecteur. Essayez une autre application, et/ou essayez de les recompiler vous-même. Un bon endroit pour chercher des applications de ce type est : ftp://metalab.unc.edu/pub/Linux/apps/sound/cdrom/.

Peu de lecteurs de CD-ROM ne prennent pas en charge les CDs audio-numériques. Vérifiez le fichier de documentation ou le code source pour voir si c'est le cas.

Vérifiez si le son peut être entendu au travers de la prise casque. Si c'est le cas, alors le problème est probablement dû à votre carte son. Utilisez un programme de table de mixage pour positionner le niveau du volume et du périphérique d'entrée. Assurez vous d'avoir installé le câble audio reliant le lecteur de CD-ROM à la carte son. Assurez vous que le pilote du noyau de votre carte son est installé et opérationnel (consultez le Sound HOWTO).

Si rien ne marche

Si vous avez toujours des problèmes, voici quelques suggestions finales à essayer :


Page suivante Page précédente Table des matières