1. Les modules du noyau Il faut rajouter des modules dans le noyau Linux pour pouvoir graver avec un graveur IDE sous Linux. Si tu as bien suivi la page qui parle de la configuration du noyau, c'était déjà expliqué. Mais je re-donne la liste des modules à compiler ci-dessous : Comme on n'a rajouté que des modules, on n'a pas besoin de recompiler le noyau, mais seulement les modules :
    En utilisateur :make modules
    En root : make modules_install
    Ensuite, il faut modifier la configuration de ton système pour qu'il charge les bons modules au bon moment. Un lecteur de CD-ROM peut fonctionner sous Linux avec l'un des deux modules : Par contre, un graveur ne peut graver qu'avec le module ide-scsi. Et si les deux modules sont chargés pour faire fonctionner le même lecteur, cela crée un conflit ! Nous allons donc faire marcher tous les lecteurs de CD-ROM et DVD (graveur inclus) avec le module ide-scsi. Ils ne vont donc plus être accessibles par /dev/hdx, (x = a, b, c, ou d) mais par /dev/scdx (x = 0, 1, 2...). La configuration des modules se passe dans le répertoire /etc/modutils. Quand on fait des modifications dedans, il faut ensuite exécuter update-modules qui va générer un nouveau fichier /etc/modules.conf qui est utilisé par le système pour lire la configuration des modules. En root, crée un nouveau fichier /etc/modutils/cdrom contenant :
    alias scd0 sr_mod                    # load sr_mod upon access of scd0
    alias scd1 sr_mod                    # load sr_mod upon access of scd1
    alias scd2 sr_mod                    # load sr_mod upon access of scd2
    alias scd3 sr_mod                    # load sr_mod upon access of scd3
    alias scd4 sr_mod                    # load sr_mod upon access of scd4
    alias scd5 sr_mod                    # load sr_mod upon access of scd5
    alias scd6 sr_mod                    # load sr_mod upon access of scd6
    alias scd7 sr_mod                    # load sr_mod upon access of scd7
    pre-install sg     modprobe ide-scsi # load ide-scsi before sg
    pre-install sr_mod modprobe ide-scsi # load ide-scsi before sr_mod
    
    puis exécute update-modules. Ce fichier dit au système que quand un programme veut accéder à /dev/scd1 (par exemple), il doit insérer dans l'ordre :
    1. ide-scsi
    2. sg et sr_mod
  2. Packages à installer On aura besoin des packages mkisofs et cdrecord :
    apt-get install mkisofs cdrecord Il te demande si tu veux installer cdrecord SUID root. Si tu réponds non, seul le root pourra graver des CDs. Si tu réponds oui, alors tous ceux qui sont dans le groupe disk pourront graver.
  3. Créer l'image ISO du CD Avant de commencer à graver, il faut créer l'image ISO du CD. Pour cela, on utilise la commande mkisofs. Par exemple, on va faire une sauvegarde du home de user (vérifier d'abord avec un "du -h" dans /home/user qu'il fait moins de 650Mo). On va créer le fichier backup.iso qui contient une image du système de fichier du home de user au format des CD-ROMs :
    mkisofs -R -r -J -V "SauvegHome" -o backup.iso /home/user
    Explication des options utilisées : Pour créer l'image ISO d'un CD de données, c'est très simple :
    dd if=/dev/cdrom of=backup.iso Pour vérifier que le fichier "backup.iso" contient bien le home de user ou le contenu du CD, on va monter le fichier "backup.iso" en loopback dans le répertoire /mnt/tmp (à créer avant s'il n'existe pas) avec l'option read-only :
    modprobe loop pour insérer le module loop,
    mount -t iso9660 -o ro,loop backup.iso /mnt/tmp Et tu peux aller te balader dans /mnt/tmp pour voir que tout est là. Une fois que tu as vérifié que tout est bon, démonte l'ISO du CD :
    umount /mnt/tmp
  4. Graver le CD Il faut d'abord connaître les adresses SCSI virtuelles qui ont été assignées à tes lecteurs de CD et DVD. Pour cela, tape :
    cdrecord -scanbus Sur mon ordinateur que l'on va prendre comme exemple, je vois apparaître :
    Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jörg Schilling
    Linux sg driver version: 3.1.22
    Using libscg version 'schily-0.5'
    scsibus0:
            0,0,0     0) 'HITACHI ' 'DVD-ROM GD-7000 ' 'X017' Removable CD-ROM
            0,1,0     1) 'TEAC    ' 'CD-W516EB       ' '1.0B' Removable CD-ROM
            0,2,0     2) *
            0,3,0     3) *
            0,4,0     4) *
            0,5,0     5) *
            0,6,0     6) *
            0,7,0     7) *
    
    Tu peux vérifier en faisant un lsmod qu'il a bien chargé le module ide-scsi. Si la commande cdrecord -scanbus ne marche pas et affiche 4 pauvres lignes avec des messages d'erreur, regarde si le périphérique /dev/sg0 existe. Si ce n'est pas le cas, tape en root :
    /dev/MAKEDEV sg Sur cet exemple, on voit que mon lecteur de DVD Hitachi a le numéro "0" dans la chaîne SCSI, et que mon graveur Teac a le numéro "1". Ils sont donc respectivement accessibles par /dev/scd0 et /dev/scd1. Tu peux maintenant modifier ou créer les liens symboliques dans /dev pour qu'ils pointent vers scdx et non hdx. Dans mon cas, je vais taper :
    cd /dev
    rm cdrom
    rm dvd
    rm graveur
    ln -s scd0 cdrom
    ln -s scd0 dvd
    ln -s scd1 graveur
    Ensuite, vérifie dans tes fichiers de config que tu n'utilisais pas /dev/hdx pour le lecteur de CD (nottamment dans /etc/fstab) au lieu des liens symboliques. Désormais, utilise plutôt les liens symboliques /dev/cdrom et /dev/graveur. Retournons à nos moutons... Dans le résultat de cdrecord -scanbus, regarde dans quelle ligne correspond à ton graveur, et retient la séquence de trois chiffres de la colonne de droite qui correspond à l'adresse SCSI de ton graveur (dans mon cas : 0,1,0). Tu vas pouvoir lancer la gravure :
    cdrecord -v speed=X dev=0,1,0 -data backup.iso
    où X est la vitesse à laquelle tu veux graver et où tu remplaces "0,1,0" par la chaîne de trois chiffres qui correspond à ton graveur. Si tu veux graver sur un CD-RW, il faut au préalable effacer ce qui est écrit dessus :
  5. Copie directe de Lecteur CD à Graveur Dans l'exemple de mon ordinateur, /dev/scd0 représente mon lecteur CD. Pour réaliser une copie directe de lecteur CD à graveur, il faut lancer Cdrecord avec l'option -isosize :
    cdrecord -v -speed=X dev=0,1,0 -isosize /dev/scd0 Le choix de la vitesse de gravure X est ici très importante : il faut choisir une vitesse que le lecteur de CD puisse supporter... car si il ne suit pas, le tapon du graveur va se vider et tu n'auras plus qu'à jeter ton CD-R à la poubelle.
  6. Les CDs audio Cdrecord sait aussi faire des CDs audio. Pour cela, il faut disposer de fichiers son au format CDR, WAV ou AU par piste. Si les fichiers sont au format WAV ou AU, chaque fichier doit être en stéréo, 16-bits à 44100 échantillons / seconde. Il suffit alors de taper :
    cdrecord -v -speed=X -dev=0,1,0 -audio track1.cdr track2.cdr track3.cdr [etc...]
    ou cdrecord -v -speed=X -dev=0,1,0 -audio track1.wav track2.wav track3.wav [etc...]
    ou cdrecord -v -speed=X -dev=0,1,0 -audio track1.au track2.au track3.au [etc...] Pour convertir un MP3 au format CDR, il suffit d'utiliser mpg321 :
    mpg321 ma_chanson.mp3 --cdr ma_chanson.cdr
    Pour extraire une piste d'un CD audio au format CDR, il faut utiliser cdparanoia disponible dans le package du même nom :
    cdparanoia -B -p L'utilisation de cdrecord pour graver des CDs audio induit une pause de deux secondes entre chaque piste lors de la lecture, car il utilise le mode TAO (Track At Once). Pour éliminer cette pause, il faut graver le CD en mode DAO (Disk At Once) en utilisant cdrdao disponible dans le package du même nom. Je ne l'ai pas encore essayé...


  Précédent   Index   Suivant