Guide d’utilisation d’un lecteur de CD-ROM sous Linux

Jeff Tranter, tranter@pobox.com - Adaptation française Bruno Cornec, bruno@victoria.frmug.org v1.14, 24 Mars 1999

Ce document décrit l’installation, la configuration et l’utilisation d’un lecteur de CD-ROM sous Linux. Il indique les matériels pris en charge et répond à certaines questions fréquemment posées. Le but est de rendre les nouveaux utilisateurs rapidement opérationnels et de réduire le trafic des forums USENET et des listes de discussion.

Table des matières

1 Introduction 3 1.1 Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Nouvelles versions de ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Suggestions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Licence de Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 La technologie du CD-ROM 4

3 Matériels pris en charge 5 3.1 Les lecteurs de CD-ROM ATAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 Les lecteurs de CD-ROM SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3 Les lecteurs de CD-ROM à interface propriétaire . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.4 Lecteur sur port parallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.5 Pilotes alternatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 Installation 8 4.1 Installation du matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2 Configuration et fabrication du noyau Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3 Création des fichiers de périphérique et passage de paramètres à l’initialisation . . . . . . . . 10

4.3.1 Le pilote Sbpcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.3.2 Pilote Sonycdu535 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.3.3 Pilote Cdu31a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.3.4 Pilote Aztcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.3.5 Pilote Gscd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.3.6 Pilote Mcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.3.7 Pilote Mcdx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.3.8 Pilote Cm206 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.3.9 Pilote Optcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.3.10 Pilote Sjcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.3.11 Pilote Paride . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.3.12 Pilote SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.3.13 Pilote IDECD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.4 Amorçage du noyau Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.5 Montage, Démontage, et Éjection du media . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.6 Dépannage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.6.1 Étape 1: Assurez vous d’exécuter le noyau que vous avez compilé . . . . . . . . . . . . 19 4.6.2 Étape 2: Assurez vous que les pilotes adéquats sont dans le noyau . . . . . . . . . . . 20 4.6.3 Étape 3: Le noyau a-t-il détecté votre lecteur lors de l’amorçage? . . . . . . . . . . . . 20 4.6.4 Étape 4: Pouvez-vous lire des données du lecteur? . . . . . . . . . . . . . . . . . . . . 21 4.6.5 Étape 5: Pouvez-vous monter le disque? . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.6.6 Diagnostiquer des problèmes audio-numériques . . . . . . . . . . . . . . . . . . . . . . 22 4.6.7 Si rien ne marche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5 Les applications 23 5.1 Platines de lecture de CDs audio-numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 Le CD-Photo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.3 Mkisofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.4 Outils ISO-9660 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6 Réponses aux questions fréquemment posées (FAQ) 24 6.1 Comment un utilisateur n’étant pas superutilisateur peut-il monter/démonter des disques? 24 6.2 Pourquoi ai-je device is busy quand je démonte un CD-ROM? . . . . . . . . . . . . . . . . 25 6.3 Comment exporter un CD-ROM vers d’autres machines via NFS? . . . . . . . . . . . . . . . 25 6.4 Puis-je amorcer Linux à partir d’un CD-ROM? . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.5 Comment peut-on lire les données des CDs audio-numériques? . . . . . . . . . . . . . . . . . 25 6.6 Pourquoi la commande find ne fonctionne-t-elle pas normalement? . . . . . . . . . . . . . . . 25 6.7 Est-ce que Linux prend en charge les graveurs de CD? . . . . . . . . . . . . . . . . . . . . . . 26 6.8 Pourquoi est-ce que j’obtiens mount: Read-only file system lorsque je monte un CD-ROM? . 26 6.9 Pourquoi le tiroir du lecteur s’ouvre-t-il quand j’arrête le système? . . . . . . . . . . . . . . . 26 6.10 J’ai un CD "spécial" qui ne peut être monté . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.11 Est-ce que des lecteurs multi-CDs fonctionnent avec Linux? . . . . . . . . . . . . . . . . . . . 27 6.12 J’obtiens des erreurs "/cdrom: Permission denied" ou "/cdrom: permission non accordée" . . 27 6.13 Comment dois-je interpréter les messages d’erreur noyau du pilote IDE CD? . . . . . . . . . . 27 6.14 Comment puis-je savoir la vitesse de mon lecteur de CD-ROM? . . . . . . . . . . . . . . . . . 28 6.15 Mon lecteur de CD-ROM s’est arrêté de fonctionner après l’installation de Linux . . . . . . . 28 6.16 Il y a des fichiers cachés sur un CD que je ne peux lire . . . . . . . . . . . . . . . . . . . . . . 28 6.17 Où est documentée l’API du CD-ROM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.18 Pourquoi ne vois-je pas les noms de fichiers longs sur ce CD-ROM Windows? . . . . . . . . . 29

6.19 Le système de fichiers Joliet de Microsoft est-il pris en charge? . . . . . . . . . . . . . . . . . 29

6.20 Linux prend-il en charge les CDs "extra"? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

6.21 Linux prend-il en charge les DVD-ROM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6.22 Linux prend-il en charge les CD-RW? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

7 Références 30

1 Introduction

Ce document indique comment utiliser un lecteur de CD-ROM sous Linux. Il est conçu comme un guide de référence rapide, couvrant tout ce que vous avez besoin de savoir pour installer et configurer un lecteur de CD-ROM sous Linux. Les questions fréquemment posées au sujet des CD-ROMs y trouvent une réponse, et des références sont données concernant d’autres sources d’informations relatives à la technologie et aux applications liées au CD-ROM.

1.1 Remerciements

La plupart des informations contenues ici proviennent de la documentation et des fichiers, fournis avec le code source du noyau Linux, de la FAQ du forum Usenet alt.cdrom et de remarques d’utilisateurs de Linux.

Grâce au logiciel SGML Tools ce document est maintenant disponible dans plusieurs formats, tous générés à partir d’un même source.

1.2 Nouvelles versions de ce document

De nouvelles versions de ce document seront diffusées périodiquement dans le forum comp.os.linux.answers. Elles seront également mises à jour sur les divers sites ftp anonymes qui archivent de telles informa-

tions, notamment <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/>. Des versions hypertextuelles de

ce HOWTO ainsi que d’autres sont disponibles sur de nombreux sites de la toile (World Wide Web), y compris <http://metalab.unc.edu/LDP/HOWTO/>. La plupart des distributions Linux sur CD-ROM comprend les HOWTOs, souvent sous le répertoire /usr/doc, et vous pouvez aussi en acheter des exemplaires imprimés chez de nombreux vendeurs. Quelques fois, les HOWTOs disponibles par l’intermédiaire des vendeurs de CD-ROM, des sites ftp ou sous forme imprimée sont périmés. Si ce HOWTO date de plus de six mois, alors une nouvelle copie est probablement disponible sur l’Internet.

Veuillez noter que, vue la nature dynamique de l’Internet, tous les liens vers les sites web et ftp mentionnés dans ce document sont susceptibles de changer.

Des traductions de ce document sont disponibles dans plusieurs langues :

Chinoise : <http://www.linux.org.tw/CLDP/CDROM-HOWTO.html>

Française : <http://www.freenix.org/unix/linux/HOWTO/> [NDT : le miroir primaire est disponible à

l’adresse <ftp://ftp.medasys-digital-systems.fr/pub/linux/doc/>]
Japonaise : <http://jf.linux.or.jp/JF/JF.html/>
Polonaise : <http://www.jtz.org.pl/Html/CDROM-HOWTO.pl.html>
Espagnole : <ftp://ftp.insflug.org/es>
Suédoise : <http://www.swe-doc.linux.nu/>

La majorité des traductions de ce HOWTO et des autres HOWTO consacrés à Linux peut aussi être trouvée à

l’adresse <http://metalab.unc.edu/pub/Linux/docs/HOWTO/translations/> et <ftp://metalab.unc.

edu/pub/Linux/docs/HOWTO/translations/>. [NDT : les versions françaises peuvent aussi être trouvées aux

adresses <http://www.freenix.org/unix/linux/HOWTO/> et <ftp://ftp.lip6.fr/pub/Linux/french/
HOWTO>].

Si vous faites une traduction de ce document dans une autre langue, faites le moi savoir pour que j’inclue une référence ici.

1.3 Suggestions

Je me repose sur vous, lecteur pour rendre ce HOWTO utile. Si vous avez des suggestions, des corrections, ou des commentaires, n’hésitez pas à me les envoyer tranter@pobox.com, et j’essaierai de les incorporer dans une prochaine révision. [NDT : Pour ce qui concerne la traduction, veuillez les faire parvenir au traducteur bruno@victoria.frmug.org]

Je souhaite aussi répondre aux questions générales sur les CD-ROM sous Linux, du mieux possible. Avant de les poser, lisez s’il vous plaît toutes les informations de ce HOWTO, et ensuite envoyez moi un rapport détaillé de votre problème. Veuillez ne pas me poser de questions sur les lecteurs de CD-ROM sur d’autres systèmes d’exploitation que Linux.

Si vous publiez ce document sur un CD-ROM ou sous forme papier, une copie de remerciement serait appréciée; envoyez moi un courrier électronique pour obtenir mon adresse postale. Considérez également l’opportunité de faire une donation au Projet Linux de Documentation pour encourager la documentation libre autour de Linux. Contactez le coordinateur des HOWTO Linux, Tim Bynum (linux-howto@metalab.unc.edu), pour plus d’informations.

1.4 Licence de Distribution

Copyright (c) 1995-1999 Jeff Tranter. Traduction Copyright (c) 1995-1999 Bruno Cornec. [NDT : ce qui suit s’applique à cette traduction également]

Ce document peut être diffusé dans les mêmes termes que ceux en vigueur dans la licence LDP consultable

à l’adresse <http://metalab.unc.edu/LDP/COPYRIGHT.html>.

2 La technologie du CD-ROM

"Un CD-ROM est de la mémoire morte, et un système de disque compact
audio-numérique est disponible en tant que média organisé de données numériques
pour cet usage. Pour lire des CDs audio-numériques, veuillez insérer une prise
de casque."
--- extrait d'un manuel d'utilisation d'un lecteur de CD-ROM

Ne paniquez pas ! Le monde de la technologie du CD-ROM n’est pas aussi confus que votre manuel d’utilisation.

CD-ROM signifie Compact Disc Read-Only Memory(Disque Compact servant de Mémoire accessible en lecture uniquement), un média de stockage, utilisant un laser optique pour lire des trous microscopiques sur la couche d’aluminium du disque en polycarbonate. Il utilise le même format que les disques compacts audionumériques. En raison de sa haute capacité de stockage, de sa fiabilité et de son faible coût, le CD-ROM est devenu un moyen de stockage de plus en plus répandu.

La capacité de stockage d’un disque CD-ROM est approximativement de 650 Mo, soit l’équivalent de plus de 500 disquettes 3"1/2 haute densité, ou encore d’environ 250.000 pages dactylographiées.

La première génération de lecteurs (connue sous le nom de simple vitesse), fournissait un taux de transfert d’environ 150 Ko par seconde. Les fabriquants de lecteurs ont ensuite produit des lecteurs double vitesse (300 Ko/s), quadruple vitesse (600 Ko/s), et plus rapides. Les lecteurs du moment fonctionnent à plus de 40 fois la vitesse (40x), bien que l’on atteigne le taux maximum de transfert seulement sur certaines portions de la surface du disque.

La plupart des lecteurs de CD-ROM utilisent soit une interface SCSI (Small Computer Systems Interface), soit une interface IDE ATAPI, soit une interface propriétaire. Ils permettent aussi généralement l’écoute de disques audio-numériques, par l’entremise d’une prise casque externe, ou d’une sortie Hi-Fi. Certains lecteurs de CDs permettent aussi la lecture de trames (frames) de données issues d’un disque audio-numérique, sous une forme numérique.

Les CD-ROM sont habituellement formatés avec un système de fichier ISO-9660 (précédemment appelé High Sierra). Ce format calque l’utilisation de noms de fichiers sur celle de MS-DOS (8+3 caractères). Les Extensions Rock Ridge utilisent des champs non-définis dans la norme ISO-9660, pour autoriser les noms de fichiers plus longs et l’ajout d’informations propres à Unix (par exemple, les droits associés au fichier, les liens symboliques, etc). Microsoft a défini un système de fichiers ISO propriétaire appelé Joliet, qui prend en charge les noms de fichiers longs en utilisant l’encodage de caractères 16 bits UNICODE.

Le CD Photo est un standard développé par Kodak, pour permettre le stockage d’images photographiques sous forme de données numériques sur un CD-ROM. Grâce à un logiciel approprié, il est possible de visualiser les images sur un ordinateur, de les manipuler, ou de les imprimer. Des informations peuvent être ajoutées sur un CD Photo à une date ultérieure; ceci est appelé une possibilité multi-session.

Les graveurs de CD (CD-R) permettent l’écriture sur un CD spécial "doré", qui peut être lu par n’importe quel lecteur de CD-ROM. Les données ne peuvent y être écrites qu’une fois, bien que l’utilisation du format multi-session, permette d’ajouter de nouvelles données au disque. Ces lecteurs deviennent de plus en plus abordables.

Les lecteurs de CD-RW (read/write ou lecture/écriture) autorisent de multiples écritures de données sur le CD. Ils utilisent des disques spéciaux qui ne peuvent pas être lus sur des lecteurs de CD-ROM standard, bien que les lecteurs de CD-RW eux-mêmes sachent lire des disques standard.

Le DVD-ROM étend la capacité de stockage du CD jusqu’à 17 gigaoctets. Ils sont couramment utilisés comme média de distribution pour les films longue durée encodés avec le format MPEG-2. L’encodage vidéo MPEG est habituellement utilisé conjointement avec des décodeurs matériels spécialisés.

3 Matériels pris en charge

Cette section présente les lecteurs de CD-ROM et les interfaces qui sont actuellement pris en charge par Linux. Les informations sont ici basées sur le dernier noyau Linux stable, qui en ce moment est la version 2.2.4.

Ces informations sont seulement valides pour Linux sur plate-forme Intel. L’essentiel s’applique à Linux sur d’autres architectures de processeurs, de la même manière.

3.1 Les lecteurs de CD-ROM ATAPI

L’ATAPI (ATA Packet Interface - Interface par paquets ATA) est un protocole pour le contrôle des périphériques de stockage. Il est construit sur l’interface ATA (Attachement AT), le nom officiel du standard ANSI pour l’interface IDE, développé pour les disques durs. L’ATAPI est communément utilisé pour les disques durs, les lecteurs de CD-ROM, les lecteurs de bandes, et d’autres périphériques. Étant actuellement le type d’interface le plus populaire, il offre la plupart des fonctions du SCSI, sans besoin d’un contrôleur ou de câbles chers.

Le noyau Linux dispose d’un pilote qui devrait fonctionner avec n’importe quel lecteur de CD-ROM conforme au standard ATAPI. La liste des fabriquants fournissant des lecteurs compatibles inclut Aztech, Mitsumi, NEC, Sony, Creative Labs, et Vertos. Si vous avez acheté récemment un lecteur de CD-ROM, en particulier s’il est quadruple vitesse au moins, vous êtes quasiment assurés qu’il est IDE/ATAPI.

Linux propose également un pilote du noyau d’émulation IDE SCSI, qui permet à un périphérique IDE/ATAPI d’apparaître, au niveau logiciel, comme un périphérique SCSI, ce qui autorise l’utilisation d’un pilote de périphérique SCSI au lieu du pilote natif ATAPI. Ceci est utile quand vous disposez d’un périphérique ATAPI pour lequel aucun pilote natif n’a été écrit (par exemple, un lecteur ATAPI PD-CD ou CDR); vous pouvez utiliser cette émulation conjointement avec le pilote de périphérique SCSI approprié.

3.2 Les lecteurs de CD-ROM SCSI

Le SCSI (Small Computer Systems Interface) est un format populaire en ce qui concerne les lecteurs de CD-ROM. Ses principaux avantages sont un taux de transfert relativement rapide, une capacité à reconnaître de multiples périphériques, et sa prise en compte par une grande variété d’ordinateurs. Quelques désavantages du SCSI sont le besoin d’une carte contrôleur et de câbles relativement chers.

Tout lecteur de CD-ROM SCSI avec une taille de blocs de 512 ou 2048 octets devrait fonctionner sous Linux; ceci inclut la grande majorité des lecteurs de CD-ROM du marché.

Vous aurez également besoin d’une carte contrôleur SCSI; Cf "Comment utiliser des périphériques SCSI ("SCSI HOWTO") pour plus d’information sur le matériel d’interface.

Il est à noter que certains lecteurs de CD-ROM comprennent un contrôleur propriétaire ayant une interface modifiée, non entièrement compatible avec le standard SCSI (par exemple, ne permettant pas d’ajouter d’autres périphériques SCSI sur le bus). Ceux-ci ne fonctionneront vraisemblablement pas avec Linux.

3.3 Les lecteurs de CD-ROM à interface propriétaire

De nombreux lecteurs utilisant des interfaces propriétaires sont disponibles; l’interface est souvent fournie par l’entremise d’une carte son. De simples cartes d’interface, équivalentes à l’interface proposée sur les cartes son, sont également disponibles. Ces lecteurs sont généralement moins chers et de taille inférieure aux lecteurs SCSI. Leur désavantage est le manque de standardisation et d’évolutivité.

Il est à noter que ces interfaces propriétaires sont parfois appelées abusivement IDE, parce que, à l’instar des disques durs IDE, elles utilisent une simple interface basée sur le bus PC/AT. Pour ajouter à la confusion, certains fabriquants, et de façon notable Creative Labs, ont fourni différents types de lecteurs de CD-ROM et ont proposé des interfaces propriétaires, SCSI et ATAPI sur leurs cartes son.

Les lecteurs de CD-ROM suivants, à interface propriétaire, sont reconnus au niveau du noyau Linux (les lecteurs présentés sur la même ligne sont compatibles entre eux):

Le tableau ci-dessous donne les lecteurs de CD-ROM propriétaires qui sont connus pour fonctionner sous Linux. Des pilotes pour des lecteurs additionnels peuvent être disponibles dans les derniers noyaux de développement ou en tant que rustine du noyau. Ces dernières peuvent le plus souvent être trouvées à l’adresse

<ftp://metalab.unc.edu/pub/Linux/kernel/patches/cdrom/>. Vérifiez aussi les fichiers de documen-

tation inclus avec la distribution du noyau, habituellement installés dans le répertoire /usr/src/linux/ Documentation/cdrom, pour obtenir les dernières informations.

                Lecteurs de CD-ROM propriétaires

Fabriquant              Type            Pilote du noyau         Notes
----------              ----            ---------------         -----
Panasonic               CR-521          sbpcd                   Note 1
Panasonic               CR-522          sbpcd                   Note 1
Panasonic               CR-523          sbpcd                   Note 1
Panasonic               CR-562          sbpcd                   Note 1
Panasonic               CR-563          sbpcd                   Note 1
Creative Labs           CD-200          sbpcd
IBM                     External ISA    sbpcd                   Note 2
Longshine               LCS-7260        sbpcd
Teac                    CD-55A          sbpcd
Sony                    CDU-31A         cdu31a
Sony                    CDU-33A         cdu31a
Sony                    CDU-535         sonycd535               Note 3
Sony                    CDU-531         sonycd535
Aztech                  CDA268-01A      aztcd                   Note 4
Orchid                  CDS-3110        aztcd
Okano/Wearnes           CDD110          aztcd
Conrad                  TXC             aztcd
CyCDROM                 CR520ie         aztcd
CyCDROM                 CR940ie         aztcd
GoldStar                R420            gscd                    Note 5
Philips/LMS             CM206           cm206                   Note 6
Mitsumi                 CRMC LU005S     mcd/mcdx                Note 7, 8
Mitsumi                 FX001           mcd/mcdx                Note 7, 8
Optics Storage          Dolphin 8000AT  optcd
Lasermate               CR328A          optcd
Sanyo                   H94A            sjcd
various                 various         isp16                   Note 9

Notes:

1. Vous pouvez trouver ces lecteurs sous les noms Creative Labs, Panasonic, Matsushita, ou Kotobuki.

2. Ce lecteur est le même que le Panasonic CR-562.

3. Peut aussi être vendu sous le nom Procomm.

4. Ce pilote est pour le lecteur CDA268-01A seulement. Les autres modèles, y compris le CDA268-03I et le CDA269-031SE ne sont pas propriétaires et doivent utiliser le pilote du noyau IDECD (ATAPI).

5. Peut aussi être vendu dans le kit multimédia Reveal.

6. Le lecteur Philips CM205 n’est pas pris en charge par ce pilote, mais il existe un pilote séparé en version alpha disponible sur le serveur ftp://metalab.unc.edu sous /pub/Linux/kernel/patches/cdrom/lmscd0.4.tar.gz

7. Peut aussi être vendu sous le nom Radio Shack.

8. Il y a deux pilotes disponibles. "mcd" est le pilote originel, et "mcdx" est le nouveau pilote avec plus de fonctions (mais éventuellement moins stable).

9. Ce pilote fonctionne avec les lecteurs de CD-ROM qui sont reliés à l’interface disponible sur les cartes son ISP16, MAD16 ou Mozart.

Si un lecteur mentionné ici n’est pas pris en charge par votre noyau, vous avez probablement besoin de le mettre à niveau avec une nouvelle version.

Si votre lecteur n’est pas de l’un des modèles mentionnés ici, en particulier s’il a été acheté récemment et s’il est quadruple vitesse ou plus rapide, il utilise probablement l’interface IDE/ATAPI mentionnée dans une section précédente. L’erreur la plus courante parmi les utilisateurs de CD-ROM sous Linux est de penser que tout lecteur raccordé à une carte SoundBlaster doit utiliser le pilote SBPCD. Creative Labs et la plupart des autres fabriquants ne vendent plus de lecteur disposant d’interface propriétaire, ils suivent le standard de l’interface ATAPI/IDE.

3.4 Lecteur sur port parallèle

Il existe des périphériques de stockage externes, y compris des lecteurs de CD-ROM, qui se connectent sur le port parallèle des ordinateurs personnels. Dans la plupart des cas, ces périphériques utilisent en interne une interface IDE ainsi qu’un adaptateur qui interconnecte le bus IDE interne au port parallèle du PC.

Linux dispose d’un pilote IDE pour port parallèle qui prend en charge la majorité des périphériques sur port parallèle. Au moment où j’écris, il prend en charge les périphériques des vendeurs suivants (ainsi que la plupart des clones et autres lecteurs sans nom compatibles avec ceux-ci): ATEN, Avatar, DataStor, Fidelity International Technology, Freecom, Hewlett-Packard, Imation, KT Technology, KingByte Information Corp., Maxell, MicroSolutions, OnSpec, Shuttle Technology, SyQuest, et ValuStore.

Des informations additionnelles peuvent être trouvées à l’adresse <http://www.torque.net/linux-pp.

html>.

3.5 Pilotes alternatifs

Il existe un pilote du noyau alternatif pour les lecteurs Panasonic/Matsushita CR-56x écrit par Zoltan

Vorosbaranyi. Il peut être trouvé à l’adresse <ftp://ftp.honlap.net/pub/linux/pcd/pcd-0.30.tar.gz>.

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) <http://metalab.unc.edu/LDP/HOWTO/ Installation-HOWTO.html> 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 :

– prendre en charge un lecteur de CD-ROM ou un autre matériel

– évoluer vers une nouvelle version du noyau

– libérer des ressources mémoire en minimisant la taille du noyau

Le Guide du noyau Linux (Linux Kernel HOWTO) <http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.

html> 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) <http://metalab.unc.edu/LDP/HOWTO/Sound-HOWTO.

html> 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) <http://

metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html>.

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) <http:

//metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html> 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.

4.3.1 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.

4.3.2 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.

4.3.3 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>.

4.3.4 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.

4.3.5 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’in-

formations sur ce pilote.

4.3.6 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.

4.3.7 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.

4.3.8 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.

4.3.9 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.

4.3.10 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.

4.3.11 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’autodé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.

4.3.12 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.

4.3.13 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

où 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 audionumé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.

4.6.1 É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?

4.6.2 É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.

4.6.3 É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.

4.6.4 É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.

4.6.5 É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é.

4.6.6 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).

4.6.7 Si rien ne marche

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

– Relisez attentivement ce HOWTO

– Lisez les références mentionnées à la fin de ce document, en particulier les fichiers sources relatifs du noyau

– Posez une question dans l’un des forums comp.os.linux ou un autre forum Usenet (NDT: fr.comp.os.linux.* pour la communauté francophone)

– Envoyez une question sur une liste de diffusion Linux

– Essayez d’utiliser le dernier noyau Linux

– Contactez le revendeur de votre ordinateur

– Contactez le fabricant de votre lecteur de CD-ROM

– Envoyez un courrier électronique au mainteneur du pilote du noyau concerné (consultez le fichier

     /usr/src/linux/MAINTAINERS)

– Envoyez moi un courrier électronique

– Lancez Emacs et tapez Esc-x doctor :-)

5 Les applications

Cette section présente brièvement quelques unes des nombreuses applications concernant les CD-ROMs et disponibles sous Linux. Vérifiez la liste des logiciels sous Linux (Linux Software Map) quant aux dernières versions et aux sites où elles sont archivées.

5.1 Platines de lecture de CDs audio-numériques

De nombreux programmes de lecture de CDs audio-numériques sont disponibles, soit au moyen d’un casque relié au lecteur, soit par l’entremise de la carte son à laquelle le lecteur est relié.

Workman Une platine graphique, s’exécutant en environnement X11 avec une base de données des CDs et de nombreuses autres fonctions.

WorkBone

Une platine interactive s’exécutant en mode texte. xcdplayer

Une platine simple s’exécutant en environnement X11. cdplayer

Une platine très simple pilotée par la ligne de commandes. Xmcd

Une platine s’exécutant en environnement X11/Motif. xmitsumi

Une autre platine s’exécutant en environnement X11 pour les lecteurs Mitsumi. xplaycd

Une autre platine s’exécutant en mode X11, livrée avec une platine de mixage son et des programmes VU-mètre.

cdtool Des outils en mode ligne de commande pour écouter des CDs audio-numériques.

Certains de ces programmes sont codés pour utiliser un fichier de périphérique précis pour accéder au CD-ROM (par exemple, /dev/cdrom). Il est dans ce cas soit possible de passer le nom correct de ce fichier en paramètre, soit de créer un lien symbolique dans le répertoire /dev. Si vous envoyez la sortie CD vers une carte son, vous pourrez avoir besoin d’un programme de mixage pour ajuster le volume ou sélectionner l’entrée du CD-ROM pour enregistrer.

5.2 Le CD-Photo

Les CDs Photo utilisent un système de fichiers ISO-9660 contenant les fichiers images dans un format propriétaire. Certains lecteurs de CD-ROMs ne savent pas lire les CDs Photo.

Le programme hpcdtoppm écrit par Hadmut Danisch convertit des fichiers de CDs Photo en un format pixmap portable. Il peut être obtenu à l’adresse <ftp://ftp.gwdg.de/pub/linux/hpcdtoppm> ou en tant que partie des utilitaires PBM (portable bit map), disponibles sur de nombreux sites d’archives (cherchez "pbm" ou "netpbm").

Le programme photocd écrit par Gerd Knorr (kraxel@cs.tu-berlin.de) peut convertir des images de CDs Photo en des fichiers Targa ou bitmaps Windows ou OS/2.

Le même auteur a écrit le programme xpcd, en environnement X11, pour manipuler les images de CDs Photo. Vous pouvez sélectionner des images à la souris, visualiser l’image dans une petite fenêtre, et charger l’image à n’importe laquelle de ses 5 résolutions possibles. Vous pouvez aussi isoler une partie de l’image et ne charger

que celle-ci. Cherchez ces paquetages à l’adresse <ftp://ftp.cs.tu-berlin.de/pub/linux/Local/misc/>.

Le programme de manipulation d’images ImageMagick prend aussi en charge les CDs Photo. Il est disponible

à l’adresse <ftp://ftp.x.org/contrib/applications/ImageMagick/>.

5.3 Mkisofs

Le paquetage mkisofs d’Eric Youngdale permet de créer un système de fichiers ISO-9660 sur une partition du disque dur. Celui-ci peut ensuite être utilisé pour aider à la création et au test de systèmes de fichiers de CD-ROM avant le pressage des disques.

Les outils pour graver réellement les données sur des lecteurs de CDs réinscriptibles tendent à être propres à chaque fournisseur. Ils requièrent également une écriture des données sans interruption, ce qui fait qu’un système d’exploitation multi-tâches comme Linux n’y est pas particulièrement adapté.

5.4 Outils ISO-9660

Il existe quelques outils pour vérifier le format des disques ISO-9660; vous pourrez les trouver utiles pour tester des CDs suspects. Le paquetage peut être trouvé à l’adresse <ftp://ftp.cdrom.com/pub/unixfreeware/ archive/>. Ils ont été écrits par Bill Siegmund et Rich Morin.

6 Réponses aux questions fréquemment posées (FAQ)

6.1 Comment un utilisateur n’étant pas superutilisateur peut-il monter/démonter des disques?

La plupart des commandes mount comprennent une option user. Si vous ajoutez une entrée de cette nature

au fichier /etc/fstab:
     /dev/sbpcd  /mnt/cdrom   iso9660     user,noauto,ro

alors, un utilisateur ordinaire pourra monter et démonter le disque en utilisant ces commandes :

     % mount /mnt/cdrom
     % umount /mnt/cdrom

Par défaut, le disque sera monté avec certaines options qui assurent la sécurité (par exemple, des programmes ne pourront être exécutés, des fichiers de périphériques seront ignorés). Si cela est trop restrictif, vous pouvez utiliser des options additionnelles (par exemple, l’option "exec" autorisera l’exécution de programmes). Consultez la page de manuel de mount(8) pour les détails.

Une autre méthode consiste à obtenir le paquetage usermount qui permet à des utilisateurs n’étant pas superutilisateur de monter et démonter des périphériques amovibles tels que disquettes et CD-ROMs, mais restreint l’accès aux autres périphériques (tels que les partitions du disque dur). Il est disponible sur les principaux sites d’archives.

Enfin, vous pouvez écrire un petit programme C qui monte et démonte le CD-ROM et l’installer en tant qu’exécutable setuid.

Le site d’archives ftp.cdrom.com dispose du fichier source mount.c qui permet le montage d’un CD-ROM non monté (uniquement) par des utilisateurs ordinaires. Il s’exécute en tant que programme setuid.

6.2 Pourquoi ai-je device is busy quand je démonte un CD-ROM?

Le disque ne peut être démonté s’il y a encore un processus accédant au lecteur, ceci comprend les processus ayant leur répertoire par défaut positionné sur le système de fichiers monté. Si vous ne pouvez pas identifier le processus utilisant le disque, utilisez la commande fuser, comme dans l’exemple ci-après.

     % umount /cdrom
     umount: /dev/hdd: device is busy
     % fuser -v /cdrom
                          USER       PID ACCESS COMMAND
     /mnt/cdrom           tranter    133 ..c..  bash

Sur certains systèmes, vous pouvez avoir besoin d’être superutilisateur pour exécuter la commande fuser de manière à voir les processus d’autres utilisateurs.

6.3 Comment exporter un CD-ROM vers d’autres machines via NFS?

Vous avez besoin d’ajouter une ligne au fichier /etc/exports. Les utilisateurs sur les autres machines pourront alors monter le périphérique. Consultez la page de manuel de exports(5), pour plus de détails.

6.4 Puis-je amorcer Linux à partir d’un CD-ROM?

Quand on installe initialement Linux, la méthode la plus ordinaire est d’utiliser une disquette d’amorçage. Certaines distributions Linux autorisent l’amorçage du noyau Linux sur CD directement depuis le DOS.

Avec les bons CD-ROM, ROM BIOS, et lecteur de CD-ROM ATAPI, il est possible d’amorcer Linux directement depuis un CD. La dernière version de mkisofs prend également en charge la création de tels disques qui utilisent le standard El Torito pour les CDs amorçables.

6.5 Comment peut-on lire les données des CDs audio-numériques?

Heiko Eissfeldt (heiko@colossus.escape.de) et Olaf Kindel ont écrit un utilitaire qui lit les données audionumériques et les enregistre en fichiers son au format .wav. Le paquetage est intitulé cdda2wav.tar.gz et peut être trouvé sur metalab.unc.edu.

Un autre utilitaire pour extraire les données audio-numériques est cdparanoia disponible à l’adresse <http:

//www.mit.edu/afs/sipb/user/xiphmont/cdparanoia>.

Étant donné que les lecteurs de CD-ROM changent très vite, il est difficile de donner une liste des modèles prenant en charge la lecture de données audio-numériques. Le mieux est d’obtenir le dernier paquetage cdda2wav ou cdparanoia et de lire la documentation.

Pour plus d’informations sur le sujet, consultez le site Web http://www.tardis.ed.ac.uk/˜ psyche/cdda/ et la FAQ du forum alt.cd-rom mentionnée dans la section des références.

6.6 Pourquoi la commande find ne fonctionne-t-elle pas normalement?

Sur des disques au format ISO-9660, sans les extensions Rock Ridge, vous devez ajouter l’option -noleaf à la commande find. Consultez la page de manuel de find(1) pour plus de détails.

(selon mon expérience, virtuellement tous les CDs Linux récents utilisent les extensions Rock Ridge, donc ce problème ne devrait se produire que très rarement.)

6.7 Est-ce que Linux prend en charge les graveurs de CD?

Le paquetage X-CD-Roast pour Linux est un frontal graphique pour l’utilisation de graveurs de CD. Ce paquetage peut être trouvé sur metalab.unc.edu sous /pub/Linux/utils/disk-management/xcdroast-0.95.tar.gz

Consultez également le HOWTO sur le gravage de CD, disponible à l’adresse <ftp://metalab.unc.

edu/pub/Linux/docs/HOWTO/CD-Writing.html> ou <http://metalab.unc.edu/LDP/HOWTO/CD-Writing.
html>.

6.8 Pourquoi est-ce que j’obtiens mount: Read-only file system lorsque je monte un CD-ROM?

Le CD-ROM est un media en lecture seule. Avec certains noyaux précédents, il était possible de monter des CD-ROMs en lecture/écriture; les tentatives pour écrire des données sur le CD était simplement ignorées. À partir de la version 1.1.33 du noyau, ceci a été corrigé de telle manière que les CD-ROMs doivent être montés en lecture seule (par ex. en utilisant l’option -r de la commande mount).

6.9 Pourquoi le tiroir du lecteur s’ouvre-t-il quand j’arrête le système?

Le pilote sbpcd prend en charge automatiquement l’éjection du CD quand il est démonté. Dans d’anciennes versions du noyau, c’était le comportement par défaut. Si vous arrêtez votre système, un CD monté sera démonté, entraînant son éjection.

Cette fonction est une commodité lors du changement de disques. Si le tiroir est ouvert quand vous montez ou lisez un CD, il se fermera aussi automatiquement.

J’ai constaté que cela ne causait des problèmes qu’avec peu de programmes (par ex. cdplay et workbone). A partir de la version 1.1.60 du noyau, vous pouvez contrôler cette fonction par logiciel. Un programme d’exemple est compris dans le fichier de documentation du pilote sbpcd (ou utilisez le programme eject). Vous pouvez aussi contrôler le comportement par défaut, en éditant le fichier source du noyau sbpcd.h.

6.10 J’ai un CD "spécial" qui ne peut être monté

Le CD "spécial" a toutes les chances d’être un disque XA (comme tous les CDs Photo ou les pseudos créés en utilisant des graveurs de CD-R). La plupart des pilotes CD-ROM de noyau Linux ne prend pas en charge les disques XA, bien que vous puissiez trouver une rustine qui ajoute cette fonction sur l’un des sites d’archives.

Le pilote sbpcd prend en charge les disques XA. Si vous utilisez ce pilote, vous pouvez déterminer si le disque est au format XA en utilisant la procédure suivante : allez dans le fichier sbpcd.c et activez l’affichage de la table des matières [TDM] ("Table of Contents" DBG_TOC). Construisez et installez un nouveau noyau et amorcez le. A chaque montage, les informations de la TDM seront écrites (soit sur la console, soit dans un fichier de traces). Si la première valeur affichée dans l’en-tête de la TDM est "20", alors c’est un disque au format XA. Cet octet est "00" pour des disques normaux. Si l’affichage de la TDM montre différentes plages, c’est aussi un signe qu’il s’agit d’un disque au format XA.

(Remerciements à Eberhard Moenkeberg pour les informations précédentes)

D’autres possibilités pour des CDs illisibles sont :

1. Le disque n’utilise pas un système de fichiers ISO-9660 (par ex. certains utilisent SunOS ou HFS)

2. C’est un CD audio-numérique

3. Le CD est endommagé ou défectueux

4. Vous avez mis le disque à l’envers :-)

6.11 Est-ce que des lecteurs multi-CDs fonctionnent avec Linux?

Plusieurs utilisateurs ont mentionné leur réussite avec des lecteurs multi-CDs SCSI. Vous aurez sans doute besoin d’activer l’option de configuration du noyau "Test de toutes les LUNs sur chaque périphérique SCSI ou "Probe all LUNs on each SCSI device" (Ce n’est pas utile si votre lecteur multi-CDs est déjà reconnu par le pilote SCSI. Consultez le fichier /usr/src/linux/drivers/scsi.c).

Au moins un utilisateur a dû aussi augmenter une temporisation SCSI dans le pilote du noyau. Un symptôme de ce cas est un message d’erreur du type "wrong fs type, bad option, bad superblock on /dev/sr5, or too many mounted file systems" (soit "mauvais type de système de fichiers, mauvaise option, mauvais superbloc sur /dev/sr5, ou trop de systèmes de fichiers montés") lors de la tentative de montage d’un CD pour la première fois, alors qu’un second essai immédiatement après réussit. Pour augmenter la temporisation, augmenter la valeur de IOCTL_TIMEOUT au début du fichier /usr/src/linux/drivers/scsi/sr\_ioctl.c et recompilez votre noyau. Une valeur de 10000 au lieu de la valeur par défaut de 3000 a fonctionné avec un lecteur NEC Multispin 4Xc.

Il peut être nécessaire de créer des fichiers spéciaux supplémentaires de type block, de façon à ce que toutes les LUNs puissent être accédées. Un fichier de périphérique est nécessaire pour chaque LUN. Ainsi, pour un lecteur multi-CDs à 7 disques, vous aurez besoin des fichiers /dev/sr0 à /dev/sr6 (et plus si vous avez d’autres lecteurs de CD-ROM SCSI). Pour créer ces fichiers spéciaux de type block, exécutez en tant que superutilisateur la commande mknod /dev/sr? b 11?, où? est le chiffre requis.

Les lecteurs multi-CDs Nakamichi MBR-7 (7 disques), NEC Multispin 4Xc et Pioneer (12 disques) ont été mentionnés comme opérationnels.

Des lecteurs multi-CDs EIDE/ATAPI sont également disponibles. Le noyau prend en charge certains lecteurs utilisant la fonction ioctl CDROM_SELECT_DISC. Le fichier de documentation du pilote IDE-CD du noyau comprend le code source d’un programme permettant de sélectionner l’emplacement disque, ou vous pouvez utiliser des outils différents comme le programme eject, décrit précédemment.

6.12 J’obtiens des erreurs "/cdrom: Permission denied" ou "/cdrom: permission non accordée"

Certains CDs ont des permissions du répertoire racine telles qu’elles ne permettent qu’au superutilisateur de les lire. Il s’agit d’une erreur de la part du fabriquant du CD-ROM et constitue un réel souci. Certaines personnes ont fourni une rustine pour leur noyau de façon à contourner le problème.

Consultez aussi la question relative aux fichiers cachés plus loin dans ce document.

6.13 Comment dois-je interpréter les messages d’erreur noyau du pilote IDE CD?

Qu’est ce que cela signifie lorsque j’obtiens un message du pilote IDE CD-ROM tel que : "hdxx: code: xx key: x asc: xx ascq: x"?

C’est un message de statut/d’erreur du lecteur de CD-ROM IDE. Par défaut, le pilote IDECD donne une information brute, plutôt que de gâcher de l’espace du noyau avec des messages d’erreur. Vous pouvez changer ce défaut et afficher les messages d’erreur réels en allant dans le fichier /usr/src/linux/drivers/block/ ide-cd.c, et en mettant la valeur de VERBOSE_IDE_CD_ERRORS à 1, puis en recompilant le noyau.

6.14 Comment puis-je savoir la vitesse de mon lecteur de CD-ROM?

Il y a un moyen. Cette commande mesure combien de temps est nécessaire à la lecture de 1500Ko de données du CD:

     % time -p dd if=/dev/cdrom of=/dev/null bs=1k count=1500
     1500+0 records in
     1500+0 records out
     real 5.24
     user 0.03
     sys 5.07

Le taux de transfert d’un lecteur simple vitesse est de 150Ko par seconde, ce qui devrait prendre environ 10 secondes. Au double de la vitesse, cela prendra 5 secondes, au quadruple, 2,5, etc...

Le temps "real" ci-dessus est probablement le meilleur chiffre à regarder – dans ce cas, il indique un lecteur double vitesse. Vous pouvez augmenter la quantité de données à transférer pour obtenir des valeurs plus précises (au cas où vous vous le demanderiez, les données ne sont pas mises en cache). Vous devriez probablement exécuter cette commande quelques fois et prendre la moyenne.

J’ai également écrit un petit programme C qui mesure et affiche le taux de transfert du CD-ROM; je peux l’envoyer à qui le demande.

6.15 Mon lecteur de CD-ROM s’est arrêté de fonctionner après l’installation de Linux

Le symptôme usuel est que la disquette d’amorçage utilisée pour installer initialement Linux reconnaissait votre lecteur de CD-ROM, mais après l’installation de Linux sur votre disque dur ou votre disquette, il ne le reconnaît plus.

La cause la plus fréquente de ce problème est qu’avec certaines distributions Linux, le noyau qui est installé sur votre disque dur (ou votre disquette) n’est pas nécessairement le même que celui qui était sur votre disquette d’amorçage. Vous avez choisi une disquette d’amorçage qui correspondait à votre matériel et votre CD-ROM, alors que le noyau qui est installé est un noyau "générique" qui ne prend pas en charge le lecteur de CD-ROM. Vous pouvez vérifier cela en suivant la rubrique "Dépannage" exposée précédemment dans ce document (par ex. en commençant par vérifier /proc/devices).

La solution est de recompiler votre noyau, en vous assurant que les pilotes pour votre lecteur de CD-ROM et tout autre nécessaire (par ex. le contrôleur SCSI, le système de fichiers ISO-9660) soient inclus. Consultez le

Kernel HOWTO <http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html> si vous ne savez pas comme

réaliser cela.

Si vous avez passé des options en ligne de commande à la disquette d’amorçage (par ex. "hdc=cdrom") vous devez ajouter celles-ci au fichier de configuration de votre programme d’amorçage (typiquement /etc/lilo.conf).

6.16 Il y a des fichiers cachés sur un CD que je ne peux lire

Certains CDs ont des fichiers avec le bit "caché" positionné. Normalement, ces fichiers ne sont pas visibles. Si vous montez le CD avec l’option "unhide" (décacher), alors les fichiers devraient être accessibles (cela ne semble pas être documenté quelque part).

6.17 Où est documentée l’API du CD-ROM?

Si vous voulez écrire votre propre application, telle qu’une application de platine de lecture de CD audionumérique, vous aurez besoin de comprendre l’interface de programmation des applications (API) fournie par Linux.

A l’origine, les pilotes CD-ROM du noyau utilisaient leur propres fonctions ioctl() pour fournir les services spécifiques à chaque lecteur. Des fichiers d’en-tête, tel que /usr/include/linux/sbpcd.h les décrivent. Étant donné que de nombreux pilotes étaient basés sur d’autres pilotes, les interfaces, bien que non identiques, partageaient beaucoup de choses communes.

Plus récemment, il y a eu une initiative dirigée par David van Leeuwen (david@tm.tno.nl) pour standardiser l’API des lecteurs de CD-ROM, en regroupant le code commun en une seule place et en assurant que tous les pilotes se comportent de façon identique. Ceci est documenté dans le fichier /usr/src/linux/ Documentation/cdrom/cdrom-standard.tex. De nombreux pilotes du noyau se comportent ainsi. A partir de la version 2.0 du noyau, tous les pilotes de CD-ROM se conforment à cette API.

Mon livre, Son et images sous Linux, entre plus en détail dans la programmation des lecteurs de CD-ROM, en particulier pour les fonctions audio-numériques. Consultez la fin de la section Références.

6.18 Pourquoi ne vois-je pas les noms de fichiers longs sur ce CD-ROM Windows?

Si vous avez un CD-ROM qui dispose de noms de fichiers longs sous Windows mais pas sous Linux, c’est qu’il utilise probablement le format propriétaire Microsoft de système de fichiers Joliet. Consultez la prochaine question pour obtenir une solution.

6.19 Le système de fichiers Joliet de Microsoft est-il pris en charge?

Microsoft a créé une extension au format ISO-9660 intitulée Joliet. Elle permet l’encodage des noms de fichiers longs en utilisant le format UNICODE 16 bits.

A partir de la version 2.0.34, le noyau Linux prend en charge les extensions pour le système de fichiers Microsoft Joliet. Vous devrez activer cette prise en charge dans le noyau.

Si vous voulez afficher correctement à l’écran les noms de fichiers avec des jeux de caractères nationaux, vous devrez activer la prise en charge des jeux de caractères ISO8859 appropriés dans le noyau.

6.20 Linux prend-il en charge les CDs "extra"?

Certains CDs audio-numériques sont "étendus" (extra) avec des données additionnelles. Typiquement, vous trouverez sur ces CDs les plages audio traditionnelles sur un CD, ainsi qu’une plage de données qui peut être montée comme système de fichiers ISO-9660.

Un CD "extra" que j’ai examiné avait des applications Microsoft Windows et Apple Macintosh dessus (qui ne fonctionneront pas directement sous Linux, bien sûr, bien que j’aie connu un succès partiel en exécutant l’application Windows sous l’émulateur Windows WINE). Il y avait des images GIF qui pouvaient être visualisées à l’aide d’un outil standard tel que xv et des animations au format Apple QuickTime qui pouvaient l’être en utilisant le programme xanim. C’était un disque multisession que certains lecteurs de CD-ROM anciens ne peuvent lire. Sur le disque se trouvait un fichier readme.txt contenant une Foire Aux Questions sur les CD Extra.

6.21 Linux prend-il en charge les DVD-ROM?

Les lecteurs de DVD-ROM conformes aux standards SCSI et ATAPI devraient fonctionner avec Linux, en ce qui concerne la lecture de disques utilisant un format de système de fichiers ISO-9660. En d’autres termes, ils fonctionneront comme un (éventuellement énorme) lecteur de CD-ROM.

De nombreux disques DVD-ROM utilisent le système de fichiers UDF. Au moment de l’écriture de ce document, ceci est encore en développement. Des rustines pour le noyau sont disponibles à l’adresse <http:

//trylinux.com/projects/udf/>.

D’autre part, je ne suis pas au fait d’une prise en charge quelconque des DVD vidéo à encodage MPEG-2, ni par logiciel, ni en conjonction avec un décodeur DVD matériel. Apparemment, le standard décrivant le format d’encodage ne peut être obtenu que contre une forte somme et sous accord de non-divulgation (NDA). Un autre problème est que le décodage MPEG utilise généralement du matériel propriétaire pour lequel le fabriquant pourrait ne pas vouloir fournir d’informations sur sa programmation. Ces facteurs pourraient empêcher le développement de tout logiciel libre de lecture des DVD vidéo pour Linux.

6.22 Linux prend-il en charge les CD-RW?

Les lecteurs de CD-RW conformes aux standards SCSI et ATAPI devraient fonctionner avec Linux, en ce qui concerne les disques utilisant un format de système de fichiers ISO-9660. Ceci comprend la possibilité d’écrire sur le disque.

De nombreux disques CD-RW utilisent le système de fichiers UDF. Au moment de l’écriture de ce document, ceci est encore en développement. Des rustines pour le noyau sont disponibles à l’adresse <http://trylinux.

com/projects/udf/>.

7 Références

J’ai déjà mentionné les fichiers de documentation, installés typiquement sous le répertoire /usr/src/linux/ Documentation/cdrom. Ils peuvent se révéler une mine d’or d’informations utiles.

Les FAQ (Foires aux questions) suivantes sont diffusées périodiquement sur Usenet dans le forum news.answers et archivées sur les sites FTP tels que <ftp://rtfm.mit.edu/>:

– FAQ du forum alt.cd-rom

– FAQ du forum comp.periphs.scsi

– Enhanced IDE/Fast-ATA/ATA-2 FAQ

De nombreux autres HOWTOs Linux contiennent des informations utiles concernant les CD-ROM :

   – SCSI HOWTO <http://metalab.unc.edu/LDP/HOWTO/unmaintained/SCSI-HOWTO.html> (NDT: ou
     en français Le SCSI HOWTO Linux <http://www.freenix.org/unix/linux/HOWTO/SCSI-HOWTO.
     html>)
   – Hardware Compatibility HOWTO <http://metalab.unc.edu/LDP/HOWTO/Hardware-HOWTO.html> (NDT:

ou en français HOWTO Compatibilité Linux <-> Matériel <http://www.freenix.org/unix/linux/

     HOWTO/Hardware-HOWTO.html>)
   – Sound HOWTO <http://metalab.unc.edu/LDP/HOWTO/Sound-HOWTO.html> (NDT: ou en français
     Le Linux Sound-HOWTO <http://www.freenix.org/unix/linux/HOWTO/Sound-HOWTO.html>)
   – Kernel HOWTO <http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html> (NDT: ou en fran-
     çais Le HOWTO du noyau de Linux <http://www.freenix.org/unix/linux/HOWTO/Kernel-HOWTO.
     html>)

   – Distribution HOWTO <http://metalab.unc.edu/LDP/HOWTO/Distribution-HOWTO.html> (NDT: ou

en français Le Howto sur les distributions de Linux <http://www.freenix.org/unix/linux/HOWTO/

     Distribution-HOWTO.html>)
   – CD Writing HOWTO <http://metalab.unc.edu/LDP/HOWTO/CD-Writing.html> (NDT: ou en fran-
     çais HOWTO Graveur de CDs <http://www.freenix.org/unix/linux/HOWTO/CD-Writing-HOWTO.
     html>)

Au moins une douzaine de sociétés vendent des distributions Linux sur CD-ROM; la plupart d’entre elles sont mentionnées dans le Distribution HOWTO.

Les forums Usenet suivants couvrent des sujets relatifs aux CD-ROM :

– comp.publish.cdrom.hardware

– comp.publish.cdrom.multimedia

– comp.publish.cdrom.software

– comp.sys.ibm.pc.hardware.cd-rom

– alt.cd-rom

– alt.cd-rom.reviews

Les forums comp.os.linux sont aussi de bonnes sources d’informations spécifiques à Linux, (NDT: ainsi que les forums francophones fr.comp.os.linux.*).

Il existe une archive importante d’informations et de logiciels sur le CD-ROM à l’adresse <ftp://ftp.

cdrom.com/pub/cdrom/>.

Une FAQ sur les périphériques IDE et ATA peut être trouvée aux adresses <ftp://rtfm.mit.edu/pub/

usenet/news.answers/pc-hardware-faq/enhanced-IDE/> et <http://www.seagate.com/techsuppt/faq/
faqlist.html>.

Western Digital, la société qui a introduit le protocole IDE, procure de l’information sur ce protocole sur

leur site FTP à l’adresse <ftp://fission.dt.wdc.com/pub/standards/atapi>.

Un site Web consacré au multimédia peut être visité à l’adresse <http://viswiz.gmd.de/MultimediaInfo/>. Creative Labs dispose d’un site Web à l’adresse <http://www.creaf.com/>.

La Linux Software Map (LSM Liste des Logiciels sous Linux) est une référence inévaluable pour trouver du logiciel sous Linux. La LSM peut être trouvée sur divers sites FTP anonymes, y compris <ftp:// metalab.unc.edu/pub/Linux/docs/LSM/> (précédemment sunsite). Il y a aussi de nombreux sites Web qui maintiennent des bases de données d’applications Linux. Un de ces sites est <http://www.freshmeat.net>.

La liste de diffusion Linux dispose d’un certain nombre de "canaux" consacrés à différents sujets. Pour trouver comment les rejoindre, envoyez un courrier électronique avec le mot "help" (à l’aide) en tant que corps de message à l’adresse majordomo@vger.rutgers.edu

Le projet de documentation de Linux a produit de nombreux livres sur Linux, incluant Le système Linux. Ils sont librement disponibles en FTP anonyme à partir des principaux sites d’archives Linux ou peuvent être achetés sous forme de livres imprimés.

Enfin, une publicité honteuse : si vous voulez en apprendre beaucoup plus sur le multimédia sous Linux (en particulier les applications et la programmation des CD-ROMs et des cartes son), jetez un oeil à mon livre Son et images sous Linux, ISBN 1-56592-219-0, publié par O’Reilly and Associates. La version originale en anglais, aussi bien que des traductions en français et en japonais sont maintenant imprimées. Pour tout détail appeler le 800-998-9938 pour l’Amérique du Nord ou vérifiez la page Web <http://www.ora.com/catalog/

multilinux/noframes.html> ou ma page personnelle <http://www.pobox.com/~tranter/> (NDT: ou
encore <http://www.editions-oreilly.fr/use/linuxmultim.html>).