Gravure CD-ROM
Note: ceci est la méthode manuelle. Pour une méthode simple, utilisez Gnome et son créateur de CD/DVD).
Paquets considérés:
aptitude install mkisofs cdrecord cdda2wav cdparanoia
Outils simples
Sous Gnome, insérez un CD vierge dans le lecteur: la fenêtre de gravure apparaît. Glissez-déposez des fichiers (ou copiez/collez) des fichiers à l'intérieur, puis cliquez sur Fichier->Graver un CD.... C'est tout :)
La suite de l'article indique comment graver en ligne de commande. Utilise pour aller plus loin (graver des image .iso téléchargées) et lancer des gravures via une connexion SSH à distance.
Il y a également l'outil Xcdroast qui fournit une interface graphique pour tout ces outils.
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/
Récupérer une image ISO à partir d'un CD existant
dd if=/dev/cdrom of=backup.iso
Note: ne pas monter le CD-ROM
Note2: pour les purs et durs, cat /dev/cdrom > backup.iso
fonctionne aussi ;)
Vérifier une ISO
En tant que root:
mkdir /tmp/test-iso mount -t iso9660 -o loop fichier.iso /tmp/test-iso cd /tmp/test-iso ls -ail # ... umount /tmp/test-iso
Vous pouvez aussi utiliser la somme de contrôle fournie avec l'image ISO:
$ md5sum -v -c MD5SUMS debian-testing-i386-netinst.iso OK
Graver une ISO (noyau 2.6)
Tout d'abord, dire à cdrecord 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=ATA:1,0,0
Ensuite, pour retrouver les infos :
cdrecord -prcap [...] 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)
Pour tester sans graver (pas de laser) : -dummy
$ cdrecord -v -dummy -data sarge-i386-netinst.iso [...] 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).
Dans /etc/default/cdrecord on n'a pas spécifié de vitesse; commme il s'agit d'un lecteur compatible MMC,
il prend dans ce cas la plus élevée possible. Parallèlement, si l'on spécifie speed=1
il prend la plus basse possible, soit ici 10x.
$ cdrecord -v -data sarge-i386-netinst.iso speed=1
Note: si vous obtenez:
cdrecord: Cannot allocate memory. Cannot get SCSI I/O buffer.
passez en utilisateur root, ou mettez les permissions setuid (chmod u+s
) sur /usr/bin/cdrecord
.
Quand tout est OK, on grave en réel, sans l'option dummy :
cdrecord -v -data sarge-i386-netinst.iso
CD-RW
Si le CD est un RW : le remettre à blanc au préalable
- CD RW neuf :
cdrecord -v -blank=all
- CD RW déjà utilisé :
cdrecord -v -blank=fast
CD Audio
1°) Extraire les pistes du CD audio vers le disque dur :
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 :
cdparanoia -B -d /dev/cdrom
2°) Graver le CD proprement dit
cdrecord speed=2 -dao -eject -useinfo *.wav
- dao: Disk at Once
- eject: ejecte le CD lorsque la gravure est terminée
- useinfo:utilise les fichiers d'information.
CUE
Avec cdrecord:
cdrecord speed=1 cuefile=CDImage.cue -dao -verbose -eject
Alternativement (paquet cdrdao
):
cdrdao write --device /dev/cdrom --speed 1 --eject CDImage.cue
Encore alternativement (paquet bchunk)
bchunk CDImage.wav CDImage.cue moncd # raw bchunk -w CDImage.wav CDImage.cue moncd # wav
puis graver moncd*.raw ou moncd*.wav avec cdrecord comme décrit ci-dessus, avec -tao:
cdrecord speed=1 -audio -tao -eject -verbose *.cdr
Sur mon système, les deux modes semblent écrire chaque piste par-dessus la précédente en mode disc-at-once (dao, solution 1 et 2), et fait des sautes de vitesse en track-at-once (tao, solution 3). Bon, mon graveur a des soucis...
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.