Howtos GNU/Linux .: kozaki :. Howtos GNU/Linux

Linux applis : Gravure

Pour toute question générale sur les CD & DVD (, DVD-R, DVD-RAM, DVD-RW, etc.), la gravure de données, de son, les formats, etc., voyez les fiches du guide de la gravure de cdpro.fr.

Applications graphiques

k3bK3b

La référence pour la gravure de CD et de DVD sous Linux attention tres bon programme
k3b est un must : ce logiciel de gravure polyvalent pour KDE fait tout : transcodage audio/vidéo, CDs audio, CDs audio et vidéo auto-bootables, Lightscribe bientot... bref, le bonheur ! Il supporte la gravure de CD-R(W), DVD-R(W) et DVD+R(W), le formatage, la copie, etc.
De nombreux codecs d'encodage sont disponibles (comme pour Nero) dont Ogg-Vorbis & Monkey Audio

Retours d'expérience

Première expérience de gravure sous Linux

k3b : lancement gravureLa gravure c'est pas compliqué sous linux... yaisse 2
"Ça faisait longtemps que je repoussais ma premiere gravure sous nunux parce que j'avais lu qu'il fallait mapper son lecteur ide en scsi tout ca, plein de trucs compliqué ... mais ce soir ya vraiment trop de photos numeriques sur le DD...il faut que je grave tout ce beau bordel et comme j'ai planté la partoche win depuis un moment et n'ai pas envie de la reinstaller...
Bon, ma conf...mandrake 9.1 / xfce4 et un graveur a 300frs .... euh... 45euros !
Je lance konqueror, bouton droit sur le repertoire photo, je lance K3b, je clique "burn"... et ... 5 mn apres c'est fini...j'en suis presque decu :-) tellement ca marche bien.
Demain je vais pouvoir me la jouer geek au taff ! hey, je grave sous linux moi
he he !
(Posté le mercredi 30 juillet 2003)

Avant d'utiliser k3b la premiere fois ou apres une mise-a-jour matérielle (voire logicielle), lancez en root :
k3bsetup (jusqu'à k3b v1.0, après ce n'est plus nécessaire) et vérifiez que votre graveur est bien détecté. Puis quittez root et lancez k3b normalement.

Et voici quelque chose que le développeur de K3b voudrait que vous considériez avant d'écrire un rapport de bogue :

K3b est encore beta, donc veilliez a toujours utiliser la derniere version,
RTFMLisez INSTALL
Lisez la FAQ.

Configuration de k3b

k3b configuration des peripheriquesPériphériques de lecture / gravure


k3b configuration des programmesProgrammes de gravure et de transcodage (c'est là qu'on voit si emovix est activé)


k3b configuration des pluginsPlugins audio


k3b : Homepage

Autres applications graphiques

Tous ces programmes utilisent les puissants programmes de gravure : wodim, mkisofs, growisofs etc. (voir ci-dessous), sauf Nerolinux.

Résolution de certains soucis de gravure : droits, activer le DMA, ...

k3b lancé en utilisateur n'affiche pas tous les lecteurs/graveurs
Solution : ça peut etre un question de droits simple à résoudre :
  - Faites un ls -l /dev/hd* (ou /dev/sd* pour des périphériques Sata) et voyez à quel utilisateur et quel groupe appartien(nent) votre (vos) graveur(s).
  - Sur l'exemple ci-dessous on voit que mes graveurs appartenaient à "root" et "cdrom"... Mais mon utilisateur lui, appartient au groupe "cdwriter" (par défaut sous Mandriva ; adaptez à votre distro). Je change donc le groupe de mes 2 périphériques graveurs avec la commande chgrp cdwriter /dev/hdc (et hdd).   - Après quoi k3b voit bien mes 2 graveurs :)

Changer les droits sur les graveurs /dev/hdc et hdd
Problème : la vitesse de gravure est super lente (<2X pour un DVD-R 16X par ex.)
Solution : Attribuer les droits suid-root à cdrecord/wodim d'une façon sûre.
Pour celà :
  - loggez-vous dans une console en root (ou ouvrez un explorateur de fichiers en root si vous tenez à la couche graphique)
  - Donnez l'accès en mode root à wodim aux utilisateurs du groupe "cdburners" (ou "cdwriter", etc. : affichez /etc/group pour connaître le bon groupe) si ce n'est pas déja fait :
  chown root:cdburners /usr/local/bin/wodim
  chmod 4710 /usr/local/bin/wodim
  les droits suid-root sont visibles par le "s" comme ceci (avec ls -l /usr/local/bin/wodim) :
  -rws--x--- 1 root cdwriter 409352 mar 20 11:03 /usr/bin/wodim* (ici sous Mandriva 2007.1 Spring).
Répétez éventuellement pour mkisofs (ou son successeur genisoimage - extrait du man : "genisoimage may safely be installed suid root. This may be needed to allow genisoimage to read the previous session when creating a multi-session image.")
Plus d'explications dans README.suidroot (chez moi dans /usr/share/doc/cdrkit-1.1.2/READMEs/, et avec man wodim bien entendu.
Pas de DMA avec un noyau récent (2.6.2x) sous Debian, Fedora, Mandriva, Ubuntu, etc.
Vous avez une carte mère avec chipset Intel ICH7 ; solution ici : Enable DMA on your DVD/CD drive, repris sur Make Linux happy with a modern laptop's CD/DVD drive ; rapports de bug Mandriva ici : DMA cannot be enabled on IDE cdrom on ICH7 chipset & là DMA not automatically enabled on IDE drives by default
Pour un soucis de DMA avec toute autre carte mère (ASRock par exemple) ce topic présente les 3 solutions possibles (l'une ou l'autre résolvant le problème sur tous les PCs où j'ai eu ce soucis :) Mandriva 2008.0 + k3b problem. Voir aussi K3B/DMA issue, 2008 One "live" boot problems : libata issue ?. J'ai lancé un topic en français sur ce problème ici (Mandriva 2008) : Impossible activer DMA sur medias IDE MDV 2008: & vous ?

lightscribeLabelleur Lightscribe pour Linux

Début 2006, LaCie annonçait la sortie de leur solution de gravure complète avec Lightscribe pour Linux (au passage, Bye-bye NeroLinux, qui ne le supporte toujours pas bien que payant !)

Le LightScribe s'affine - matbe 10/09/2007
La technologie LightScribe s'améliore peu à peu ; Depuis 2008, elle permet d'affiner le rendu tout en conservant la même vitesse d'impression. C'est Hewlett Packard, créateur de cette technologie, qui a publié de nouveaux pilotes permettant d'améliorer la résolution. Ces nouveaux pilotes LightScribe sont compatibles avec Windows 2000/XP/Vista, Mac OSX et Linux.

Lightscribe : comment ça marche ?
Le laser d'un graveur CD/DVD compatible LightScribe concentre un léger faisceau sur la couche recouvrant le dessus du média. Cette couche est spécifique aux médias LightScribe (un logo "LightScribe" figure sur le média).
La lumière du laser provoque une modification chimique de la couche lightscribe, et y grave le texte et les images choisies pour ce label.
Voyez LightScribe sur wikipedia, lightscribe.com ou Droppix pour plus d'infos.

Un test de rendu d'une gravure lightscribe avec 1 et 2 passages intéressant (photos)

Note : LaCie supporte le dévelopment de K3b depuis quelques années. La compagnie désirait y inclure directement LightScribe et supporter ainsi le développement de ce projet Open-Source, mais des soucis de licence l'en empêchent à ce jour. C'est pour cela qu'ils ont sorti une solution de labellisation LightScribe sous Linux, propriétaire mais gratuite : 4L.
Les utilisateurs de plusieurs distros Linux peuvent donc maintenant graver le dessus de leurs CDs/DVDs lightScribe depuis les 2 applications, indépendantes de K3B, décrites ci-dessous.
Source : www.k3b.org. La news est détaillée sur Lacie.

Téléchargement des composants système LightScribe Host & System Software

Ajoute le support lightscribe à votre système. Requis pour utiliser l'une ou l'autre des applications ci-dessous.

Disponible sous forme de package sur de nombreuses distributions. Le cas échéant, téléchargez la dernière version (.deb & .rpm) sur
  - le site de LaCie ;
  - le site de LightScribe. Lightscribe System Software est équivalent au Host de Lacie, et plus récent (08/2008).

Applications utilisateur

4L for Linux

4L permet de graver sur le disque une image (jpg, gif, png ou bmp) pré-éxistante ; pour le moment ça demeure spartiate (comparé à Droppix sous Windows par exemple!).
Lors de sa sortie, LaCie indiquait que 4L a été validé sous Linux Mandriva, Fedora Core, SuSE ,et Ubuntu. Il devrait tourner sur toute distribution Linux x86 (_32 & _64) utilisant le noyau 2.6.nn & .RPM ou .DEB (Le support pour les distributions n'utilisant ni rpm ni deb comme Arch Linux est nul depuis 2006 jusqu'aujourd'hui (2009) : segfault systématique !).

Lightscribe Lacie for Linux

Téléchargement de la version LaCie (pas de MÀJ depuis 2007) : LaCie LightScribe Labeler for Linux
attention tres bon programme Installez LightScribe Host Software avant 4L.

LightScribe SimpleLabeller

Lightscribe propose à son tour un logiciel de gravure pour médias lightscribe : LightScribe SimpleLabeler. Ce dernier est complémentaire à 4L en ce qu'il permet de graver rapidement (~ 2') un label texte avec une déco (9 modèles fournis, modifiable assez facilement). Il est parfait pour labeliser des disques (titre et sous-titre) sans graphisme élaboré, et est MÀJ régulièrement (été 2009 à ce jour).

LightScribe SimpleLabeller pour Linux

Après installation du rpm, l'application Lighscribe est située dans le répertoire /opt/lightscribeApplications/. On peut faire un symlink (lien symbolique) vers /usr/bin/ pour le lancer en tapant simplement SimpleLabeller, ou ajoutez-le au menu de votre gestionnaire de fenêtres (Centre de controle de KDE < Bureau < Menu des applications).

Téléchargement de la dernière version : Lightscribe Simple Labeler for Linux.

LightScribe SimpleLabeller pour LinuxAstuces Lightscribe sous Linux

  • Des tas de "covers" ou "labels" lightscribes compatibles Linux sont disponibles @ www.lightscribe.com, gallery.medea.co.u, ...
  • Graver un média lightscribe en image ET texte sous Linux :
      - On peut installer et utiliser 4L & SimpleLabeler, puisqu'ils font 2 choses différentes : LaCie grave une image, & SimpleLabeler du texte et des motifs de décoration (une fonctionnalité très sympa à exploiter pour graver ce que vous voulez).
  • On peut graver un média lightscribe autant de fois qu'on veut : Chaque média indique au graveur lightscribe où commencer la gravure (qui commence toujours au même endroit :-).
      - C'est très utile : au lieu de devoir ajouter le texte avec un programme de dessin, gravez l'image avec LaCie 4L puis ajoutez un titre (et un sous-titre) avec SimpleLabeler.
    Tous les détails grace à Area66 sur ce topic du forum mandrivaclub :)
  • Pour utiliser vos propres modèles personnalisés avec Lightscribe Simple Labeler, copiez le contenu de /opt/lightscribeApplications/SimpleLabeler/content/images/borders/fullsize/ dans un répertoire de votre choix. Vous pourrez ainsi modifier une image (en utilisateur normal). Passez en root & copiez l'image modifiée dans le répertoire /opt/lightscribe/.../fullsize/ en veillant à utiliser un des noms existant ("fs0000N.png"). Lancez SimpleLabeler, et gravez votre image.
  • Remarque : SimpleLabeler ne grave aucun contenu dans un cercle de 6cm au centre du disque (soit pas sur la totalité de la surface "lightscribe").
  • Update : À partir du tuto d'Area66, je grave dorénavant *ce que je veux* avec le seul SimpleLabeler !
    Donc je crée une image de 2773 x 2773 (comme celles présentes dans /opt/lightscribeApplications/SimpleLabeler/content/images/borders/fullsize/) avec Le Gimp à partir d'un modèle de base enregistré au format natif XCF (pour conserver les calques), que j'édite ou complète en fonction du label que je veux graver ;-) J'enregistre au format PNG, et la copie dans le dossier de SimpleLabeler ci-dessus. Quand je lance ce dernier, je choisis mon image, et lui dit de la graver. Hop.
    Pour me simplifier le travail, j'ai édité /opt/lightscribeApplications/SimpleLabeler/content/images/borders/metadata/md00009.xml comme ci-dessous pour que SimpleLabeler m'affiche "My image" :
<?xml version="1.0" encoding="UTF-16"?>
<image>
    <name>My image</name>
    <type>0</type>
    <titleFontColor red="0" green="0" blue="0"/>
    <subtitleFontColor red="0" green="0" blue="0"/>
</image>

consoleGraver en ligne de commande (noyau 2.6.x & +)

Le mode console permet d'utiliser des logiciels particulièrement bien testés, rapides et très légers, à l'opposé des usines à gaz graphiques (qui a pensé Nero 7 ?).
Voici donc un petit pense-bête pour graver avec cdrecord (remplacé progressivement sur les distros par wodim avec les mêmes fonctionnalités depuis 2007), cdrdao et mkisofs pour les CDs, & growisofs pour les DVDs R/RW/RAM

Remarque : À partir du noyau 2.6.x il n'y a plus besoin d'émulation SCSI, les périphériques IDE sont reconnus et utilisables directement (la nouvelle interface ATAPI du noyau gère les périphériques ATAPI directement :)
Détail et quelques commandes utiles sur cette page

Les programmes de gravure en ligne de commande

  • CDRecord / CDRtools. cdrecord est remplacé sur de nombreuses distros par son successeur libre, wodim. wodim s'utilise avec les mêmes commandes que cdrecord ;)
  • À partir de 2007 cdrkit/wodim remplace progressivement cdrtools/cdrecords. Mêmes fonctionnalités et principales options identiques.
      cdrkit est une suite de programmes pour CDs & DVDs (effacer les CD-RW media, créer des images au format standard ISO-9660, extraire le contenu des CD audio, etc. C'est un fork sous licence GPL des programmes de la suite cdrtools développée par le "facétieux" Joerg Shilling, dont il reprend l'interface : la compatibilité avec les programmes de cdrtools 2.01.01a08 est donc garantie, au moins pour le proche futur. wodim ("write optical disk media") remplace cdrecord afin d'éviter toute confusion. Ainsi les applications utilisant ces programmes comme les graveurs GUI, sont en mesure d'utiliser cdrkit en substituant simplement wodim à cdrecord.
      Si vous disposez de cdrkit, vous pouvez remplacer 'cdrecord' par 'wodim' dans les exemples de commandes ci-dessous.
      - Nouvelle & discussion
      - Page officiellle de cdrkit
  • cdrtools guide d'installation
  • Si vous avez un Windows il existe un portage de cdrdao, burnatonce, disponible pour Windows. Son interface ultra simple, rapide & sans lourdeur fait l'essentiel ; il est à essayer d'urgence pour ceux qui en ont marre d'avoir un logiciel de gravure qui vous compresse vos films, vous dit la météo... et accapare toute la RAM qu'il peut trouver :)).
  • Petit manuel de gravure CD sous LINUX ou FreeBSD (10/2004) par Jean-Marc LICHTLE (ne tient pas copte des changements apportés par le noyau 2.6.x malgré la date :(

Obtenir des informations sur le graveur et sur le média

Détection des graveurs disponibles

Clair et simple avec wodim :
wodim --devices

wodim: Overview of accessible drives (2 found) :
-------------------------------------------------------------------------
 0  dev='/dev/hda'      rwrw-- : 'HL-DT-ST' 'DVD-RAM GSA-H20L'
 1  dev='/dev/hdb'      rwrw-- : 'HL-DT-ST' 'CD-RW GCE-8520B'
-------------------------------------------------------------------------

Connaitre l'adresse SCSI de son graveur ATAPI (IDE)

On peut dorénavant utiliser la notation "/dev/[périphérique]", ex : eject /dev/dvd0.
Cependant si vous préférez utiliser la notation SCSI habituelle, faites comme ceci :
  cdrdao scanbus :

2,0,0 : Optiarc , DVD RW AD-7191S , 1.01
    3,1,0 : HL-DT-ST, CD-RW GCE-8520B , 1.03

Ou : $ cdrecord (dev=ATA) -scanbus
qui renvoit les périphériques optiques dans l'ordre où ils sont connectés sur la carte mère (hdc, hdd, etc.). Résultat avec un graveur NEC (hdc) et un lecteur Pioneer (hdd) :
  1,0,0bus utilisé pour la gravure 100Device (périphérique)) '_NEC' 'DVD_RW ND-3520A' '1.04Version du firmware installé' Removable CD-ROM
 1,1,0bus utilisé pour la gravure 101Device (périphérique)) 'PIONEER' 'DVD-ROM DVD-106' '1.22Version du firmware installé' Removable CD-ROM

  Ce sont les 2 noms SCSI qu'on peut utiliser.
  Exemple: éjecter votre CD situé dans le graveur /dev/hdc : $ cdrecord -eject dev=ATA:1,0,0

Obtenir les infos sur le média

$ cdrecord -atip dev=ATA:1,0,0. Resultat :

Supported modes: TAO PACKET SAO SAO/R96R RAW/R96R
ATIP info from disk:
    Reference speed: 6
    Is erasable
    Disk sub type: High speed Rewritable (CAV) media (1)
    speed low: 4 speed high: 8
Manufacturer: INFODISC Technology Co., Ltd

$ cdrdao disk-info --device ATA:1,0,0 (adresse déduite de cdrecord, ou en lancant 'cdrdao scanbus'). Resultat :

CD-RW                : yes
CD-R medium          : INFODISC Technology Co., Ltd.
                        Long Strategy Type, e.g. Cyanine
Recording Speed      : 0X - 8X
CD-R empty           : no

Soit pas mal d'infos disponibles, comme les vitesses de gravure supportées, le fabriquant réel de votre CD/DVD & si le média est vide ou non ;)

Débloquer le graveur

Si pour une raison ou pour une autre le graveur ne repond plus a aucune commande, renvoie des messages d'erreur et refuse de s'ouvrir meme en appuyant sur le bouton d'ejection, alors vous pouvez utiliser cdrdao pour le réinitialiser :
cdrdao unlock --device x,y,z.

CDRoms

Effacer un CD-RW

avec cdrecord / wodim

cdrecord dev=ATA:x,y,z blank=fast, ce qui lancera un effacement rapide du disque (il efface notamment la TOC, la PMA et les marques d'intervalle entre pistes, ce qui est generalement suffisant). Pour effacer completement le disque, il faut remplacer l'option fast par all.

cdrdao peut effacer un cdrw illisible par wodim

Si wodim refuse de graver ou d'effacer un cdrw et affiche un message d'erreur comme celui-ci :

Errno: 0 (Success), test unit ready scsi sendcmd: no error
    CDB:  00 00 00 00 00 00
    status: 0x2 (CHECK CONDITION)
    Sense Bytes: 70 00 02 00 00 00 00 0E 00 00 00 00 3A 00 00 00
    Sense Key: 0x2 Not Ready, Segment 0
    Sense Code: 0x3A Qual 0x00 (medium not present) Fru 0x0
    Sense flags: Blk 0 (not valid)
    cmd finished after 0.000s timeout 40s
    wodim: No disk / Wrong disk!

Essayez d'effacer le cdrw avec crdao :
$ cdrdao blank --device /dev/[votre_graveur]
puis retentez la gravure avec wodim.
Cette méthode fonctionne ici avec des cdrw Omega "Ultra High speed Rewritable media" (16 / 24x), Manuf. index: 40, Manufacturer: INFODISC Technology Co., Ltd.

Copier un CD

Un CD data à la volée

On peut TB copier un CD directement sur un matériel relativement récent (moins de 4 ans) avec 2 lecteur/graveur, càd. à la volée ou "on-the-fly" sans passer par la création d'une image iso (dans le doute faites un essai sur un RW).
La commande cdrdao copy --source-device b,c --device ATA:x,y,z --on-the-fly suffit.
  --source-device : device (bus) du lecteur (obtenu avec 'cdrecord -scanbus')
  --device : périphérique graveur (idem)
  --on-the-fly : à la volée.

On peut préférer le faire avec cdrecord :
cdrecord -v -isosize speed=4 dev=1,0,0 /dev/votre_lecteur_cd
  -isosize est l'option intéressante ici.
  overburn voir ci-dessous.

Un CD audio à la volée

Même commande :
cdrdao copy --source-device b,c --device ATA:x,y,z --on-the-fly

par contre si on ne possède pas de lecteur de CD, il faut passer par le disque dur.
La commande cdda2wav -B -D /dev/cdrom permet l'extraction des pistes en fichiers wav dans le répertoire courant (pas celui qui courre, celui d'où on lance la commande ;).
Il suffit ensuite de graver les fichier wav obtenus, en mode DAO :
cdrecord -v -dao -speed=s -dev=ATA:x,y,z -useinfo -audio_*.wav
L'option -dao permet d'éviter les 2 secondes de blanc entre les pistes audio.

Copier un CDrom (ou un DVD) avec dd

Créez une image ISO d'un CD ou DVD avec :
dd if=/dev/cdrom of=disk.iso ou cp /dev/cdrom > disk.iso suffisent.

Pour copier a la volée en ligne de commande :
dd if=/dev/cdrom bs=2048 | cdrecord -v dev=0,3,0 speed=N (non testé)

Overburning avec cdrecord / wodim

L'option -overburn autorise cdrecord à écrire plus que la taille officielle du média. Cette fonctionalité n'est pas supportée officiellement : testez-là sur votre matériel et notez les types de média qui la supportent (résultats variables !).

Avec cette option, cdrecord peut utiliser la marge existant entre la taille officielle de la zone 'lead-out' (90 sec sur un CD) et le fait que les disques fonctionnent habituellement avec une zone 'lead-out' de 2 sec : tous les médias devraient ainsi accepter un overburn de 14 Mo (88/6=4800/700) ou 6600 sectors.
Notez que la plupart des graveurs autorisent l'overburning uniquement en mode SAO ou RAW. Certains le limitent, sauf en mode RAW.

Exemple de commande :
cdrecord dev=/dev/hdd -v -sao -overburn speed=8 gracetime=2 driveropts=burnfree -eject dsl-3.2.iso
À l'instant même je viens de graver avec succès l'image de Damn Small Linux (49 Mo) sur un CD-R business card censé pouvoir contenir 43 Mo iorili

Images ISO, BIN & NRG(CD / DVD)

Lire une image iso sur le DD comme si c'était un vrai cd rom

Par exemple pour en vérifier le contenu (en root) :
# mount image.iso -t iso9660 -o loop /mnt/iso (créez le répertoire /mnt/iso si besoin). Vous pouvez maintenant explorer et ouvrir le contenu de votre image ISO comme si elle était sur un CD ou DVD. umount /mnt/iso démonte l'image du système de fichiers.

Celà nécessite le support Loopback Device Support dans le kernel, ce qui est fait sur la plupart des distributions. lsmod | grep loop vous dira si le module est présent.

Les logiciels suivants permettent de monter les images graphiquement en 2 clics : kiso (KDE), Nautilus actions et Gmount-iso. Détail :
Lire le contenu des images ISO, BIN, ... sous Linux sans avoir à les graver (cd virtuel, équivalent de daemon tools sur Windows).

Édition d'images .ISO

Créer, consulter, modifier et recréer l'image ISO d'un cd

Expliqué en français et tout simplement ici http://linux.jpvweb.com/mesrecetteslinux/doku.php?id=images_iso_cd

poweriso

PowerISO pour Linux est un utilitaire propriétaire gratuit capable d'extraire, lister, et convertir des images CD/DVD (incluant ISO, BIN, DAA, et d'autres formats formats).

ISOMaster

Éditeur d'images disque GTK+.
"ISO Master est un éditeur d'images CD open-source, facile à utiliser et graphique.
Il peut extraire les fichiers d'une image .ISO, y ajouter des fichiers, et créer des ISO bootables --tout en interface graphique.
Il sait ouvrir les images ISO & NRG et ne peut sauver qu'en ISO.
"
Site internet : http://littlesvr.ca/isomaster/

Autres
  • cdemu permet de monter des fichiers BIN/CUE.
  • Le paquet all2iso contient plusieurs utilitaire de conversion :
    - b5i2iso : convertir image B5I en ISO
    - bin2iso : convertir image BIN en ISO
    - ccd2iso : convertir image CCD en ISO
    - cdi2iso : convertir image CDI en ISO
    - mdf2iso : convertir image MDF en ISO
    - nrg2iso : convertir image NRG en ISO
    - raw2iso : convertir image RAW en ISO
    Pour les installer il faut, soit utiliser votre gestionaire de packages (installation un par un), soit récupérer all2iso et être équipé du compilateur gcc : aller dans le répertoire all2iso/ et compilez les binaires du ou des utilitaires que vous voulez :
    exemple avec bin2iso : gcc -o bin2iso bin2iso.c va remplacer bin2iso en exécutable.
    Usage de bin2iso (toujours dans le répertoire all2iso : on peut créer un lien symbolique depuis /usr/local/bin vers ces fichiers) : ./bin2iso image.bin image_crée.iso
    Merci à jerhum de jeuxlinux.fr pour ces précieuses informations !
  • How To Convert CUE/BIN, NRG, IMG, MDF Files to ISO Files on Ubuntu Linux, avec bchunk (CUE/BIN -> ISO), ccd2iso (IMG -> ISO), mdf2iso (MDF -> ISO) and nrg2iso (NRG -> ISO).

Vérifier un CD / DVD gravé

S'il est facile de vérifier un fichier .ISO téléchargé en utilisant md5sum ou sha1sum, comment vérifiez-vous un CD ou un DVD que vous avez gravé ? J'ai eu plus d'une fois la surprise de découvrir que tel ou tel fichier d'un DVD gravé ne "passait" pas, provoquant une erreur d'entrée/sortie. C'est donc avec plaisir que j'ai découvert comment vérifier l'exactitude d'une gravure avec md5sum (sou sha1sum) et le nombre de blocs ou "extents".

Requis

  • Image ISO du ou des fichiers gravés
  • Utiliser cdrecord, wodim ou growisofs

Comparer des données à graver avec celles gravées sur le média

C'est facile pour le(s) fichier(s) à graver :

mkisofs

$ mkisofs -J -l -R -V "sauvegarde_jan_2009" -o sauvegarde_jan_2009.iso /repertoire/a/sauvegarder/
Affiche qqch comme ça :

Total translation table size: 0
Total rockridge attributes bytes: 39644
Total directory bytes: 71018
Path table size(bytes): 142
Max brk space used 42000
169383 extents written (330 MB)

Le dernier chiffre est le nombre d'extents (ou blocs ou secteurs) qui ont été écrits sur l'image.

cdrecord, wodim et growisofs

Ces 3 programmes indiquent également le nombre d'extents / blocs écrits :
$ growisofs -Z /dev/dvd=sauvegarde_jan_2009.iso :

builtin_dd: 169392*2KB out @ average 4.

Ce nombre est le combre de blocs de données de l'image ISO. growisofs (et autres) écrit aussi d'autres données sur le média, par exemple quand il clot la session de gravure etc. Donc, il faut prendre uniquement en compte uniquement les premières. C'est pourquoi le calcul simple de la somme de contrôle d'un média comme : $ dd if=/dev/hdc | md5sum ne peut fonctionner.

Trouver le nombre de blocks d'une image ISO

On peut utiliser le nombre noté lors de la création de l'image avec mkisofs (ou genisoimage), ou le calculer (blocs d'une taille de 2048 bytes) à partir de l'image avec ls et awk :
$ echo $(( $(ls -l sauvegarde_jan_2009.iso | awk '{ print $5 }') / 2048 ))
169383

Calculer le nombre de blocks d'un CD ou DVD

$ dd if=/dev/sr0 bs=2048 count=169383 | md5sum

169383+0 records in
169383+0 records out
cc363de222ba6fe7455258e72b6c26ca  -

Ce qui nous donne le nombre de blocs, et la somme md5 (ou sha1 en remplaçant md5sum par sha1sum) !

Exemple sur une image ISO

$ ls archlinux-2008.08-froscon/

archlinux-2008.08-froscon.iso
archlinux-2008.08-froscon.md5sum.txt

$ echo $(( $(ls -l archlinux-2008.08-froscon.iso | awk '{ print $5 }') / 2048 ))
345426

$ md5sum -c archlinux-2008.08-froscon.md5sum.txt
archlinux-2008.08-froscon.iso: OK

Gravure de l'image ISO (on notera le nombre de blocs/secteurs écrits sur le CD) :
wodim dev=/dev/sr1 -v -blank=fast -tao speed=8 gracetime=2 driveropts=burnfree -eject archlinux-2008.08-froscon.iso

Track 01:  674 of  674 MB written (fifo 100%) [buf 100%]  24.8x.
Track 01: Total bytes read/written: 707432448/707432448 (345426 sectors)

dd if=/dev/sr1 bs=2048 count=345426 | md5sum

dd: lecture de `/dev/sr1': Erreur d'entrée/sortie
98306010dc7b944514abcf7ae1bb1dc3  -
345400+0 enregistrements lus
345400+0 enregistrements écrits

La gravure a échoué : c'est le média, un CD-RW, qui est abîmé !

Source : Verify a burned CD/DVD image on Linux

Graver les images .ISO, .BIN, .NRG et CloneCD

Images *.iso

Une seule commande est nécessaire :
cdrecord -v -speed=N -dev=ATA:x,y,z -data /chemin_vers/image.iso (ou wodim)
que je préfère affiner genre :
cdrecord -v -gracetime=2 -speed=N -dev=ATA:x,y,z -dao -driveropts=burnfree -eject -data image_DATA.iso
Un mot sur les options :
  -v : active le mode "bavard" pour avoir le max d'infos pendant la gravure)
  -speed=N : vitesse de gravure souhaitée (sinon, cdrecord essaye de lire la vitesse supportee par le CD-RW, et l'appliquera)
  -dev=ATA:x,y,z : l'emplacement du graveur (voir cdrecord -scanbus dev=ATA)
  -data : format 'CD-ROM mode 1' (aussi appelé Yellow Book), pour les images ISO ('man mkisofs' donne les détails).
  -driveropts=burnfree : active le support des technologies "Buffer Underrun" lors de la gravure (uniquement pour les graveurs le supportant). Technologie aussi appellée Sanyo BURN-Proof, Ricoh Just-Link, Yamaha Lossless-Link, etc.
  -dao : pour éviter les 2 secondes de blanc entre les pistes si c'est un CD audio
  -overburn voir ci-dessous.

Images .bin/.cue

Type d'image obtenu avec des logiciels fonctionnant sous Windows tels que CDRWin.
Les images bin sont accompagnés d'un fichier portant l'extension cue, qui contient la table des matières de l'image.
Pour graver un fichier .bin + .cue, il suffit que les 2 fichiers (.bin et .cue) soient dans le même répertoire, et d'utiliser le nom du fichier .cue pour graver avec votre logiciel de gravure préféré :
cdrdao write --device ATA:x,y,z --speed N /chemin/fichier.cue.

Pour convertir une image .bin/.cue en .ISO, utilisez :
  - soit bchunk http://imaginux.com/roadtolinux/dotclear/index.php?2006/04/30/103-conversion-bin-cue-iso, qui sait convertir des .bin/.cue en images .iso. http://brandonhutchinson.com/wiki/index.php5?title=Converting_.bin/.cue_to_.iso_with_bchunk
  - soit cdd2iso http://sourceforge.net/projects/ccd2iso/. Il permet de convertir les images clone cd en iso. Il peut aussi générer une .iso à partir du ccd+bin pour le graver (ou le monter) comme une autre image disque.
  - soit ccd2iso, disponible sur http://ccd2iso.sourceforge.net/. Utilisation : ccd2iso [.img filename] [.iso filename]

Images Nero (.nrg)

Type d'image générée avec le logiciel Nero.
On les convertit aisément au format ISO avec le programme nrg2iso, & ainsi la monter ou/et la graver.

Faire une image ISO de dossiers & fichiers avec mkisofs

  mkisofs -v -R -r -J -V "nom_du_cd" -o image.iso /rep où /rep est le répertoire dans lequel se trouvent les fichiers et les sous-répertoires à placer dans l'images.
Options :
  -o : Où placer l'image (ici l'image sera créée dans le répertoire courant avec le nom "image.iso")
  -J : active l'extension Joliet pour les noms longs sous Windows
  -R : permet de conserver les noms longs et les extensions sous GNU/Linux (extension Rock Ridge)
  -P : nom de l'éditeur
  -p : nom du préparateur
  -r : permet de rendre l'image lisible par tous malgré la conservation des permissions (-R)
  -V : permet de donner un nom de volume
  -no-bak : exclut tous fichiers de sauvegarde (contenant '~' ou '#' ou '.bak')
  -m : exclure un ou des fichier(s) Ex : -m '*.ext' -m /rep/file1 -m /rep/file2
  -x : pareil mais pour un ou des repertoire(s)

On peut ignorer les eventuels messages du type :
Using FICH000.TXT;1 for /home/copie/fichier.txt~ (fichier.txt)

DVDs

Les outils ci-dessous fonctionnent pour les formats de DVD : DVD-R, DVD-RW, DVD+R, DVD+RW & DVD-RAM cool
Note : Les commandes pour CD ci-dessus peuvent être aussi utiles avec les DVDs, sauf cdrecord / wodim.

Informations sur un DVD inséré

dvd+rw-mediainfo /dev/dvd (ou /dev/hdc etc.) et c'est tout :

INQUIRY:                [HL-DT-ST][DVD-RAM GSA-H20L][1.00]
GET [CURRENT] CONFIGURATION:
 Mounted Media:         1Ah, DVD+RW
 Media ID:              INFODISC/A10
 Current Write Speed:   4.0x1385=5540KB/s
 Write Speed #0:        4.0x1385=5540KB/s
 Speed Descriptor#0:    00/2295103 R@8.0x1385=11080KB/s W@4.0x1385=5540KB/s
READ DVD STRUCTURE[#0h]:
 Media Book Type:       92h, DVD+RW book [revision 2]
 Legacy lead-out at:    717120*2KB=1468661760
READ DISC INFORMATION:
 Disc status:           complete
 Number of Sessions:    1

: j'utilise le graveur LG GSA-H20L avec le firmware 1.00, avec un DVD+RW (Phillips) dont le véritable constructeur est Infodisc, capable de graver à 4x ou 5540 Kb/sec ; la dernière session de gravure est complète, càd. finalisée (et non multi-session).

Graver une image ISO sur un DVD

Pour un DVD de données il suffit de faire :
growisofs -Z /dev/dvd0=image.iso avec un kernel 2.6.x. et plus (/dev/dvd0 est le graveur de DVD connecté en ma^itre sur le contrôleur secondaire), et :
growisofs -Z /dev/scd0=image.iso avec un kernel jusqu'au 2.4.x.
Graver l'image iso d'un DVD vidéo :
growisofs -dvd-compat -Z /dev/dvd0=image.iso
-dvd-compat : Provide maximum media compatibility with DVD-ROM/-Video. In write-once DVD+R or DVD-R context this results in unappendable recording (closed disk). In DVD+RW context it instructs the log ical unit to explicitly burn [otherwise optional] lead-out.
Note : pour faire l'image ISO d'un DVD vidéo, lancez :
mkisofs -dvd-video -o image.iso /mnt/dvdrom

Graver des fichiers et répertoires avec les dvd+rw-tools

growisofs -Z /dev/graveur_dvd -R -J fichier_a _graver pour graver.
growisofs -M /dev/graveur_dvd -R -J fichier_a _graver pour ajouter à une gravure existante (multisession)
growisofs -Z /dev/dvd0 -R -J /ou-sont-les/fichiers avec un kernel 2.6.x
Ou cd le_répertoire_où_se_trouvent_les_fichiers_a_graver & growisofs -Z /dev/scd0 -R -J ./ avec un kernel 2.4.x
-M : Ajoute le(s) fichier(s) ("append") ;
-J : format Joliet ;
-R : format RockRidge.
L'image iso est générée en meme temps qu'elle est gravée, économisant ainsi de l'espace disque et du temps. On peut ainsi graver un DVD contenant 5 ou 6 DivX & passer ensuite sur le lecteur de DVD DivX du salon. Ca marche parfaitement, j'ai testé :-)
man growisofs pour voir toutes les options possibles (compatibilité, overburn, etc..)

copier un DVD vidéo

Ici, le principal soucis est de passer la quantité voulue des données du DVD original (éventuellement double-couche 8,5 Go) sur un DVD-/+R de 4,7Go. On y parvient à l'aide des outils streamanalize et streamdvd.

  1. Récupération des informations :
    tcprobe -i /dev/dvd0
    bien sûr on suppose que le lecteur est /dev/dvd0 et que le DVD original est bien inséré dedans. Cette commande donnera des informations sur la structure du DVD : titres, chapitres, langues etc.
  2. Détermination du facteur de réduction :
    streamanalyze -i /dev/dvd0 -t 1
    On conserve la ligne "factor" : le chiffre indiqué (ici 1.191) est le facteur de réduction à appliquer pour pouvoir recopier le titre "1" sur le DVD-R :-)
  3. Extraction :
    dvdauthor -t -o movie -f 'streamdvd -i /dev/dvd0 -f 1.191 -t 1 |'
    dvdauthor -T -o movie
    ceci va extraire le titre "1" du DVD original en appliquant un facteur de réduction de 1.191 et créer la structure du nouveau DVD dans le répertoire "movie". D'après l'auteur de streamdvd, un facteur de réduction > 1.5 diminue de façon notable la qualité du nouvel enregistrement. je n'ai pas essayé mais je pense qu'on peut lui faire confiance :-)
    On peut répéter l'opération sur d'autres titres du DVD, ne choisir que les pistes audio d'une langue en particulier, etc .... voir les options de streamdvd.
  4. Gravure :
    growisofs -Z /dev/dvd0 -dvd-video movie
    crée & grave dans la foulée une image udf compatible DVD-video.

Effacer un DVD RAM : dvd+rw-format /dev/dvdrom

La plupart du temps inutile, car réalisé automatiquement avec l'option -Z. Si on veut quand même le faire, alors :
growisofs -Z /dev/graveur_dvd=/dev/zero
Sachez toutefois que ça ne formatte pas le média (man growisofs) :
"Note that DVD+RW re-formatting procedure does not substitute for blanking. If you want to nullify the media, e.g. for privacy reasons, do it explicitly with : growisofs -Z /dev/dvd=/dev/zero"

Pour effacer un DVD RAM : dvd+rw-format /dev/dvdrom

Copier un DVD avec dd

Voir ci-dessus "Créer une image ISO d'un CD ou CVD"

Se fabriquer son propre soft de gravure

à l'aide de simples fonctions.code, qu'on appelle d'un mot en ligne de commande (détails chez jipe)

Conclusion sur la gravure en ligne de commande

he he ! Toutes les interfaces graphiques (comme K3B, XCDRoast, etc.) sauf NeroLinux utilisent ces programmes (plus d'autres, pour l'audio et la vidéo) pour réaliser les opérations demandées...

Sources et remerciements

CD / DVD multimédia auto-bootable

k3b eMovix : lancement gravureeMoviX

Auteur originel : Roberto De Leo, traduit par Vincent Carriere et par Pascal Giard.

Booter sur un CD ou DVD multimédia indépendemment de tout OS

eMoviX est une ultra-mini-distribution Linux permettant de démarrer et jouer automatiquement tout les fichiers vidéos présents a la racine du CD, sans démarrer un seul OS !
Les formats supportés sont tous les formats supportés par mplayer, par exemple les DivX & XviD mais plus généralement les AVI, MPEG, WMV, ASF, FLI, mp3, Ogg et quelques autres =o)

Si des sous-titres sont placés a la meme position et avec le meme nom que les vidéos (c-a-d film.avi et film.sub) alors les sous-titres seront affichés automatiquement. Et il en est de meme de la ou des listes de lecture (formats ASX, LIST ou TXT).

En d'autres termes, en plaçant des fichiers vidéos sur un CD/DVD eMoviX, on a non seulement le(s) film(s), mais aussi les programmes & codecs nécessaires pour démarrer le PC et les jouer ! Dans ces conditions, même un (très) vieux PC peut jouer des DivX sans (trop) saccader ; Même remarque si le système de votre copine n'a pas les bons codecs, ou est planté...

Bien sûr on peut toujours lire le CD/DVD sur n'importe quel OS (équipé d'un player et des bons codecs). Donc l'unique réserve est qu'emovix utilise ~8Mb sur le CD/DVD.

Un CD eMovix se crée simplement avec :
K3B (Nouveau projet CD ou DVD eMovix) ;
Ou en ligne de commande, avec la syntaxe suivante : mkmovixiso [options]" -o [chemin_vers_l'image_iso] [fichier1] [fichier2] [repertoire], qui crée une image ISO a l'endroit demandé, que vous n'avez plus qu'a graver avec votre logiciel de gravure favori.
Exemple : mkmovixiso -t "Spaceball" --language=fr --keyboard=fr -o spaceballs_emovix.iso Spaceball, qui crée l'image ISO avec tous les fichiers contenus dans le répertoire "spaceball/", et supporte le français pour les messages au démarrage du CD ainsi que les claviers AZERTY.
Vous en apprendrez plus à propos des options de mkmovixiso en tapant "mkmovixiso -h"
Le fichier de configuration d'eMovix ~/.mkmovixisorc est personalisable, comme indiqué dans la documentation fournie ou sur le site eMovix

eMoviX, lecture autonome de DivX par Yann Morere

Excellent article sur http://yann.morere.free.fr/article.php3?id_article=97 :
  1 Introduction
  2 Installation des composants
  3 Génération et gravage de l'image ISO
    3.1 K3b et eMoviX
    3.2 Utilisation de movixmaker-2
  4 Utilisation

Paquet RPM Mandriva

Ici http://rpm.pbone.net/index.php3?stat=3&search=emovix&srodzaj=3.
Fonctionne avec mandriva 2007, 2008 & 2008.1, i586 & x86_64.

Trop cool pour Internet Explorer