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.
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.
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 informations, 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.
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 [email protected], et j'essaierai de les incorporer dans une prochaine révision. [NDT : Pour ce qui concerne la traduction, veuillez les faire parvenir au traducteur [email protected]]
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 ( [email protected]), pour plus d'informations.
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.
"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 audio-numé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.
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.
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é.
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.
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 documentation 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:
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.
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.
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.
L'installation d'un lecteur de CD-ROM sous Linux comporte les étapes suivantes :
Les sections suivantes vont couvrir chacune de ces étapes en détail.
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).
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 :
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.
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.
Auteur principal: Eberhard Moenkeberg ([email protected]) 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.
Auteur principal: Ken Pizzini ([email protected]) 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.
Auteur principal: Corey Minyard ([email protected]) 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 ( [email protected]) 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.
Auteur principal: Werner Zimmermann ([email protected]) 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.
Auteur principal: Oliver Raupach ([email protected]) 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.
Auteur principal: Martin ([email protected]) 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.
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.
Auteur principal: David A. van Leeuwen ([email protected].) 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.
Auteur principal: Leo Spiekman ([email protected]) 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.
Auteur principal: Vadim V. Model ([email protected]) 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.
Auteur principal: Grant R. Guenther ([email protected]) 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.
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.
Auteur principal: Scott Snyder ([email protected]) 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.
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.
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/.
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.
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 ?
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.
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.
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.
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é.
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 vous avez toujours des problèmes, voici quelques suggestions finales à essayer :
comp.os.linux
ou un autre forum Usenet (NDT: fr.comp.os.linux.*
pour la communauté francophone)Esc-x doctor
:-)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.
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é.
Une platine graphique, s'exécutant en environnement X11 avec une base de données des CDs et de nombreuses autres fonctions.
Une platine interactive s'exécutant en mode texte.
Une platine simple s'exécutant en environnement X11.
Une platine très simple pilotée par la ligne de commandes.
Une platine s'exécutant en environnement X11/Motif.
Une autre platine s'exécutant en environnement X11 pour les lecteurs Mitsumi.
Une autre platine s'exécutant en mode X11, livrée avec une platine de mixage son et des programmes VU-mètre.
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.
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 (
[email protected]) 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/.
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é.
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.
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.
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.
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.
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.
Heiko Eissfeldt (
[email protected]) et Olaf Kindel ont écrit un utilitaire qui lit les données audio-numé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.
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.)
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.
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).
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.
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 :
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.
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.
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.
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.
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 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).
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).
Si vous voulez écrire votre propre application, telle qu'une application de platine de lecture de CD audio-numé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 ( [email protected]) 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.
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.
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.
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.
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.
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/.
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/:
De nombreux autres HOWTOs Linux contiennent des informations utiles concernant les CD-ROM :
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 :
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 [email protected]
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).