Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > d74cd56fd5c222851f198ac5005d694d > files > 139

howto-text-fr-9.0-1mdk.noarch.rpm

  Mini HOWTO Graveur de CDs
  Winfried  Truemper,  winni@xpilot.org,  traduit  par Olivier
  Tharan, tharan@int-evry.fr
  Version 1.9.8, 11 juillet 1997

  Je (Winfried Truemper) rejette toute garantie concernant ce  document,
  incluant  toutes  les  garanties  implicites  de mise sur le marche et
  d'utilite pour un certain usage ; en aucun cas on ne pourra  me  tenir
  compte  de  dommages  speciaux, indirects ou consecutifs a, ni d'aucun
  dommage quelqu'il soit resultant de la perte d'utilisation, de donnees
  ou  de  profits,  que ce soit dans une action contractuelle, de negli-
  gence ou autre action, decoulant de ou en relation avec  l'utilisation
  de ce document. EEnn ggrrooss,, lliisseezz eett uuttiilliisseezz aa vvooss pprroopprreess rriissqquueess..

  11..  IInnttrroodduuccttiioonn

  Ma  premiere  experience  avec des graveurs de CDs a ete guidee par le
  "Linux CD Writer mini-HOWTO" de Matt  Cutts,  cutts@ms.uky.edu.  Merci
  Matt !

  Bien  que  mon  intention n'etait que de mettre ce document a jour, je
  l'ai reecrit a partir du debut apres avoir realise combien tout  avait
  change depuis 1994.

  11..11..  LLeeccttuurreess ssuuggggeerreeeess

  La  FAQ  sur  les  CD-R a  <http://www.cd-info.com/CDIC/Technology/CD-
  R/FAQ.html> est une FAQ generale  portant  sur  les  disques  compacts
  enregistrables (CD-R).

  Le  HOWTO  CD-ROM  Linux  explique  ce  qu'on  devrait  savoir sur les
  lecteurs de CD-ROMs sous Linux. En supplement, vous pourrez  jeter  un
  coup d'oeil sur le HOWTO SCSI Linux et le HOWTO noyau Linux.

  11..22..  TTeerrmmiinnoollooggiiee...... LLaasseerrss aauu mmaaxxiimmuumm...... FFeeuu !!

  _C_D_-_R_O_M  veut  dire  ``Disque  compact  a  memoire  en  lecture seule''
  (Compact Disc Read Only Memory), un support de stockage  utilisant  un
  laser  optique  pour  lire  des  trous  microscopiques  sur  un disque
  brillant  en  argent.  (La  brillance  argentee  vient  d'une   couche
  aluminisee  qui  est  le support.) Les trous representent les morceaux
  d'information (en quelque sorte) et sont si petits que  des  milliards
  d'entre  eux  tiennent  sur  le  disque.  Un CD est donc un support de
  stockage de masse.

  Le terme _C_D_-_R  est  une  forme  abregee  de  ``CD-ROM  enregistrable''
  (Recordable) et se rapporte au CD qui n'a pas ces trous microscopiques
  sur sa surface...  Il  est  donc  vide.   A  la  place  de  la  couche
  aluminisee  (argentee) il possede un film special (colore) dans lequel
  des trous microscopiques peuvent y etre brules. Ceci  est  realise  en
  donnant au laser, qui normalement ne fait que palper les trous, un peu
  plus de puissance pour qu'il brule les trous. Cette action ne peut  se
  faire  _q_u_'_u_n_e  _s_e_u_l_e  _f_o_i_s  sur un CD-R. Vous pouvez toutefois laisser
  certaines parties vides pour une ecriture ulterieure, creant ce  qu'on
  appelle un CD multi-sessions.

  Ce  Mini  HOWTO  parle de la tache d'ecrire un CD-R. Bienvenue a bord,
  Capitaine.

  11..33..  GGrraavveeuurrss ddee CCDD--RROOMM ssuuppppoorrtteess

  Les logiciels de gravage de CDs pour Linux supportent les graveurs  de
  CD  des  fabricants  suivants  : Philips, IMS, Kodak, Yamaha, Hewlett-
  Packard ou les compatibles. La liste detaillee des modeles qu'on a  vu
  fonctionner     correctement     (ou    pas)    est    disponible    a
  <http://www.shop.de/cgi-bin/winni/lsc.pl>. La liste sera incluse  dans
  les versions futures de ce mini-HOWTO.

  Si  votre  materiel  n'est pas supporte, vous pouvez toujours utiliser
  Linux pour creer une image du CD ulterieur,  mais  vous  devrez  alors
  utiliser  un  logiciel sous DOS pour ecrire l'image sur le CD-R. (Vous
  aurez envie de faire ceci parce que la plupart des  logiciels  DOS  ne
  peuvent  pas gerer les noms de fichiers longs disponibles avec Linux.)
  Dans ce cas, vous pouvez  passer  toutes  les  sections  relatives  au
  materiel (celles sur les peripheriques SCSI generiques et cdwrite).

  11..44..  ````PPoossssiibbiilliitteess'''' ssuuppppoorrtteeeess

  En  ce  moment les logiciels pour graver des CDs sous Linux supportent
  les caracteristiques suivantes :

                               cd-write-2.0            cdrecord-1.5
       -------------------------------------------------------------
       "Multisession"          en partie               oui

       "RockRidge"             oui (mkisofs)           oui (mkisofs)
       "El Torito"             oui (mkisofs)           oui (mkisofs)

  Veuillez consulter la documentation jointe a ces logiciels  pour  plus
  de  details  sur  ces possibilites speciales. La section ``'' liste la
  disponibilite des logiciels mentionnes.

  11..55..  LLiisstteess ddee ddiissttrriibbuuttiioonn

  Si vous voulez rejoindre l'equipe de developpement  (avec  l'intention
  de les _a_i_d_e_r activement), envoyez un courrier electronique a

       cdwrite-request@pixar.com

  et mettez la commande subscribe dans le corps du message.

  11..66..  DDiissppoonniibbiilliittee

  La  toute  derniere  version  de ce document est toujours disponible a
  partir de  <http://www.shop.de/~winni/linux/>. (NdT : en France, c'est
  a  <http://www.freenix.fr/linux/>, mais la version peut ne pas etre la
  derniere en date.)

  22..  PPrreeppaarreezz vvoottrree mmaacchhiinnee LLiinnuuxx ppoouurr ggrraavveerr ddeess CCDD--RROOMMss

  22..11..  CCoonnffiigguurreezz llee mmaatteerriieell

  Eteignez votre ordinateur, et branchez le graveur de CDs  sur  le  bus
  SCSI. Veuillez noter que les graveurs de CDs necessitent un controleur
  SCSI, l'interface standard EIDE de votre PC n'a  pas  la  capacite  de
  piloter ces graveurs.

  Assurez-vous  que le bus SCSI est termine proprement et choisissez une
  ID SCSI libre pour le graveur. Regardez le HOWTO SCSI si  vous  n'etes
  pas sur. Si vous etes completement depasse, demandez a un expert.

  Remettez le courant et regardez les messages que le BIOS du controleur
  SCSI affiche immediatement apres l'allumage de l'ordinateur.  S'il  ne
  reconnait  pas  votre  graveur,  revenez  a  l'etape precedente.  Vous
  devriez voir un message comme celui-ci :

               (Image manquante ; quelqu'un en a-t-il une copie d'ecran ?)

  22..22..  NNoottee ssuurr llee ggrraavvaaggee ddee CCDDss ssoouuss LLiinnuuxx

  Au contraire d'autres rumeurs, le noyau Linux _n_'_a _p_a_s besoin de  patch
  pour  ecrire  sur des CDs. Bien que le fichier drivers/scsi/scsi.c des
  sources du noyau contienne les lignes

       case TYPE_WORM: case TYPE_ROM: SDpnt->writeable = 0;

  ceci veut seulement dire que ces CDs et WORMs ne sont pas  accessibles
  en  ecriture a travers les peripheriques standards /dev/sda - /dev/sdh
  ce qui est normal.

  Au lieu d'utiliser ces peripheriques, l'ecriture de CDs  est  faite  a
  travers  les peripheriques SCSI generiques qui permettent presque tout
  -- meme l'ecriture sur les CDs.

  22..33..  CCrreeeezz lleess ppeerriipphheerriiqquueess ggeenneerriiqquueess

  Le HOWTO SCSI Linux dit a propos des peripheriques SCSI generiques :

       Le pilote de peripherique SCSI generique fournit  une  interface  pour
       envoyer  des  commandes SCSI a tous les peripheriques SCSI -- disques,
       bandes, CDROMs, mecanismes de changement de support, etc.

  Parler des peripheriques generiques en tant  qu'interfaces  veut  dire
  qu'ils  fournissent  une maniere differente d'acceder au materiel SCSI
  par rapport aux peripheriques normaux.  Cette  maniere  detournee  est
  obligatoire  parce  que les peripheriques normaux sont faits pour lire
  des donnees a l'echelle du block a partir d'un disque, d'un lecteur de
  bandes  ou d'un lecteur de CD-ROM. D'un autre cote, piloter un graveur
  de CD-ROM (ou un scanner) est  plus  exotique,  par  exemple  on  doit
  positionner   le   laser.   Pour   avoir   des  peripheriques  normaux
  ``propres'', toutes  ces  actions  exotiques  doivent  (peuvent)  etre
  realisees a travers les peripheriques SCSI generiques.

  Puisque   l'on  peut  tout  faire  au  materiel  SCSI  a  travers  les
  peripheriques generiques, ils ne sont pas limites a un usage  --  d'ou
  le nom ``generique''.

  (Note  :  s'il  y avait une norme pour piloter les graveur de CDs, les
  developpeurs du noyau auraient  programme  un  module  du  noyau  pour
  ecrire  sur  les  CD-R  et  nous ne serions pas obliges d'utiliser les
  peripheriques generiques. Mais comme chaque fabricant  a  besoin  d'un
  pilote  individuel  pour  son  materiel  (argh  !), ce module du noyau
  deviendrait maladroit et plus gros que tout ce que vous voulez  mettre
  dans votre noyau.)

  Deplacez-vous  dans  le  repertoire /dev et verifiez les peripheriques
  SCSI generiques ; la commande ls devrait montrer sga - sgh :

                       bash> cd /dev
                       bash> ls -l sg*
                       crw-------   1 root   sys     21,   0 Jan  1  1970 sga
                       crw-------   1 root   sys     21,   1 Jan  1  1970 sgb
                       crw-------   1 root   sys     21,   2 Jan  1  1970 sgc
                       crw-------   1 root   sys     21,   3 Jan  1  1970 sgd
                       crw-------   1 root   sys     21,   4 Jan  1  1970 sge
                       crw-------   1 root   sys     21,   5 Jan  1  1970 sgf
                       crw-------   1 root   sys     21,   6 Jan  1  1970 sgg
                       crw-------   1 root   sys     21,   7 Jan  1  1970 sgh

  Si vous  n'avez  pas  ces  fichiers  de  peripheriques,  creez-les  en
  utilisant le script /dev/MAKEDEV :

                       bash> cd /dev/
                       bash> ./MAKEDEV sg

  Maintenant les fichiers de peripheriques devraient etre corrects.

  22..44..  EEttaabblliisssseezz ll''uuttiilliissaattiioonn ddeess ppeerriipphheerriiqquueess ````SSCCSSII ggeenneerriiqquuee'''' eett
  llooooppbbaacckk

  Le  noyau  Linux  necessite  un module qui lui donne la possibilite de
  gerer les peripheriques SCSI generiques.  Si  votre  noyau  courant  a
  cette  aptitude,  elle  devrait  etre  listee  dans  le pseudo-fichier
  /proc/devices :

                  bash> cat /proc/devices
                  Character devices:
                   1 mem
                   2 pty
                   3 ttyp
                   4 ttyp
                   5 cua
                   7 vcs
                  21 sg          <---------- veut dire "peripherique SCSI
                  30 socksys                            generique"

                  Block devices:
                   2 fd
                   7 loop        <---------- on peut meme utiliser le
                   8 sd                      loopback
                  11 sr          <---------- veut dire "CD-ROM SCSI"

  Vous devrez peut-etre taper la commande  insmod  sg,  insmod  loop  ou
  insmod sr_mod pour charger le module dans le noyau.  Re-verifiez apres
  avoir essaye ceci.

  Si l'une d'entre elle ne fonctionne pas, vous devez reconfigurer votre
  noyau et le compiler.

                        bash$ cd /usr/src/linux
                        bash$ make config

                        [..]
                        *
                        * Additional Block Devices
                        *
                        Loopback device support (CONFIG_BLK_DEV_LOOP) [M/n/y/?] M

                        [..]
                        *
                        * SCSI support
                        *
                        SCSI support (CONFIG_SCSI) [Y/m/n/?]
                        *
                        * SCSI support type (disk, tape, CD-ROM)
                        *
                        SCSI disk support (CONFIG_BLK_DEV_SD) [Y/m/n/?] Y
                        SCSI tape support (CONFIG_CHR_DEV_ST) [M/n/y/?] M
                        SCSI CD-ROM support (CONFIG_BLK_DEV_SR) [M/n/y/?] M
                        SCSI generic support (CONFIG_CHR_DEV_SG) [M/n/y/?] M

                        [..]
                        ISO9660 cdrom filesystem (CONFIG_ISO9660_FS) [Y/m/n/?] M

  Veuillez noter que j'ai omis les questions un peu moins importantes.

  22..55..  CCoonnssttrruuiirree eett iinnssttaalllleerr llee nnooyyaauu

  Si vous avez des questions concernant ceci, la lecture suggeree est le
  HOWTO Noyau Linux. De plus, votre distribution Linux devrait  contenir
  de la documentation sur ce probleme.
  (Astuce  :  pendant  la  recompilation,  vous pouvez continuer sur les
  etapes ``'' et au-dela)

  22..66..  RReeddeemmaarrrreerr ll''oorrddiinnaatteeuurr ppoouurr aammoorrcceerr llee cchhaannggeemmeenntt

  Ne paniquez pas si le noyau Linux affiche les messages plus rapidement
  que   vous   ne   pouvez  les  lire,  au  moins  l'initialisation  des
  peripheriques SCSI peut etre reaffichee avec la commande dmesg :

               scsi0 : NCR53c{7,8}xx (rel 17)
               scsi : 1 host.
               scsi0 : target 0 accepting period 100ns offset 8 10.00MHz
               scsi0 : setting target 0 to period 100ns offset 8 10.00MHz

                 Vendor: FUJITSU   Model: M1606S-512        Rev: 6226
                 Type:   Direct-Access                      ANSI SCSI
               Detected scsi disk sda at scsi0, channel 0, id 0, lun 0

                 Vendor: NEC       Model: CD-ROM DRIVE:84   Rev:  1.0a
                 Type:   CD-ROM                             ANSI SCSI
               Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0

               scsi : detected 1 SCSI disk total.
               SCSI device sda: hdwr sector= 512 bytes. Sectors= 2131992

  On  a   montre   ci-dessus   uniquement   la   partie   des   messages
  d'initialisation  qui  rapportent  la detection des peripheriques SCSI
  presents physiquement.

  22..77..  CCrreeaattiioonn ddeess ppeerriipphheerriiqquueess llooooppbbaacckk

  Deplacez-vous dans le repertoire /dev et  verifiez  les  peripheriques
  loopback.  Ce  n'est  pas  grave si vous n'avez pas ces peripheriques,
  mais c'est pratique si vous les avez (Voir la section ``'').  Si  vous
  les avez deja, la commande ls devrait montrer loop0 - loop7 :

                       bash$ cd /dev
                       bash$ ls -l loop*
                       brw-rw----   1 root  disk    7,   0 Sep 23 17:15 loop0
                       brw-rw----   1 root  disk    7,   1 Sep 23 17:15 loop1
                       brw-rw----   1 root  disk    7,   2 Sep 23 17:15 loop2
                       brw-rw----   1 root  disk    7,   3 Sep 23 17:15 loop3
                       brw-rw----   1 root  disk    7,   4 Sep 23 17:15 loop4
                       brw-rw----   1 root  disk    7,   5 Sep 23 17:15 loop5
                       brw-rw----   1 root  disk    7,   6 Sep 23 17:15 loop6
                       brw-rw----   1 root  disk    7,   7 Sep 23 17:15 loop7

  Si  vous  n'avez  pas  ces  fichiers  de  peripheriques,  creez-les en
  utilisant le script /dev/MAKEDEV :

  bash> cd /dev/ bash> ./MAKEDEV loop

  La derniere commande ne reussit que si vous avez le module  loop  dans
  votre  noyau  (voir la section ``'' pour la manipulation des modules).
  Si insmod loop ne donne rien, vous devez attendre que le nouveau noyau
  soit correctement installe (voir ``''.

  22..88..  OObbtteenneezz llee llooggiicciieell ppoouurr ggrraavveerr lleess CCDDss

  22..88..11..  UUttiilliittaaiirreess eenn lliiggnnee ddee ccoommmmaannddee

  Le paquetage suivant est obligatoire pour generer des maquettes de CD-
  R :

       ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/mkisofs-1.11.tar.gz

  Selon le modele  de  votre  graveur  de  CDs  (voir  ``''),  l'un  des
  logiciels  suivants  est  necessaire pour ecrire les maquettes sur les
  CD-R :

       ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/cdwrite-2.0.tar.gz
       ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/cdrecord.tar.gz

  Veuillez utiliser les miroirs de ces serveurs FTP les plus proches  ou
  chargez-les a partir d'un CD.

  Assurez-vous  absolument que vous avez la version 2.0 ou superieure de
  cdwrite.  Aucune version plus ancienne et surtout aucune version  beta
  ne  fonctionneront  !  Ne  croyez  pas  les pages de manuel du (vieil)
  mkisofs qui indique que vous avez besoin de la version 1.5 de cdwrite.

  La  distribution Debian est fournie avec un patch pour la version 1.05
  de mkisofs qui lui ajoute l'option -K (voir ``'') ; il est  disponible
  sur

       ftp://ftp.debian.org/pub/debian/rex/source/misc/mkisofs_1.05-3.diff.gz

  Ce  patch  n'est  necessaire que si vous voulez monter l'image du CD a
  travers le peripherique loopback (voir ``'').

  Une correction pour scsi.c (dans le  noyau)  a  ete  ecrite  par  Eric
  Youngdale  pour  rendre  ce  patch  superflu  et  sera incluse dans la
  prochaine version stable du noyau Linux.

  22..88..22..  UUnnee iinntteerrffaaccee uuttiilliissaatteeuurr ggrraapphhiiqquuee ((ooppttiioonnnneellllee))

  X-CD-Roast est un programme de gravage de CDs fonctionnant entierement
  sous X, et succede a cdwtools-0.93. Il est disponible sur

       http://www.fh-muenchen.de/home/ze/rz/services/projects/xcdroast/e_overview.html

  En   ce  moment  X-CD-Roast  est  base  sur  une  version  patchee  de
  cdwrite-2.0 et possede par consequent les memes caracteristiques (voir
  ``'').  Les versions futures pourraient etre basees sur le logiciel de
  remplacementcdrecord.

  33..  EEccrriirree uunn CCDD

  ``Si en fumee tu te transformes, je ne cesserai de jouer  pendant  que
  tu  te  consumes.''  (L'empereur  Neron  en  ecrivant  ses propres CDs
  classiques)

  En general l'ecriture d'un CD se fait en deux etapes :

  +o  recolter les logiciels desires et les empaqueter dans une image ISO
     9660 avec mkisofs ;

  +o  ecrire  l'image  ISO  9660  sur le CD enregistrable avec cdwrite ou
     cdrecord.

  Il est aussi possible de combiner les deux etapes en une avec un  tube
  mais ceci n'est pas recommande parce que ce n'est pas fiable. Voir ci-
  dessous.

  33..11..  DDeetteerrmmiinneezz aa qquueell ppeerriipphheerriiqquuee SSCCSSII  ggeenneerriiqquuee  llee  ggrraavveeuurr  eesstt
  aattttaacchhee

  ( Veuillez noter : la facon actuelle de nommage des peripheriques SCSI
  sous  Linux  est compliquee a souhait et pas assez fiable. Le fait que
  je la decrive ici en maints details ne devrait pas etre mal interprete
  comme la confirmation de cette etat de faits. )

  Apres avoir suivi toutes les etapes du dernier chapitre, votre systeme
  devrait etre capable de gerer le gravage de CDs.  Cette  section  peut
  etre utilisee comme preuve que tout fonctionne comme prevu.

  Lancez la commande dmesg. Elle devrait rapporter les messages du noyau
  Linux, avec ceux imprimes lors du demarrage  (limitation  :  seulement
  les  200  derniers) et contient des informations sur le graveur de CDs
  connectes au bus SCSI.

  Exemple simple :

       Vendor:  YAMAHA   Model:   CDR100         Rev:   1.11   Type:     WORM
       ANSI  SCSI  revision: 02 Detected scsi CD-ROM sr1 at scsi0, channel 0,
       id 3, lun 0

  Cette machine possede quatre peripheriques  SCSI  connectes  (vous  ne
  pouvez  pas le voir donc je vous le dis), avec les ID SCSI allant de 0
  a 3. Le  graveur  est  le  quatrieme  peripherique  SCSI  physiquement
  present  et  doit  donc  etre  connecte  sur  /dev/sgd  (le  quatrieme
  peripherique SCSI generique en comptant commence a a). Dans ce cas, la
  commande

       cdwrite  --eject  --device /dev/sgd

  ouvre  le  tiroir  et  est  un  test  pour  voir  si  tout  fonctionne
  correctement.

  Un exemple plus complique :

                   scsi0 : AdvanSys SCSI 1.5: ISA (240 CDB)
                   scsi1 : Adaptec 1542
                   scsi : 2 hosts.

                     Vendor: HP      Model: C4324/C4325  Rev: 1.20
                     Type:   CD-ROM                      ANSI SCSI revision: 02
                   Detected scsi CD-ROM sr0 at scsi0, channel 0, id 2, lun 0

                     Vendor: IBM     Model: DPES-31080   Rev: S31Q
                     Type:   Direct-Access               ANSI SCSI revision: 02
                   Detected scsi disk sda at scsi1, channel 0, id 0, lun 0

                   scsi : detected 1 SCSI cdrom 1 SCSI disk total.
                   SCSI device sda: hdwr sector= 512 bytes.

  Dans cet exemple deux controleurs SCSI hebergent un peripherique  SCSI
  chacun.  Quel  gachis  (ils  sont  capables  d'heberger  jusqu'a  sept
  peripheriques chacun). Ce n'est pas ma configuration alors arretez  de
  demander  si  j'ai  trop  d'argent...  Cependant dans le but d'etre un
  exemple dont on peut se passer, cette  configuration  est  excellente.
  :-)

  Dans  l'exemple ci-dessus le graveur de CD a l'ID SCSI 2 mais elle est
  associee au premier peripherique SCSI  generique  /dev/sga  parce  que
  c'est  le  premier  peripherique SCSI physiquement present que Linux a
  detecte. J'espere que  ceci  montre  clairement  que  l'ID  SCSI  d'un
  peripherique n'a rien a voir avec le peripherique generique associe.

  Deux  questions  restent en suspens : qu'arrive-t-il si vous prenez le
  mauvais  peripherique   ?   Si   vous   ne   specifiez   ni   l'option
  --<MANUFACTURER>  ni  n'ecrivez  de  donnees  sur  le peripherique, en
  general un message d'avertissement est affiche et rien de plus :

                       bash$ cdwrite  --eject  --device /dev/sgb

                       Unknown CD-Writer; if this model is compatible with any
                       supported type, please use the appropriate command line
                       flag.

                       Manufacturer:  IBM
                       Model:         DPES-31080
                       Revision:      S31Q

  Dans ce cas le peripherique /dev/sbg est un disque dur SCSI (d'IBM).

  Si vous ecrivez des donnees  sur  le  mauvais  peripherique,  vous  en
  ecrasez  le  contenu  d'origine et endommagerez votre systeme de facon
  probablement irremediable. Faites attention, cela  m'est  deja  arrive
  par accident.

  33..22..  RRaasssseemmbblleerr lleess llooggiicciieellss

  En  general cela prend plus de temps qu'on ne le croit ; Rappelez-vous
  que les fichiers manquants ne peuvent pas etre ajoutes une fois que le
  CD est ecrit. :-)

  Gardez  aussi  a l'esprit qu'un certain montant de l'espace libre d'un
  CD est utilise  pour  stocker  les  informations  sur  le  systeme  de
  fichiers ISO 9660 (en general quelques Mo).

  33..33..  SSttoocckkeerr lleess ddoonnnneeeess ssuurr uunn CCDD

  Le  terme  _I_S_O _9_6_6_0 se rapporte au format dans lequel les donnees sont
  stockees sur le CD, pour etre  plus  precis  :  c'est  le  systeme  de
  fichiers sur le CD.

  Bien  sur,  l'apparence des fichiers stockes dans ce format est unifie
  par le noyau Linux comme pour tout autre systeme de fichiers. Si  vous
  montez  un  CD dans l'arborescence des repertoires, vous ne pouvez pas
  distinguer son contenu des autres fichiers... a part le fait qu'on  ne
  peut  ecrire  dessus...  meme pas pour root. :-) (Le mecanisme utilise
  pour unifier l'apparence des fichiers est appele _s_y_s_t_e_m_e  _d_e  _f_i_c_h_i_e_r_s
  _v_i_r_t_u_e_l, en abrege _V_F_S.

  Les  possibilites de ISO 9660 ne sont pas si riches comparees a celles
  du systeme de fichiers ext-2 qui est normalement utilise  sous  Linux.
  Par  contre,  le  CD n'est inscriptible qu'une seule fois et certaines
  possibilites n'ont meme pas de sens. Les  limitations  du  systeme  de
  fichiers ISO 9660 sont :

  +o  uniquement  huit  niveaux  de sous-repertoires autorises (comptes a
     partir  du  repertoire  racine  du  CD)  (utilisez  les  extensions
     RockRidge pour augmenter ce chiffre) ;

  +o  longueur maximale des noms de fichiers : 32 caracteres ;

  +o  capacite de 650 Mo.

  33..44..  CCrreeeerr uunn ssyysstteemmee ddee ffiicchhiieerrss IISSOO 99666600

  Avant  de  pouvoir  utiliser  un  support de stockage (par exemple une
  disquette, un disque dur ou un  CD),  il  doit  avoir  un  systeme  de
  fichiers  (en  langage DOS : etre formate). Ce systeme de fichiers est
  responsable de l'organisation et de l'incorporation des  fichiers  qui
  devraient etre stockes sur le support.

  Bon,  un  CD  inscriptible  ne  l'est  _q_u_'_u_n_e  _f_o_i_s  et donc si nous y
  ecrivons un systeme de  fichiers  vide,  il  serait  formate  --  mais
  resterait pour l'eternite completement vide. :-)

  Nous  avons  donc besoin d'un outil qui cree le systeme de fichiers en
  meme temps qu'il copie les fichiers sur le  CD.  Cet  outil  s'appelle
  mkisofs. Une utilisation simple ressemble a ceci :

                        mkisofs  -r -K  -o cd_image   collection_privee/
                                        `---------'   `----------------'
                                             |                |
                          ecrire la sortie vers    prendre repertoire comme entree

  L'option  -r positionne les permissions de tous les fichiers pour etre
  lisibles publiquement sur le CD et permet les extensions  Rock  Ridge.
  C'est  ce  qu'on  veut en general et l'utilisation de cette option est
  recommandee jusqu'a ce que vous sachiez ce que vous faites. (Astuce  :
  sans   le   -r,   le   point  de  montage  prend  les  permissions  de
  collection_privee !) L'option -K corrige simplement  une  erreur  dans
  l'implementation  Linux  et  empeche  le  dernier fichier du CD d'etre
  detruit (pas vraiment, mais Linux ne peut  pas  le  lire).  Vous  avez
  besoin  de  la  version patchee de mkisofs pour cela. Cette option est
  equivalente a l'option -P de cdwrite.

  Veuillez regarder la page de manuel de mkisofs pour plus de details.

  mkisofs essaiera de convertir tous les noms de fichiers au format  8.3
  utilise  par  DOS  pour  assurer une compatibilite maximale. En cas de
  conflits de noms (des fichiers differents qui  auraient  le  meme  nom
  8.3),  des  numeros  sont  utilises  dans  les noms de fichiers et les
  informations sur le nom de fichier choisi sont imprimees sur  l'erreur
  standard (en general l'ecran).

  NNee  ppaanniiqquueezz  ppaass  ::  sous  Linux,  vous  ne verrez jamais ces noms de
  fichiers 8.3 parce que Linux utilise les  extensions  Rock  Ridge  qui
  contiennent les informations d'origine du fichier (permissions, nom de
  fichier, etc.)

  Maintenant vous pouvez vous demander pourquoi  la  sortie  de  mkisofs
  n'est  pas envoyee directement au peripherique de gravage. Ceci est du
  a deux raisons :

  +o  mkisofs ne connait rien sur la maniere de piloter les  graveurs  de
     CD (voir la section ``'') ;

  +o  On ne peut pas compter sur cette methode (voir ``'').

  La  synchronisation d'un graveur de CD est un point tellement critique
  que nous ne le remplissons pas directement avec mkisofs (rappelez-vous
  que Linux n'est pas un systeme d'exploitation en temps reel et que les
  taches peuvent etre mal temporisees). A la place, il est recommande de
  stocker la sortie de mkisofs dans un fichier separe sur le disque dur.
  Ce fichier est alors une image parfaite du CD a venir et est  en  fait
  ecrite sur le CD avec l'outil cdwrite dans un deuxieme temps.

  L'image parfaite est stockee dans un fichier enorme, et vous avez donc
  besoin de la meme quantite d'espace disque libre que ce  que  prennent
  vos  logiciels  rassembles.  C'est  le  probleme. On pourrait penser a
  creer une partition supplementaire pour cela  et  ecrire  l'image  sur
  cette  partition  plutot  que  dans  un  fichier. Je suis contre cette
  strategie parce que si vous ecrivez sur la mauvaise partition (a cause
  d'une  faute  de  frappe),  vous  pouvez perdre votre systeme Linux en
  entier. De plus, c'est du gachis d'espace disque parce que l'image  du
  CD  represente  des  donnees temporaires que l'on pourra effacer apres
  avoir grave le CD.

  33..55..  TTeesstteerr ll''iimmaaggee CCDD

  Linux a la possibilite de monter des fichiers  comme  si  c'etait  des
  partitions  de  disques.  Ceci  est  tres  utile  pour  verifier si la
  structure des rerpertoires de l'image du CD est bonne.

  Pour monter le fichier cd_image  cree  ci-dessus  dans  le  repertoire
  /cdrom, envoyez la commande

       mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom

  Vous  pouvez  maintenant  inspecter  les  fichiers  sous /cdrom -- ils
  apparaissent exactement comme ils le seraient sur  un  _v_r_a_i  CD.  Pour
  demonter  l'image  CD,  tapez simplement umount /cdrom. Attention : si
  vous n'avez pas utilise l'option -K avec mkisofs, le  dernier  fichier
  sur /cdrom peut ne pas etre entierement lisible.

  Note  :  certaines versions anciennes de mount ne savent pas manipuler
  les peripheriques _l_o_o_p_b_a_c_k. Si vous  avez  une  version  de  mount  si
  vieille que ca, c'est une indication pour mettre votre systeme Linux a
  jour.

  Plusieurs personnes m'ont deja suggere de mettre des informations  sur
  la  maniere  d'obtenir  les  dernieres versions de mount dans ce mini-
  HOWTO.  Je refuse toujours de le faire. Si  votre  distribution  Linux
  contient  un  vieux  mount,  dites-leur que c'est une erreur. Si votre
  distribution Linux se met a jour difficilement, dites-leur  que  c'est
  une erreur.

  Si   je   devais  donner  toutes  les  informations  necessaires  pour
  contourner les erreurs des distributions Linux mal  faites,  ce  mini-
  HOWTO serait beaucoup plus gros et dur a lire.

  33..66..  RReemmaarrqquueess ssuurr lleess ddiissqquueess CCDD RReeiinnssccrriippttiibblleess vviieerrggeess

  Le  magazine  informatique  allemand  cc''tt  donne  une  liste  de trucs
  concernant les CD vierges dans leur numero de novembre 1996 :

  +o  les disques ``sans-noms'' ne sont en general pas de la plus  grande
     qualite et il vaut mieux ne pas les utiliser ;

  +o  si  un  CD reinscriptible est defectueux, il y a des chances que ca
     soit la meme chose pour le paquet entier (vous en avez achete  plus
     d'un  a  la  fois)  ; vous avez peut-etre de la chance et pouvez au
     moins utiliser les 500 premiers Mo de tels CDs...

  +o  ne touchez pas les CD sur leur face brillante avant l'ecriture.

  33..77..  EEccrriivveezz ll''iimmaaggee dduu CCDD ssuurr uunn CCDD

  Plus grand chose a faire. Avant de vous montrer la derniere  commande,
  laissez-moi  vous  avertir  que  les  graveurs  de  CDs  doivent  etre
  alimentes par un flot continu de donnees parce  qu'ils  n'ont  que  de
  petits caches de donnees. Le processus d'ecriture de l'image CD sur le
  CD ne doit donc pas etre interrompue ou bien le  resultat  est  un  CD
  corrompu.

  Pour  etre  sur que rien ne vient interrompre le processus, virez tous
  les utilisateurs de votre systeme et debranchez le  cable  Ethernet...
  Lisez le ``Bastard Operator From Hell'' pour en apprendre sur la bonne
  attitude a adopter. ;-)

  Si vous etes pret mentalement, mettez  une  blouse  noire,  multipliez
  l'ID SCSI du graveur de CD par son numero de version et allumez autant
  de bougies, recitez deux strophes de la FAQ ASR et finalement tapez :

       cdwrite --device /dev/sgd cd_image

  ou bien

       cdrecord -v speed=2 dev=4,0 cd_image

  selon le logiciel que  vous  voulez  utiliser.  Vous  devez  bien  sur
  remplacer  le  peripherique  d'exemple par le peripherique SCSI auquel
  votre graveur de CD est connecte.

  Veuillez noter qu'autant graveur ne peut repositionner  son  laser  et
  continuer au point ou il a ete derange. Par consequent toute vibration
  forte ou meme un choc detruira completement le CD  que  vous  etes  en
  train de graver.

  33..88..  SSii qquueellqquuee cchhoossee vvaa mmaall......

  dessous de bouteilles. :-)

  44..  QQuueessttiioonnss ffrreeqquueemmmmeenntt ppoosseeeess,, aavveecc lleess rreeppoonnsseess

  44..11..  ````AA qquueell ppooiinntt llee pprroocceessssuuss ddee bbrruulluurree eesstt--iill sseennssiibbllee ??''''

  Reponse  :  cela  depend  de  votre  graveur.  Les  graveurs  modernes
  devraient  avoir  un  tampon  de donnees de 1 Mo a peu pres et peuvent
  tenir une a deux secondes sans donnees. Voyez les manuels ou  demandez
  au  fabricant  si vous voulez connaitre les details. Independamment de
  la taille de ces tampons, vous devez garantir un debit constant de 300
  Ko/s ou 600 Ko/s sur une longue periode.

  Les  processus  qui utilisent beaucoup le disque, comme la mise a jour
  de la base  de  donnees  ``locate''  diminuent  le  debit  maximum  et
  abimeront  certainement  le  CD ; vous feriez mieux de verifier que de
  tels processus ne sont pas demarres par cron, at  ou  anacron  pendant
  que vous gravez des CD-Rs.

  Par  contre, certaines personnes m'ont dit qu'elles avaient compile un
  noyau pendant le gravage d'un CD sans aucun probleme. Vous aurez  bien
  sur besoin d'une machine rapide pour de telles experiences.

  44..22..  ````LLaa ffrraaggmmeennttaattiioonn aa--tt--eellllee ddeess mmaauuvvaaiiss eeffffeettss ssuurr llee fflloott ??''''

  La fragmentation est en general tellement basse qu'on ne remarque  pas
  son impact.

  Si  vous n'en etes pas certain, regardez les messages imprimes lors du
  demarrage, le  pourcentage  de  fragmentation  est  donne  los  de  la
  verification du systeme de fichiers. Vous pouvez verifier cette valeur
  avec la commande tres dangereuse

                       bash$ e2fsck -n  /dev/sda5        # '-n' est important !
                       [partie effacee -- ignorez toute erreur]
                       /dev/sda5: 73/12288 files (12.3% non-contiguous)

  Dans cet exemple, la fragmentation semble etre tres grande -- mais  il
  n'y  a que 73 fichiers tres petits sur ce systeme de fichiers (utilise
  sur /tmp) et la valeur _n_'_e_s_t _p_a_s alarmante.

  44..33..  ````EEsstt--iill ppoossssiibbllee ddee  ssttoocckkeerr  ll''iimmaaggee  CCDD  ssuurr  uunn  ssyysstteemmee  ddee
  ffiicchhiieerr UUMMSSDDOOSS ??''''

  Oui. Le seul systeme de fichiers ni assez fiable ni assez rapide  pour
  graver  des CD est NFS (_N_e_t_w_o_r_k _F_i_l_e_S_y_s_t_e_m, systeme de fichiers par le
  reseau).

  J'utilise moi-meme UMSDOS pour partager l'espace disque entre Linux et
  DOS/Win sur un PC (486/66) dedie au gravage des CDs.

  44..44..   ````YY aa--tt--iill uunn mmooyyeenn ddee ppaasssseerr oouuttrree lleess lliimmiittaattiioonnss ddee IISSOO 99666600
  ??''''

  Oui.  Vous  pouvez mettre le systeme de fichiers qui vous plait sur le
  CD.  Mais certains systemes d'exploitation ne pourront rien en  faire.

  Voici la recette :

  +o  creez un fichier vide d'une taille de 650 Mo :

                       dd if=/dev/zero of="fic_vide" bs=1024k count=650

  +o  creez un systeme de fichiers ext2 sur ce fichier :

                       bash$ /sbin/mke2fs fic_vide
                       fic_vide is not a block special device.
                       Proceed anyway? (y,n) y

  (NdT : mke2fs demande confirmation de creer le systeme de fichiers sur
  un fichier normal.) ;

  +o  montez ce fichier vide a l'aide du peripherique _l_o_o_p_b_a_c_k :

                       mount -t ext2 -o loop=/dev/loop1 fic_vide /mnt

  +o  copiez les fichiers vers /mnt et demontez-le apres (umount) ;

  +o  utilisez cdwrite ou cdrecord sur fic_vide  (qui  n'est  plus  vide)
     comme si c'etait une image ISO 9660.

  Si  vous  voulez  creer  une  entree  dans  /etc/fstab pour un tel CD,
  desactivez sa verification, par exemple :

               /dev/cdrom      /cdrom  ext2    defaults,ro     0  0

  Le premier 0 veut dire "ne me compte pas dans les dumps", la  deuxieme
  (importante) veut dire "ne verifie pas les erreurs au demarrage" (fsck
  n'arrivera pas a verifier les erreurs eventuelles sur le CD).

  44..55..  ````CCoommmmeenntt lliirree eett eeccrriirree ddeess CCDDss aauuddiioo ??''''

  Veuillez prendre les  paquetages  cdda2wav  et  sox,  disponibles  sur
  sunsite et ses miroirs :

       ftp://sunsite.unc.edu/pub/Linux/apps/sound/cds/cdda2wav0.71.src.tar.gz
       ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/sox-11gamma-cb2.tar.gz

  cdda2wav vous permet de prendre un intervalle specifique (ou une plage
  entiere) de votre CD audio et le convertit en un  fichier  .wav.   sox
  convertit  les  fichiers wav dans le format cdda (CD audio) pour qu'on
  puisse l'ecrire sur le CD-R avec cdwrite.

  44..66..  ````CCoommmmeenntt rreecchheerrcchheerr ddeess ppeerriipphheerriiqquueess SSCCSSII aapprreess  llee  ddeemmaarrrraaggee
  ??''''

  Le fichier drivers/scsi/scsi.c  contient  les  informations  suivantes
  (NdT : traduites en francais) :

  ______________________________________________________________________
  /*
   * Utilisation : echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
   * avec "0 1 2 3" remplaces par vos "Carte Canal Id Lun".
   * Considerez ceci comme une caracteristique BETA.
   *     ATTENTION : Ceci n'est pas fait pour brancher vos
   *     peripheriques a chaud. Comme le SCSI n'a pas ete fait
   *     pour ca, vous pouvez endommager votre materiel !
   * Cependant il est peut-etre autorise d'allumer un
   * peripherique deja branche. Il n'est peut-etre pas garanti
   * que ce peripherique ne corrompe pas un transfert de donnees
   * en cours.
   */
  ______________________________________________________________________

  44..77..   ````EEsstt--iill  ppoossssiibbllee ddee ffaaiirree uunnee ccooppiiee eexxaaccttee dd''uunn CCDD ddee ddoonnnneeeess
  ??''''

  Oui.  Mais  vous devriez etre conscient du fait que toute erreur faite
  en lisant l'original (due a la poussiere ou a des rayures) donnera une
  copie defectueuse.

  Premier  cas  :  vous  avez  un graveur de CDs et un lecteur de CD-ROM
  separe. En tapant la commande :

       cdwrite -v -D /dev/sgc --pad -b  `isosize  /dev/scd0` /dev/scd0

  ou

       cdrecord -v dev=3,0 speed=2 -isosize /dev/scd0

  vous lisez le flot de donnees du lecteur de CD-ROM attache a /dev/scd0
  et l'ecrivez directement sur le graveur par /dev/sgc.

  Deuxieme cas : vous n'avez pas de lecteur de CD-ROM separe. Vous devez
  utiliser le graveur pour lire le CD-ROM comme ceci :

       dd if=/dev/scd0 of=cdimage bs=1c count=`isosize  /dev/scd0`

  Cette commande est equivalente au  resultat  de  mkisofs,  vous  devez
  continuer  tel  que c'est decrit a la section ``''. Veuillez noter que
  cette methode ne fonctionnera pas sur des CDs audio !

  44..88..  ````LLiinnuuxx ppeeuutt--iill lliirree ddeess CCDDss JJoolliieett ??''''

  Oui. Mais vous devez patcher le noyau et le recompiler. Pour  plus  de
  details,                      voyez                       <http://www-
  plateau.cs.berkeley.edu/people/chaffee/joliet.html>.

  44..99..  ````CCoommmmeenntt ppuuiiss--jjee lliirree//mmoonntteerr ddeess CCDD--RROOMMss aavveecc llee ggrraavveeuurr ddee CCDDss
  ??''''

  Comme vous le feriez avec un lecteur de CD-ROM normal.  Aucune  astuce
  la-dessous.

  Notez que vous devez utiliser les peripheriques scd (CD-ROM SCSI) pour
  monter les CDs en lecture. Voici un exemple pour /etc/fstab :

               /dev/scd0       /cdrom  iso9660 ro,user,noauto  0  0

  55..  DDeeppaannnnaaggee

  55..11..  CCaa nnee mmaarrcchhee ppaass :: ssoouuss LLiinnuuxx

  Veuillez d'abord verifier que le  graveur  fonctionne  avec  un  autre
  systeme d'exploitation. Concretement :

  +o  Est-ce que le controleur reconnait le graveur comme un peripherique
     SCSI ?

  +o  Est-ce que le logiciel pilote reconnait le graveur ?

  +o  Est-il possible de fabriquer un CD avec les logiciels fournis ?

  55..22..  CCaa nnee mmaarrcchhee ppaass :: ssoouuss DDOOSS eett aassssiimmiilleess

  Essayez d'utiliser  Linux.  L'installation  et  la  configuration  des
  pilotes SCSI pour DOS est une horreur. Linux est trop complique ? Ha !

  55..33..  EErrrreeuurrss SSCCSSII ppeennddaanntt llaa pphhaassee ddee ggrraavvaaggee

  Il est fort probable que ces erreurs soient dues a :

  +o  possibilite de _d_i_s_c_o_n_n_e_c_t_/_r_e_c_o_n_n_e_c_t manquant sur le bus SCSI ;

  +o  materiel pas assez refroidi ;

  +o  materiel defectueux (devrait etre detecte par ``'').

  Sous des circonstances variees, les peripheriques SCSI se deconnectent
  et  se  reconnectent  par  eux-memes  (de maniere electronique) du bus
  SCSI.  Si  cette  possibilite  n'est  pas  disponible   (verifiez   le
  controleur  et  les  parametres  du  noyau), certains graveurs ont des
  problemes pendant le gravage ou le fixage du CD-R. En particulier,  le
  pilote SCSI NCR 53c7,8xx a cette possibilite desactivee par defaut, et
  vous devriez donc verifier ceci en premier :

               NCR53c7,8xx SCSI support                  [N/y/m/?] y
                  always negotiate synchronous transfers [N/y/?] (NEW) n
                  allow FAST-SCSI [10MHz]                [N/y/?] (NEW) y
                  allow DISCONNECT                       [N/y/?] (NEW) y

  66..  RReemmeerrcciieemmeennttss

  Andreas  Erdmann,  erdmann@zpr.uni-koeln.de,  a  fourni  l'exemple  du
  graveur Yamaha ;

  Art  Stone,  stone@math.ubc.ca,  a eu l'idee de mettre des systemes de
  fichiers non ISO 9660 sur un CD ;

  Bernhard Gubanka, beg@ipp-garching.mpg.de, a remarque le besoin  d'une
  version recente de mount pour utiliser le peripherique loopback ;

  Brian H. Toby a fignole l'orthographe ;

  Bruce  Perens,  bruce@pixar.com, a donne des informations sur la liste
  de distribution cdwrite ;

  Edwin H. Kribbs a remarque que -K necessite de patcher mkisofs ;

  Gerald C Snyder, gcsnyd@loop.com, a teste l'ecriture d'un CD-ROM ext-2
  (voir ``'') ;

  Ingo  Fischenisch,  ingo@mi.uni-koeln.de,  a fourni l'exemple des deux
  controleurs hebergeant deux peripheriques ;

  Janne Himanka, shem@oyt.oulu.fi, pointeur vers le patch du noyau  pour
  lire des CDs Joliet ;

  Joerg Schilling, schilling@fokus.gmd.de, informations sur cdrecord ;

  Jos van Geffen, jos@tnj.phys.tue.nl, a note le probleme dans ``'' ;

  Markus Dickebohm, m.dickebohm@uni-koeln.de ;

  Pierre  Pfister,  pp@uplift.fr,  a  aide  a  developper la recette des
  copies exactes ;

  Rick  Cochran,   rick@msc.cornell.edu,   indice   sur   dis-/reconnect
  desactive par defaut dans le pilote NCR ;

  Stephan Noy, stnoy@mi.uni-koeln.de, des informations et son experience
  sur l'ecriture de CDs audio ;

  Stephen Harris, sweh@mpn.com, a donne des indices sur  l'ecriture  des
  CDs audio ;

  The  Sheepy One, kero@escape.com, a suggere l'utilisation des CD rates
  en dessous de bouteilles ;

  Volker Kulhmann,  kuhlmav@elec.canterbury.ac.nz,  a  remarque  que  le
  paquetage cdwrite ne contient pas mkisofs.