Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

gravure CD a-la-volee sous linux

6 réponses
Avatar
Bernard
Bonjour,

Je grave, sans problème, en faisant usage de mkisofs pour l'obtention du
fichier iso (image du CD à graver), puis avec cdrecord. Le problème est le
suivant: pour graver un CD de 650 MB, il faut disposer de 1,3 GB de place
sur le disque dur... et ce n'est pas toujours le cas.

Dans le document 'LINUX-HOWTO: CDWRITING', j'ai trouvé un script qui est
sensé permettre la gravure 'à la volée' (on the fly), sans passer par le
fichier image. Malheureusement, je ne parviens pas à faire fonctionner ce
script. Le document étant rédigé en anglais, il se pourrait que certains
signes soient traduits différemment par mon clavier fr. Quelqu'un pourrait
il me donner un script pour la gravure de CD 'à la volée', ou bien me
donner un lien vers un HOWTO en français, ou tout autre document pertinent
?

Voici ce que j'ai trouvé dans le HOWTO en anglais, et qui ne fonctionne
pas sur mon système:

In times where everybody except me owns a 400 Mhz machine, people feed the
output of mkisofs directly into cdrecord:

shell> IMG_SIZE=`mkisofs -R -q -print-size private_collection/ 2>&1 \
| sed -e "s/.* = //"`
shell> echo $IMG_SIZE
shell> [ "0$IMG_SIZE" -ne 0 ] && mkisofs -r private_collection/ \
|cdrecord speed=2 dev=0,6,0
tsize=${IMG_SIZE}s -data -
# don't forget the s --^ ^-- read data from STDIN

The first command is an empty run to determine the size of the image (you
need the mkisofs from the cdrecord distribution for this to work). You
need to specify all parameters you will use on the final run (e.g. -J or
-hfs). Maybe your writer does not need to know the size of the image to be
written, so you can leave this dry run out. The printed size must be
passed as a tsize-parameter to cdrecord (it is stored in the environment
variable IMG_SIZE). The second command is a sequence of mkisofs and
cdrecord, coupled via a pipe.

6 réponses

Avatar
Rakotomandimby Mihamina
On Thu, 28 Oct 2004 10:55:33 +0200, Bernard wrote:

Bonjour,


Bonjour

Voici ce que j'ai trouvé dans le HOWTO en anglais, et qui ne fonctionne
pas sur mon système:


Peux-tu s'il te plait nous dire ce que tu entends exactement par "ne
fonctionne pas" ?

- est ce que IMG_SIZE est calculé et affiché ?
- quel est ton shell ? (bash, zsh, ksh ...)

En gros :

http://faq.fcolc.eu.org/Members/mihamina/questions/redigersaquestion

--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)

Avatar
Nicolas George
wrote in message
<41813069$0$15753$:
ben, ton script fait une image iso ! (mkisofs -R etc)
si il n'y a pas la place en commande directe, il n'y en a pas plus
avec le script ....


Son script fait une image ISO et l'envoie à la volée sur la sortie standard,
laquelle est normalement branchée sur un cdrecord. L'image ISO ne passe donc
jamais sur le disque dur.

J'ajoute que je n'ai aucune idée de pourquoi ça ne marche pas. Le premier
truc serait d'essayer de le faire à la main, évidemment.

Avatar
sans_flotus_spam
Bernard wrote:

Bonjour,

Je grave, sans problème, en faisant usage de mkisofs pour
l'obtention du fichier iso (image du CD à graver), puis avec
cdrecord. Le problème est le suivant: pour graver un CD de 650 MB,
il faut disposer de 1,3 GB de place sur le disque dur... et ce n'est
pas toujours le cas.

Dans le document 'LINUX-HOWTO: CDWRITING', j'ai trouvé un script qui

est Censé permettre la gravure 'à la volée' (on the fly), sans

passer par le fichier image. Malheureusement, je ne parviens pas à
faire fonctionner ce script. Le document étant rédigé en anglais, il
se pourrait que certains signes soient traduits différemment par mon
clavier fr. Quelqu'un pourrait il me donner un script pour la
gravure de CD 'à la volée', ou bien me donner un lien vers un HOWTO
en français, ou tout autre document pertinent ?

Voici ce que j'ai trouvé dans le HOWTO en anglais, et qui ne
fonctionne pas sur mon système:

In times where everybody except me owns a 400 Mhz machine, people
feed the output of mkisofs directly into cdrecord:

shell> IMG_SIZE=`mkisofs -R -q -print-size private_collection/ 2>&1

| sed -e "s/.* = //"`
shell> echo $IMG_SIZE
shell> [ "0$IMG_SIZE" -ne 0 ] && mkisofs -r private_collection/
|cdrecord speed=2 dev=0,6,0
tsize=${IMG_SIZE}s -data -
# don't forget the s --^ ^-- read data from STDIN

The first command is an empty run to determine the size of the image
(you need the mkisofs from the cdrecord distribution for this to
work). You need to specify all parameters you will use on the final
run (e.g. -J or -hfs). Maybe your writer does not need to know the
size of the image to be written, so you can leave this dry run out.
The printed size must be passed as a tsize-parameter to cdrecord (it
is stored in the environment variable IMG_SIZE). The second command
is a sequence of mkisofs and cdrecord, coupled via a pipe.


ben, ton script fait une image iso ! (mkisofs -R etc)
si il n'y a pas la place en commande directe, il n'y en a pas plus
avec le script ....
A+

Avatar
Alexandre
Bernard écrivait :

Voici ce que j'ai trouvé dans le HOWTO en anglais, et qui ne fonctionne
pas sur mon système:


Il faudrait nous expliquer exactement ce qui ne fonctionne pas chez toi
car chez moi©, sans rentrer dans le détail des options, ça semble
tourner au poil :

# IMG_SIZE=$(mkisofs -R -q -print-size ap/ 2>&1|sed -e "s/.* = //")
# echo $IMG_SIZE
227616
# [ "0$IMG_SIZE" -ne 0 ] && mkisofs -r ap/|cdrecord -dummy speed
dev=0,1,0 tsize=${IMG_SIZE}s -data -
Using SWFTO000.TGZ;1 for /swftools-0.6.1.tar.gz (swftools-0.4.4.tar.gz)
[...]
Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jörg Schilling
scsidev: '0,1,0'
scsibus: 0 target: 1 lun: 0
Linux sg driver version: 3.1.25
Using libscg version 'schily-0.5'
Device type : Removable CD-ROM
Version : 0
Response Format: 1
Vendor_info : 'CyberDrv'
Identifikation : 'CW038D CD-R/RW '
Revision : '110C'
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
Driver flags : SWABAUDIO
Starting to write CD/DVD at speed 12 in dummy mode for single session.
Last chance to quit, starting dummy write in 0 seconds. Operation starts.
[...]
Total translation table size: 0
Total rockridge attributes bytes: 52504
Total directory bytes: 40960
Path table size(bytes): 270
Max brk space used 63ac4
227616 extents written (444 Mb)
Track 01: Total bytes read/written: 466157568/466157568 (227616 sectors).
--
Alexandre

Avatar
Bernard
Bonjour,

On Thu, 28 Oct 2004 11:25:25 +0200, Rakotomandimby Mihamina wrote:

On Thu, 28 Oct 2004 10:55:33 +0200, Bernard wrote:

Bonjour,


Bonjour

Voici ce que j'ai trouvé dans le HOWTO en anglais, et qui ne fonctionne
pas sur mon système:


Peux-tu s'il te plait nous dire ce que tu entends exactement par "ne
fonctionne pas" ?


J'avais diverses erreurs, qui me permettaient de penser que quelque chose
était erronné dans le script que j'avais tapé. Alors, j'ai essayé diverses
variantes, sans résultat. Au bout du compte, j'étais arrivé à quelque
chose qui fonctionnait, mais la gravure ne prenait en compte qu'une petite
partie du dossier.

Et puis, suite aux questions qui m'ont été posées de savoir quels étaient
exactement les messages d'erreur, j'ai recommencé la manip.

Et là... - honte à moi ! - la gravure a fonctionné !

Je ne sais plus exactement ce que j'avais fait la fois précédente. Si cela
se trouve, j'avais fait les essais sur un CD-RW. Mais là, avec un DR-R, çà
a marché. Mal au début, car, quel que soit le volume d'octets à graver, le
DERNIER fichier posait toujours problème, impossible de l'ouvrir etc... et
puis, je me suis rendu compte que dans l'évaluation de la taille de
l'image, j'avais oublié l'argument ' -J ', et que, donc, il y avait
quelques octets de différence dans la taille de l'image. Depuis que ceci
est corrigé, je n'ai plus d'erreurs, même s'il est encore une question que
je me pose.

Voici cette question.

Pour limiter les risques, j'avais remplacé l'option 'speed=4' par
'speed=2'. Or, le processus n'en n'a pas tenu compte ! Au démarrage, le
système me répondait: 'writing will proceed in 7 seconds (ou quelque chose
de ce genre) 'at speed 4'.

Mais bon, comme çà fonctionne de cette façon là...

Merci pour les contributions.


- est ce que IMG_SIZE est calculé et affiché ? - quel est ton shell ?
(bash, zsh, ksh ...)


shell = bash


IMG_SIZE: au début çà n'affichait rien. Mais j'avais dû faire une erreur
dans la recopie du script proposé. Je ne me souviens plus de quelle erreur
il s'agissait. Aujourd'hui çà marche. Mais il m'a fallu un moment avant de
comprendre que la taille était exprimée en blocks, et non en octets !

En gros :

http://faq.fcolc.eu.org/Members/mihamina/questions/redigersaquestion



Avatar
marmotte

Pour limiter les risques, j'avais remplacé l'option 'speed=4' par
'speed=2'. Or, le processus n'en n'a pas tenu compte ! Au démarrage, le
système me répondait: 'writing will proceed in 7 seconds (ou quelque chose
de ce genre) 'at speed 4'.



Je pense que cela vient des graveurs. Mon graveurs DVD NEC 3500 refuse
de graver en dessous de 8x les CD-R. La détection automatique de la
vitesse sous K3B me met comme plus petite vitesse 8x dans la plage (le
max étant 48x pour un CD).
Je peux me tromper, mais c'est ce que j'ai constaté.

_Remarque_: Lorsque je lance K3B, celui-ci n'a pas détecté les vitesses
supportées par le graveur. J'ai ainsi accès à toute la plage de vitesses
"intermédiaires" (1x, 2x, 4x, 8x, etc ...). Même en, sélectionnant 4x,
et en lançant la gravure sans faire de détection automatique de vitesse,
la gravure se fera en 8x.


--
Linuxement,

marmotte
JID:
GPG fingerprint: 3A12 BB75 447F 6F6F FE53 C2B3 C398 3331 A277 95C6


PS: Enlevez _les_doigts_du_nez_ pour me répondre