Gravure CD-ROM

De Cliss XXI
Révision datée du 28 avril 2006 à 18:05 par imported>SylvainBeucler (syntaxe)
Sauter à la navigation Sauter à la recherche

Paquets considérés:

aptitude install mkisofs cdrecord

Créer l'ISO d'un ou de plusieurs fichiers

mkisofs -R -r -J --hide-rr-moved -V "SauvHome" -o backup.iso /home/toto/

Explication des options utilisées dans mkisofs:

  • -R : rajoute l'extension Rock Ridge qui permet de conserver les noms longs et les permissions sous Linux
  • -r : permet de générer une image qui soit lisible par tout le monde malgré les permissions activées par l'extension Rock Ridge
  • -J : active l'extension Joliet pour avoir les noms longs sous Windows
  • --hide-rr-moved : renomme le répertoire RR_MOVED (dû aux extensions Rock Ridge) en un répertoire caché .rr_moved
  • -V : spécifie un nom de volume (ici "SauvHome")
  • -o : spécifie le nom et l'emplacement du fichier ISO (ici backup.iso dans le répertoire courant).

Créer une ISO contenant le répertoire /home/toto/, le fichier /etc/X11/XF86Config-4, et le contenu du répertoire /mnt/win/toto/ qui devra apparaître sur le CD dans un répertoire win-toto:

mkisofs -R -r -J --hide-rr-moved -V "SauvHome" \
 -o backup.iso -graft-points \
 /home/toto/ /etc/X11/XF86Config-4 win-toto/=/mnt/win/toto/

Créer l'ISO d'un CD

dd if=/dev/cdrom of=backup.iso

Note: ne pas monter le CD-ROM

Vérifier une ISO

En tant que root:

mount -t iso9660 -o loop fichier.iso /mnt/test-iso
cd /mnt/test-iso
ls -ail
# ...
umount /mnt/test-iso


Graver une ISO (noyau 2.6)

Quel est l'identifiant SCSI virtuel ?

$ cdrecord dev=ATA: -scanbus
# Si problème, essayer ATAPI:
# cdrecord dev=ATAPI -scanbus
scsibus1:
       1,0,0   100) 'HL-DT-ST' 'DVD-RW GCA-4080N' '0W33' Removable CD-ROM
       1,1,0   101) *
       1,2,0   102) *
       1,3,0   103) *
       1,4,0   104) *
       1,5,0   105) *
       1,6,0   106) *
       1,7,0   107) *

De là, modifier /etc/default/cdrecord:

CDR_DEVICE=cddvdrw
cddvdrw=ATA:1,0,0

Ensuite, pour retrouver les infos :

cdrecord -prcap

pour tester sans graver (pas de laser) : -dummy

$ cdrecord -v -dummy dev=cddvdrw -data sarge-i386-netinst.iso
--> erreur : cdrecord: Cannot allocate memory. Cannot get SCSI I/O buffer.

par contre, sous root, pas de pb :

Starting to write CD/DVD at speed 24 in dummy TAO mode for single session.
Last chance to quit, starting dummy write    0 seconds. Operation starts.
Turning BURN-Free off
Track 01: Total bytes read/written: 109338624/109338624 (53388 sectors).

(La vitesse est de 24x car dans /etc/default/cdrecord on n'a pas spécifié de vitesse, alors que

cdrecord -prcap indique :

Number of supported write speeds: 3
  Write speed # 0:  4234 kB/s CLV/PCAV (CD  24x, DVD  3x)
  Write speed # 1:  2822 kB/s CLV/PCAV (CD  16x, DVD  2x)
  Write speed # 2:  1764 kB/s CLV/PCAV (CD  10x, DVD  1x)

Commme il s'agit d'un lecteur compatible MMC, si on ne spécifie pas de vitesse, il prend la plus élevée possible (si on spécifie speed=0 il prend la plus basse possible, soit ici 10x)

Quand tout est OK, on grave en réel, sans l'option dummy :

cdrecord -v dev=cddvdrw -data sarge-i386-netinst.iso


Si le CD est un RW : le remettre à blanc au préalable

- CD RW neuf :

cdrecord -v dev=cddvdrw -blank=all

- CD RW déjà utilisé :

cdrecord -v dev=cddvdrw -blank=fast


CD Audio :

1°) Extraire les pistes du CD audio vers le disque dur :

(# apt-get install cdda2wav) cdda2wav -B -s -x -D /dev/cdrom * x: qualité maxi * B: toutes les pistes avec les fichiers d'information de chaque piste (si vous utilisez les fichiers d'information) * s: extrait les pistes en stereo * D chemin du périphérique.

Ou :

(# apt-get install cdparanoia) cdparanoia -B -d /dev/cdrom


2°) Graver le CD proprement dit

cdrecord speed=2 dev=cddvdrw -dao -eject -useinfo *.wav * dao: Disk at Once * eject: ejecte le CD lorsque la gravure est terminée * useinfo:utilise les fichiers d'information.


Pour les DVD

Gravure d'une image ISO:

growisofs -dvd-compat -Z /dev/dvd=image.iso

(-dvd-compat verrouille le DVD en écriture après gravure pour plus de compatibilité)

ToDo: compléter la création de l'ISO avec growisofs, expliquer les différences avec mkisofs s'il y a lieu.