Articles précédents : Articles
- [23] UMTS: un de moins !
- [0] laboratoire Linux
- [2] Le brevet sur les brevets !
- [61] Nouveau format de compression vidéo internet
- [12] Sega abandonnerait la dreamcast
- [32] Microsoft Piraté ou FUD Linux ?
- [6] Corel vend les bijoux de famille
- [9] Lolix V4
- [62] A vot'bon coeur!
- [11] Le clonage d'embryons humains autorisé en Angleterre
Note du modérateur: Merci à Lionel, Manu et Soufiane pour cet excellent tutoriel, n'hésitez pas à le lire et relire en cliquant sur l'icone. Bref un gros travail à ne pas louper...
> Lire la suite (22 commentaires, moyenne: 0,5). [dépêche : 14556 caractères]
Graver sous Linux
La gravure sous Linux est une opération simple, néamoins, il se pourrait que le modèle que vous désirez acquérir ne soit pas supporté par Linux, aussi par mesure de précaution il est plus sage de se référer d'abord à la Hardware-HOWTO
Installer un graveur dans une machine est une opération très simple, en effet dans le cas d'un graveur externe il suffit de le raccorder au port adéquat sinon, il suffit de procéder comme pour l'ajout d'une unité de disque c'est à dire ouvrir la machine, repérer un emplacement 5"1/4 de libre, mettre en place le graveur, accorder l'alimentation puis, dans le cas d'un modèle SCSI à la nappe adéquate idem pour un modèle ATAPI
Quelque soit le type de matériel que vous utiliserez, le kernel le considèrera comme un périphérique SCSI. Donc si les options ci aprés ne sont pas incluses dans le kernel, il faudra recompiler votre kernel et les rajouter (comme les montrent les screenshots). Vous pouvez vous référez au README inclu dans les sources du kernel ou à la documentation que l'on peut trouver par exemple chez Lea-Linux Aussi, si votre matériel est en SCSI il vous suffit, à ce niveau d'activer le support de la carte controleur à laquelle ce graveur est raccordé.
Par contre s'il est en ide vous aurez besoin de recompiler votre kernel avec le module scsi-généric comme vous le montre les 2 screenshots suivants:
- http://infonomade.linuxfr.org/tests/graveur/scsi1B.png
- http://infonomade.linuxfr.org/tests/graveur/scsi1.png
- http://infonomade.linuxfr.org/tests/graveur/scsi2B.png
- http://infonomade.linuxfr.org/tests/graveur/scsi2.png
En outre vous devez rajouter append="hda=ide-scsi"
en remplaçant hda par/hdX où X correspond au périphérique IDE associé à votre graveur dans votre
/etc/lilo.conf. Ce qui donne, dans le cas de la machine empi
image=/boot/linuz
label=linux
root=/dev/sda5
append="hda=ide-scsi"
initrd=/boot/initrd-smp.img
read-only
Dans le cas d'un périphérique USB( kernel >= 2.2.18 ), PCMCIA ou sur port Parallèle il vous faut également activer le support adéquat. Ne pas oublier le loopback, pour pouvoir monter un fichier ISO dans l'arborescence.
Passons à la gravure proprement dite, le format de fichier natif des cdroms étant l'iso9660, Il vous faudra d'abord convertir, par exemple de l'ext2 en iso9660 à l'aide de l'outil mkisofs qui peut vous générer votre fichier sur disque ou dans un pipe. Par précaution, dans les exemples qui suivent nous utilisons un fichier disque temporaire ( attention prévoir un espace disque disponible suffisant ).
Il existe de nombreux utilitaires pour graver sous X, parmis lesquels:
Dans nos exemples nous utilisons cdrecord.
Maintenant, abordons les différentes variations possibles:
pour de plus amples informations vous pouvez vous référez à la page man de cdrecord
Avec les conventions que nous avons adoptées la syntaxe de base des commandes sera de la forme :
cdrecord speed=X dev=Y,Z,W /rep/iso
Où X est la vitesse de gravure, Y,Z,W sont obtenus par cdrecord --scanbus. et /rep/iso correspond au fichier ISO à graver dans son répertoire.
- CDR: Pour graver : cdrecord speed=X dev=Y,Z,W
- CDRW: Les disques réinscriptibles ont la même syntaxe pour l'écriture que les CDR, par contre l'effacement s'effectue à l'aide de la commande cdrecord blank=all dev=Y,Z,W
- monosession
cdrecord speed=X dev=Y,Z,W /rep/iso
Pour graver en monosession en format iso9660 des fichiers contenus dans /source :
-
mkisofs -LlrT -o /rep/iso /source
Où /source correspond aux données à graver. - cdrecord speed=X dev=Y,Z,W /rep/iso
-
mkisofs -LlrT -o /rep/iso /source
- Multisession
Pour graver en multisession avec cdrecord il faut faire attention à plusieurs points:
- Chaque session doit être gravée avec l'option -multi, sauf la dernière.
- mkisofs a besoin du CD sur lequel l'on va graver en multisession pour créer son système de fichier.
- Pour tester le CD tout de suite, il faut l'éjecter et le remettre, sinon, on ne verra que les fichiers qui étaient là avant la dernière gravure.
- 1- Première session:
Vous créez votre image ISO comme pour un CD mono-session:
# mkisofs -lLrR -o image.iso /cd_rep
Ensuite, vous pouvez graver en n'oubliant surtout pas l'option -multi :
# cdrecord dev=0,4,0 speed=4 -multi -v -data image.iso - 2- Sessions intermédiaires:
Ici, mkisofs, a besoin d'informations fournies par cdrecord :
# cdrecord -msinfo dev=0,4,0
Ceci vous donne deux nombres séparés par une virgule (par exemple 0,15292). Maintenant, vous pouvez appeler mkisofs avec les options -C et -M qui lui permettent de savoir où va commencer la session et quels sont les éléments déjà présents sur le CD:
# mkisofs -lLrR -C 0,15292 -M /dev/scd0 -o imageN.iso /cd_repN
ATTENTION: le CD auquel on veut rajouter la nouvelle session, dans être dans le lecteur /dev/scd0.
Maintenant, vous pouvez graver avec cdrecord l'ISO imageN.iso sans oublier l'option -multi:
# cdrecord dev=0,4,0 speed=4 -multi -v -data imageN.iso
- 3- La dernière session
La construction de l'image se déroule comme dans l'étape 2-:
# cdrecord -msinfo dev=0,4,0 15292,68700
# mkisofs -lLrR -C 15292,68700 -M /dev/scd0 -o imagef.iso /cd_repf
Par contre, cdrecord est utilisé sans l'option -multi:
# cdrecord dev=0,4,0 speed=4 -v -data imagef.iso
- cdda2wav -B -D0,1,0 où 0,1,0 correspond au cdrom où est placé le CD audio.
- cdrecord speed=X dev=Y,Z,W -audio plage1.wav plage2.wav ...
Il faut commencer par créer un fichier image, de la taille de la partition de données désirée.
# dd if=/dev/zero of=cd.img bs=1k count=500000
Puis l'on crée notre système de fichier, en supposant que l'on ait un point de montage nommé /a.
# mke2fs cd.img
# mount -o loop cd.img /a
# cp -R /r/c2/mp3/Annihilator /a
# umount /a
Maintenant nous pouvons mettre des données sur ce système de fichier.
# mount -o loop cd.img /a
# cp -R /r/c2/mp3/Annihilator /a
# umount /a
Maintenant, l'on peut graver à la fois la partie en ext2 et les plages musicales.
# cdrecord dev=0,2,0 speed=4 -v -data image1.img -audio plage1.wav plage2.wav Petit retour sur les fichiers Audio avec cdrdao:
cdrdao permet de graver les CDs sous forme de structure+données. La structure du CD est donnée dans un fichier (TOC-file plus connu sous le nom de CUE-SHEET dans le monde de Windows) et les données sont stockées dans un ou plusieurs fichiers. L'avantage du DAO (Disk-At-Once) est que l'on gère soi-meme les blancs (pré et post-GAP length) entre les plages. Ainsi on peut dupliquer exactement un CD multipiste (si vous copiez un CD audio par cdrecord, vous aurez 2 secondes de blanc entre les plages). A partir de la version 1.1.3, cdrdao permet la copie à la volée (CD à CD). Passons au côté pratique de la chose: Création d'une image de CD à partir d'un lecteur de CD:
# cdrdao read-cd --device Y,Z,W --speed X --datafile image.bin image.tocExemple:
# cdrdao read-cd --device 0,0,0 --speed 40 --datafile debian_cd1.bin debian_cd1.tocAstuce: si vous devez copier un CD uniquement audio, utilisez cdda2wav pour extraire les plages audio (cdrdao n'est pas très véloce). Exemple:
# cdrdao read-toc --device 0,0,0 --speed 40 --datafile musique.wav musique.toc # cdda2wav -D 0,0,0 -S 40 -x -t 1+13 musique.wav(on suppose que le CD a 13 plages) Maintenant, vous avez obtenu deux fichiers, l'un pour les donnees (.bin ou .wav, selon l'exemple) et l'autre pour la structure (.toc).
- Gravure d'une image de CD:
# cdrdao write --device 0,1,0 --speed 8 debian_cd1.toc
- Copie à la volée d'un CD:
# cdrdao copy --source-device 0,0,0 --device 0,1,0 --speed 8 --on-the-fly
- Netscape
- emacs ( visble sous le terminal )
- décodage mpeg avec Xmovie
- Gtop
- Xosview
- KDE2
- xmcd
- Compilation du kernel.
http://infonomade.linuxfr.org/tests/graveur/chargeB.png
http://infonomade.linuxfr.org/tests/graveur/charge.png
Comme vous pouvez le constater graver sous linux est une opération fort simple et en prime vous pouvez continuer à vous amuser avec votre machine pendant ce temps.
Maintenant envisageons quelques petits scripts qui devraient vous faciliter la vie.
- copiecd
Voici tout d'abord un script vous permettant de recopier un CD data vers votre graveur..#!/bin/sh # # script de copie des CD # # Le repertoire ou nous stockons notre ISO. ISO=/usr/local/src/image_cd # # mettez le device correspondant a votre CDROM. # CDROM=/dev/scd0 # # Pensez a changer la vitesse et le device # correspondant a votre graveur. # SPEED=4 grep /cdrom /etc/mtab if [ $? -eq 1 ]; then mount -rt iso9660 $CDROM /cdrom fi mkisofs -LlrT -o $ISO/cd.raw /cdrom >/dev/null 2>&1 cdrecord speed=$SPEED dev=4,0 -eject $ISO/cd.raw umount /cdrom rm -f $ISO/cd.raw exit 0
- grave
Ce script vous permet de graver aussi bien un fichier simple qu'une ISO ou un répertoire. Sa syntaxe est très simple: grave nomFichier Il présupose que vous ayez compilé votre kernel avec le support du loopback et que vous ayez suffisament d'espace disque pour générer l'ISO le cas échéant.#!/bin/sh # # script pour graver un fichier # # Le repertoire ou nous stockons notre image. ISO=/usr/local/src/image_cd # # Pensez a changer la vitesse et le device # correspondant a votre graveur. # SPEED=4 FICHIER=$1 usage(){ echo echo "$0 fichier" echo "ou fichier est un fichier ou un repertoire" echo exit 1 } creer_iso(){ mkisofs -LlrT -o $ISO/cd.raw $FICHIER } if [ -z $FICHIER ]; then usage elif [ -f $FICHIER ] && [ -s $FICHIER ]; then mount -t iso9660 -o loop $FICHIER /mnt if [ $? -ne 0 ]; then creer_iso fi umount /mnt cdrecord speed=$SPEED dev=4,0 -eject $FICHIER echo "c'est un fichier regulier" elif [ -d $FICHIER ]; then creer_iso cdrecord speed=$SPEED dev=4,0 -eject $ISO/cd.raw rm -f $ISO/cd.raw else usage fi exit 0
0 3 * * 5 echo "pense a mettre un CD vierge pour demain"| mail -s "Le backup" toto >/dev/null 2>&1 0 3 * * 6 /usr/local/bin/grave /home >/dev/null 2>&1Rédacteurs:
...
article très complet !!
juste un détail : pas d'accent avant deux consonnes... donc interrogation et non intérrogation
-
[^]Re: ...
-
[^]Re: ...
Posté par bmc () le 25/01/2001 à 00:21. (lien). Évalué à 1.Juste un petit ajout : on peut effacer un cdrw "rapidement" : remplacer blank=all par blank=fast. Ca efface la TOC, le "pregap" et le PMA (sic ;).
Pour plus de renseignements :
cdrecord blank=help
Voilà, merci pour cet article, très bonne idée (un peu tard pour moi, mais bon :).
Je conseille vivement GnomeToaster qui grave les mp3 à la volée sur un CD-R => CD-DA...
-
[+] [^]ponctuation manquante
Posté par Anonyme () le 25/01/2001 à 00:26. (lien). Évalué à -1.Il me semble qu'il manque une virgule...
"[nous avons] gravé et en même temps écouté un CD édité sous emacs [...]"
Un CD édité sous Emacs? Non?! Il fait ça, aussi?
C'est tout à fait mineur comme remarque, mais ça fait quand même bizarre, un CD édité. :)
(note: c'est bon signe, j'ai rien d'autre à redire!)-
[+] [^]Re: ponctuation manquante
Posté par Ramón Perez (page perso, ) le 25/01/2001 à 00:31. (lien). Évalué à -1.Tsss, tu sais pourtant bien que emacs peut *tout* faire !
-
-
Obligé de recompiler le Noyau ?
Je me demande s'il n'y a pas moyen de ne PAS recompiler le noyau, car c'est malgré tout une opération délicate.
En tous cas hors de portée pour un novice (Je pense en particulier à une utilisation domestique de Linux).
J'ai cru lire quelque part (mais j'ai peut-être rêvé) que la mandrake avait un module emulate-scsi pré-compilé.
Si ce n'est pas le cas, est ce qu'il est envisageable de faire une telle chose ?
Daniel
-
[^]Re: Obligé de recompiler le Noyau ?
Posté par Simon Nieuviarts () le 25/01/2001 à 10:47. (lien). Évalué à 1.Je grave sous Linux Mandrake 7.2, sans avoir recompilé le noyau. j'ai juste ajouté une option au noyau pour lui indiquer quels lecteurs utiliser avec le module ide-scsi. Le noyau est donc effectivement précompilé avec les bonnes options. J'utilise xcdroast.
-
[^]Re: Obligé de recompiler le Noyau ?
graver sous Linux .. c'est simple
pas besoins d recomplier le noyau !!
dans lilo, mettre l'option nonide du device
charger le module scsi et c'est tout.
ça grave facile et meme en pleine charge, avec un Racer à 600F
D'ailleurs ,jamsi plus recompilé de noyau depuis 2 ans..
Merci pour cette très bonnne aide
Gravure
C'est vrai que la gravure sous Linux n'est pas très compliquée une fois qu'on a pris le temps de lire les quelques HOWTO sur le sujet.
Et puis avec un ou deux scripts, ca devient vite très facile de graver.
Quel régal de pouvoir graver tout en faisant pleins de choses à coté: StarOffice ou Quake3 même; contrairement à d'autres OS ou meme l'économiseur d'écran est catastrophique.
Note: je n'ai qu'un PC233MHz.
Vous abusez ...
lancer gtop sous Kde ... powah, ca doit vraiment
consommer à mort les libs kde et libs gnome en
même temps : pourtant, ya pas beaucoup de ram sur la bécane de test !!!
-
[^]Beau?
ca marche nickel ... enfin presque
Article super intéressant.
Juste une remarque (pas sur l'article, mais sur la gravure ss Linux en gén.): un gros regret:
ne pas pouvoir faire de la copie audio a la volée avec xcdroast. C'es chiant de devoir
ripper les pistes avant.
Une remarque aussi: si comme moi, certaines personnes utilisent une chaine SCSI complète, N'UTILISEZ PAS votre lecteur zip au cours de la gravure, ca la fait planter immédiatement (le module ppa emule des interfaces SCSI pour connecter le lecteur Zip et apparement pourris le fonctionnement de la carte SCSI).
Au sujet du append...
Je ne comprend pas à quoi sert le : append="hda=ide-scsi
Je grave chez moi avec un graveur IDE émulé en SCSI, et je n'ai jamais rajouté cette ligne... C'est grave docteur ?
Rq : je n'arrive à graver que des données, cdrecord refuse l'audio.... ya p'tet un rapport....
-
[^]Re: Au sujet du append...
X-CDRoast marche très bien
C'est toujours bien de poster un mode d'emploi détaillé, mais pourquoi ne pas graver tout simplement avec X-CDRoast ?
Je fais tout avec : récupérer des pistes audio, graver une compilation, graver mes sauvegardes de données. C'est quand même vachement plus simple que de se taper des lignes de commandes complexes avec cdrecord. Ce qui est dommage à mon avis c'est que ce genre de mode d'emploi doit plutôt effrayer les Windoziens/Mac (ou d'autres) qui veulent tâter de Linux... S'il existe des programmes graphiques bien faits (cas de X-CDRoast), c'est toujours mieux.
-
[^]Re: X-CDRoast marche très bien
Posté par trollhunter () le 25/01/2001 à 18:34. (lien). Évalué à 1.En relisant le RTFM tu verras que l'on à bien donné les liens vers 3 logiciels de gravure sous X: X-CDRoast, KreateCD et GNOME toaster.
Completement hors sujet
je voudrai savoir si quelqu'un sais ou je pourrrai me procurer la video "milka" que l'on voit sur le screenshoot.
Au passage si l'emulation ide-scsi marche impec avec la mandrake 7.2 (sans rien avoir a configurer), la 7.1 is un peu plus problematique (tout du moins avec mon Plex12/10/32)
cd udf ?
existe-t-il des softs permettant d'utiliser un cd rw comme une disquette, du type adaptec directCD ?
-
[^]Re: cd udf ?
Posté par xxxxx gregory () le 04/03/2002 à 20:17. (lien). Évalué à 1.Oui, cdrecord le fait avec l'option ..euh un truc comme -packets (a voir avec man cdrecord)
J'ai jamais essayé car g un graveur qui ne le supporte pas mais boN..
salut...



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.