[autres] [texte] [réseau] [gfx] [audio] [tous] cdrecord et mkhybrid
[Sommaire]
Sommaire

[Accueil]
Accueil

[BeOS?]
BeOS...
c'est quoi ?

[Tests]
Tests de logiciels

[Liens]
Liens



Depuis que j'utilise BeOS (pas très longtemps à vrai dire) il y a une catégorie de logiciels qui me faisait cruellement défaut : de quoi graver des CD. Le seul logiciel dans ce genre que j'avais trouvé s'appelle CD Manager, mais il ne grave que des CD audios. Et puis je me suis aperçu que cdrecord, l'utilitaire bien connu sous unix, avait été porté depuis peu sous BeOS. Aussitôt dit aussitôt fait, je récupère l'archive contenant les sources et je compile la bête. cdrecord compile sans l'ombre d'un problème. En revanche, cdda2wav ne compile pas et la version de mkisofs qui figure dans l'archive semble ne pas fonctionner correctement. J'ai du me rabattre sur une ancienne version de mkhybrid à la place. (entre-temps, j'ai patché et compilé la dernière version de mkhybrid. A récupérer sur la page de téléchargement.

Ce document est une petite introduction à l'utilisation de ces deux utilitaires qui vous permettront de graver tout ce qui vous passe par la tête. Ce n'est pas que c'est très compliqué, mais la plupart des personnes sont habituées aux logiciels autrement plus conviviaux que l'on trouve sous Ouindauze ou sur Mac. Ici, il va falloir taper des commandes ! Dernier point, avant de démarrer : si vous ne voulez pas vous lancer dans la compilation de ces programmes, vous trouverez sur la page de téléchargement un package contenant les versions binaires.

Pour graver un CD de données, nous avons besoin de deux logiciels :
  • mkhybrid a pour fonction de générer sur disque une image "prête à graver" à partir d'une arborescence de fichiers.
  • cdrecord grave sur un CD les images préparées avec mkhybrid.
1. Création du fichier image :

Placez les fichiers à graver dans un répertoire unique si ce n'est déjà fait. Veuillez, bien entendu, à ce que la taille globale de ce répertoire ne dépasse pas la capacité d'un CD vierge !

Pour créer l'image, mkhybrid utilise la syntaxe suivante :
	mkhybrid [options] -o image_resultante repertoire_a_graver
					
Pas mal d'options sont disponibles mais les plus importantes à connaître sont les suivantes :
  • -J : génère des noms longs au format "Joliet", c'est à dire celui qui est utilisé sous Ouindauze
  • -r : génère des noms longs au format "Rockridge", utilisé sous UNIX et sous BeOS
  • -g : génère une image ISO avec les noms longs au format utilisé par Apple
  • -h : génère une image compatible avec le système de fichiers HFS du Macintosh
Ces trois options peuvent être cumulées. Mais je ne peux pas trop vous parler du mode Mac car je ne connais pas vraiment MacOS et ses systèmes de fichiers. Prenons un exemple : créer une image de tout ce qui se trouve dans le répertoire /boot/home/graveur avec des noms longs compatibles Ouindauze et unix :
	$ cd
	$ mkhybrid -J -r -o essai.raw ./graveur
	Total extents scheduled to be written = 10532
	47.60% done, estimate finish Sat Nov 13 14:12:54 1999   
					
Au bout de quelques instants (la création d'une image de 650 Mo peut être assez longue.... mkhybrid affiche l'état de l'avancement de l'opération) vous obtiendrez le fichier essai.raw "prêt à graver".

Autres options : mkhybrid propose quelques options pouvant être interessantes.... Pour connaître l'intégralité des options disponibles, reportez-vous à la page de manuel.
  • -a : traitement de tous les fichiers. Sans cette option, mkhybrid écarte les fichiers contenant les caractères "~" et "#". La plupart du temps, sous UNIX, ces caractères sont utilisés pour les copies de sauvegarde.
  • -l : autorise des noms de fichiers jusqu'à 32 caractères au lieu des 8.3 caractères définis par la norme ISO9660. (sans grand intérêt si vous utilisez Ouindauze, BeOS ou UNIX pour lesquels les modes "-J" et/ou "-R" sont plus judicieux)
  • -L : autorise les noms de fichiers commencant par un point. Ca peut être très utile car par défaut le point est remplacé par un "_". Ce mode de fonctionnement par défaut permet d'être compatible avec MSDOS mais peut être gênant sous UNIX et BeOS.
  • -m pattern : spécifie des fichiers à exclure lors de la création de l'image. Par exemple, -m *.bak exclura tous les fichiers ayant "bak" comme extension. Plusieurs occurences de "-m" peuvent être spécifiées.
  • -T : génère des fichiers TRANS.TBL indiquant la correspondance entre les noms ISO (8.3) et les noms de fichiers originels. C'est utile pour les systèmes ne gérant ni le Rockridge ni le Joliet.
  • -x repertoire : spécifier un sous-répertoire à exclure de l'image. Dans notre exemple, -x graveur/tmp aurait préparé une image de tout le répertoire "graveur" sauf tout ce qui se trouve dans "tmp". Comme pour l'option -m, plusieurs occurences peuvent être spécifiées.
2. Graver avec cdrecord :

Tout comme mkhybrid, cdrecord est un logiciel complexe proposant un grand nombre d'options. On se bornera ici à l'option la plus courante : graver une image simple. La syntaxe d'appel est la suivante :
	cdrecord dev=x,y,z [options] nom_de_l_image
					
Le paramètre "dev" doit indiquer "où" se trouve le graveur. On utilise pour cela deux ou trois valeurs : la première indique l'adresse du bus (carte) SCSI. Si vous avez une seule carte, il faudra sans doute mettre "0" ; la seconde valeur indique le numéro de périphérique sur ce bus. Pas de panique, c'est moins compliqué que ça en a l'air, et cdrecord peut vous aider : insérez un CD vierge dans votre graveur et tapez la commande suivante :
	[bebos] ~ $ cdrecord -scanbus
	Cdrecord release 1.8a31 Copyright (C) 1995-1999 Jörg Schilling
	Using libscg version 'schily-0.1'
	scsibus0:
		0,0,0     0) 'IBM     ' 'DCAS-32160      ' 'S65A' Disk
		0,1,0     1) 'HP      ' 'C3725S          ' '4349' Disk
		0,2,0     2) 'YAMAHA  ' 'CRW6416S        ' '1.0c' Removable CD-ROM
		0,3,0     3) *
		0,4,0     4) *
		0,5,0     5) *
		0,6,0     6) *
		0,7,0     7) * 
					
Vous devriez voir votre graveur dans la liste (vous pouvez aussi lancer le programme "SCSIProbe", livré avec BeOS.) La commande "-inq" permet d'obtenir plus d'informations sur un périphétique :
	$ cdrecord dev=0,2,0 -inq
	Cdrecord release 1.8a31 Copyright (C) 1995-1999 Jörg Schilling
	scsidev: '0,2,0'
	scsibus: 0 target: 2 lun: 0
	Using libscg version 'schily-0.1'
	Device type    : Removable CD-ROM
	Version        : 2
	Response Format: 2
	Capabilities   : SYNC
	Vendor_info    : 'YAMAHA  '
	Identifikation : 'CRW6416S        '
	Revision       : '1.0c'
	Device seems to be: Generic mmc CD-RW.  					
					
Si votre graveur est assez récent, cdrecord peut également afficher la liste des différentes fonctionnalités qu'il supporte grace à l'option -prcap.

Parmi les nombreuses options, il y en a au moins trois qui nous intéressent :
  • speed=X : fixe la vitesse de gravure
  • -dummy : mode simulation
  • -v : mode "verbose" affichant plus d'informations.
Avant de graver pour de bon, mieux vaut faire une simulation :
	cdrecord dev=0,2,0 speed=2 -v -dummy essai.raw
					
Une fois la simulation terminée avec succès, il suffit de ne plus spéficier "-dummy" pour graver pour de bon :
	Cdrecord release 1.8a31 Copyright (C) 1995-1999 Jörg Schilling
	(.../...)
	Starting to write CD/DVD at speed 2 in write mode for single session.
	Last chance to quit, starting real write in 1 seconds.
	Starting new track at sector: 0
	Track 01: 154 of 154 MB written.
	Track 01: Total bytes read/written: 161943552/161943552 (79074 sectors).
	Writing  time:  533.166s
	Fixating...
	Fixating time:  121.685s  
					
N'hésitez pas à consulter la page de manuel de cdrecord car ce dernier est capable de beaucoup de choses...! Enfin, vous pouvez utiliser des variables d'environnement pour simplifier la ligne de commande à taper. Par exemple, ajoutez ceci dans /boot/home/.profile :
	export CDR_DEVICE="0,2,0"
	export CDR_SPEED="6"
				
(à adapter à votre configuration bien entendu) Il ne sera alors plus nécessaire de spécifier ces deux paramètres. Pour simuler une gravure, il suffira de taper cdrecord -dummy nom.image et pour graver ce sera encore plus simple : cdrecord nom.image.

3. Conclusion

Ne pas se laisser impressionner par l'apparante complexité de la procédure !!! On prend vite le coup et ça finit par devenir enfantin. De plus, ces outils sont disponibles sous toutes sortes d'UNIX ainsi que sous Ouindauze. Enfin, ils sont gratuits ! Sous UNIX, il existe plusieurs logiciels graphiques qui constituent une interface élégante et conviviale à mkisofs (ou mkhybrid) et cdrecord. Nul doute que ce genre de logiciel pourrait apparaître un jour sous BeOS.

Denis Bourez, 17 novembre 1999.
Modifié le : 17/01/2000 20h37 +0100