[retour au sommaire du site]
Graver sous BeOS avec CDRecord et MkHybrid
[BeOS?] [Tests] [Liens] [Téléchargement]
01. Introduction 
02. Création du fichier image 
03. Graver le CD 
04. Conclusion 
1. Introduction

 
Avant l'arrivée de BeOS R5, il y avait 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. Même Burner, l'application livrée avec BeOS R5, est limité aux CD audios ou, au mieux, grave des images de filesystems déjà préparées.
 
Entre-temps, je me suis aperçu que cdrecord, le programme 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'utilise donc mkhybrid à la place.
 
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.
 
2. 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.
 
3. Graver le CD

 
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érique :
	$ 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.
 
4. Conclusion

 
Il ne faut 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. Je vous recommande à ce sujet WriteCD, un ensemble de scripts écrits par Zach Dykstra qui simplifient grandement l'utilisation de cdrecord et de mkybrid.
 
Enfin, si vous voulez simplement graver des compilations audios, utilisez Burner, le logiciel livré avec BeOS R5.
Haut de la page Fermer cette page