Linux

CentOS 4.8

cdrecord(1)


CDRECORD

NOM

cdrecord − enregistre des Disques Compacts audio ou de données à partir d’un original

SYNOPSIS

cdrecord [ options générales ] dev=périphérique [ options de pistes ] piste1...pisteN

DESCRIPTION

Cdrecord est utilisé pour enregistrer des disques compacts audio ou de données sur des graveurs de CD Orange Book.

Le périphérique se réfère à busscsi/cible/lun du graveur de CD. La communication sur SunOS est réalisée avec le pilote SCSI général scg. Les autres systèmes d’exploitation utilisent une simulation de bibliothèque de ce pilote. La syntaxe possible est : dev=busscsi,cible,lun ou dev=cible,lun. Dans le dernier cas, le graveur doit être connecté au bus SCSI par défaut de la machine. Busscsi, cible et lun sont des nombres entiers. Des systèmes d’exploitation ou des implantations de transport SCSI peuvent nécessiter la spécification d’un nom de fichier supplémentaire. Dans ce cas, la syntaxe correcte pour ce périphérique est : dev=nompériphérique:busscsi:cible, ou dev=nompériphérique:cible:lun. Si le nom du noeud de périphérique ayant été spécifié sur un tel système se réfère à exactement un périphérique SCSI, un raccourci de la forme dev=nompériphérique:@ ou dev=nompériphérique:@,lun peut être utilisé au lieu de dev=nompériphérique:busscsi,cible,

Pour accéder à un périphérique SCSI distant, vous devez préfixer le nom du périphérique SCSI par un indicateur de périphérique distant. L’indicateur de périphérique distant est soit REMOTE:usager@hôte: soit REMOTE:hôte:. Un nom valide d’un périphérique SCSI distant peut être : REMOTE:usager@hôte: pour permettre un parcours du bus SCSI distant ou REMOTE:usager@hôte:1,0,0 pour accéder au périphérique SCSI de hôte, connecté sur le bus SCSI #1, cible 0 lun 0.

Pour rendre cdrecord portable sur toutes les plates-formes UNIX, la syntaxe dev=nompériphérique:busscsi,cible, est préférable puisqu’elle cache la connaissance spécifique de l’OS sur les noms de périphériques à l’usager. Un OS particulier ne doit pas nécessairement supporter une façon de spécifier un nom de fichier d’un périphérique réel ni une façon de spécifier bussci,cible,lun.

Busscsi 0 est le bus SCSI par défaut sur la machine. Surveillez les messages de démarrage pour plus d’informations ou regardez dans /var/adm/messages pour plus d’informations au sujet de la configuration SCSI de votre machine. Si vous avez des problèmes pour trouver les valeurs bussci,cible,lun à utiliser, essayez l’option -scanbus de cdrecord décrite ci-dessous. Si un fichier /etc/defaut/cdrecord existe, le paramètre pour l’option dev= peut être également un nom d’unité inscrit dans ce fichier (voir la section FICHIERS).

Sur les systèmes compatibles SVr4, cdrecord utilise la classe temps réel pour obtenir la plus haute priorité de répartition du temps possible (plus élevée que tous les processus du noyau). Sur des systèmes avec la répartition temps réel POSIX, cdrecord utilise également la répartition en temps réel, mais peut ne pas être capable d’obtenir une priorité qui soit plus haute que les processus du noyau.

En mode « Track At Once », chaque piste correspond à un seul fichier qui contient les données préparées pour cette piste. Si l’argument est -, l’entrée standard est utilisée pour cette piste. Seulement une piste peut être prise de l’entrée standard.

OPTIONS GÃNÃRALES

Les options générales doivent apparaître avant n’importe quel nom de piste ou option de piste.

-version

Afficher la version et quitter.

-v

Incrémenter de un le niveau de verbosité général. Peut être utilisé par exemple pour afficher la progression du processus d’écriture.

-V

Incrémenter de un le niveau de verbosité du transport de commande SCSI. Ceci aide à débusquer les problèmes pendant le processus d’écriture, qui se passe au sein du graveur. Si vous obtenez des messages d’erreur incompréhensibles, vous devez utiliser ce drapeau pour obtenir une sortie plus détaillée. -VV montrera le contenu du tampon de données en supplément. Utiliser -V ou -VV ralentit le processus et peut être une raison d’une sous-charge de tampon.

debug=#, -d

Positionner la valeur de déboguage divers à # ou incrémenter le niveau de déboguage divers de un (avec -d). Si vous spécifiez -dd, ceci équivaut à debug=2. Ceci peut vous aider à trouver des problèmes pendant l’ouverture d’un pilote pour libscg et également avec les tailles de secteurs et types de secteurs. Utiliser -debug ralentit le processus et peut être la raison d’une sous-charge de tampon.

kdebug=#, kd=#

Indiquer au pilote scg de modifier la valeur de déboguage du noyau pendant que les commandes SCSI fonctionnent.

-silent, -s

N’afficher aucun rapport d’état pour les commandes SCSI qui ont échoué.

-force

Forcer à continuer malgré certaines erreurs. Cette option utilise actuellement quelques tours qui vous permettront de vider les mauvais disques CD-RW.

-dummy

Le graveur passera à travers toutes les étapes du processus d’enregistrement, mais le laser est éteint pendant la procédure. Il est recommandé d’effectuer plusieurs tests avant d’écrire sur un Disque Compact, si la réponse du minutage et de la charge sont inconnues.

-dao

Activer le mode « Disk at Once ». Actuellement, ceci ne fonctionne qu’avec les unités MMC qui supportent le mode « Session at Once » non brut.

-multi

Permettre de réaliser des CD multisession. Ce drapeau doit être présent pour toutes les sessions d’un disque multisession, excepté pour créer une session qui sera la dernière sur le disque. La fixation sera réalisée d’une façon permettant au graveur d’ajouter des sessions plus tard. Ceci s’effectue par la création d’une table avec un lien sur la prochaine zone de programme. Le disque généré n’est pas 100 % compatible avec les CD manufacturés (excepté pour CDplus). à utiliser seulement pour l’enregistrement de CD multisession. Si cette option est présente, le type de la piste est CD-ROM XA mode 2 par défaut. Les unités Sony n’ont pas de support matériel pour CD-ROM XA mode 2. Vous devez spécifier l’option -data pour créer un disque multisession sur ces unités. Tant que cdrecord n’a pas de codeur pour convertir les secteurs de données en secteurs audio, vous devez forcer les secteurs du CD-ROM en incluant l’option -data si vous voulez enregistrer un disque multisession en mode DAO/SAO. Ce n’est pas toutes les unités qui permettent les CD multisession en mode DAO/SAO.

-msinfo

Récupérer l’information de multisession dans un format acceptable pour mkisfos-1.10 ou plus récent.

Cette option n’a de sens qu’avec un CD qui contient au moins une session fermée et qu’il est possible d’en rajouter (pas fermé complètement). Des unités créent des messages d’erreur si vous essayez d’obtenir les informations pour un disque qui n’est pas fait pour cette opération.

-toc

Récupérer et afficher la table des matières ou « PMA » d’un CD. Avec cette option, cdrecord fonctionnera avec les unités CD-R et les unités CD-ROM.

-atip

Récupérer et afficher l’information ATIP ( « Absolute Time in Pre-Groove » temps absolu avant écriture) d’un CD enregistrable ou d’un disque réinscriptible. Avec cette option, cdrecord essaiera de récupérer l’information ATIP. Si l’unité actuelle ne supporte pas la lecture de l’information, il se peut qu’un enregistrement restreint d’information soit affiché, voire rien du tout. Seules un nombre limité d’unités compatibles MMC supporte la lecture de l’information ATIP.

Si cdrecord est capable de récupérer le temps de démarrage de la zone d’entrée de la première session, il essaiera de décoder et d’afficher l’information du fabricant à partir du disque.

-fix

Le disque sera seulement fixé (une table des matières pour un Lecteur CD sera écrite). Cette option peut être utilisée, si pour quelque raison que ce soit, le disque a été écrit mais pas fixé. Cette option ne fonctionne pas actuellement avec les vieilles unités TEAC (CD-R50S et CD-R55S).

-nofix

Ne pas fixer le disque après écriture des pistes. Cette option peut être utilisée pour créer un disque audio par étape. Un disque non fixé ne peut généralement pas être utilisé sur une unité autre qu’un graveur, mais il y a des lecteurs de CD audio capable de jouer un tel disque.

-waiti

Attendre que l’entrée devienne disponible sur l’entrée standard avant d’essayer d’ouvrir le pilote SCSI. Ceci permet à cdrecord de lire son entrée à partir d’un tuyau même pendant l’écriture de sessions additionnelles à un disque multisession. Pendant l’écriture d’une autre session à un disque multisession, mkisofs a besoin de lire l’ancienne session à partir du périphérique avant d’écrire sa sortie. Cette option ne peut pas être réalisée si cdrecord ouvre le pilote SCSI en même temps.

-load

Charger le média et quitter. Ceci fonctionne seulement avec un mécanisme de chargement à plateau mais semble utile pendant l’utilisation du transporteur de disque Kodak.

-eject

Ãjecter le disque après le travail terminé. Des unités (ex : Philips) ont besoin d’éjecter le disque avant d’en créer un nouveau. Réaliser un test avec -dummy et créer immédiatement un vrai disque ne fonctionnera pas sur ces périphériques.

speed=#

Positionner le facteur de vitesse du processus d’écriture à #. # est un entier, représentant un multiple de la vitesse audio. C’est approximativement 150 ko/s pour les CD-ROM et 172 ko/s pour les CD audio. Si aucune option de vitesse n’est présente, cdrecord tentera d’obtenir la valeur de la vitesse à partir de la variable d’environnement CDR_SPEED. Si votre unité a des problèmes avec speed=2 ou speed=4, essayez speed=0

blank=type

Vider un CD-RW et quitter ou vider un CD-RW avant l’écriture. Le type de vide peut être un de :

help

Afficher une liste des types possibles de vide.

all

Vider le disque en entier. Prend beaucoup de temps.

fast

Vider le disque minimalement. Effacement de PMA, TOC et de l’intervalle.

track

Vider une piste.

unreserve

Annuler la réservation d’une piste réservée.

trtrail

Vider la queue d’une piste.

unclose

Ouvrir la dernière session.

session

Vider la dernière session.

Utilisée avec le drapeau -force, cette option peut être utilisée pour vider un disque CD-RW qui autrement ne peut pas être vidé. Notez qu’il est possible que vous ayez besoin de spécifier blank=all parce que certaines unités ne continueront pas avec certains types de mauvais disques CD-RW. Notez également que cdrecord fait sont possible si le drapeau -force est utilisé mais il dépend du logiciel résident de l’unité pour que l’opération réussisse ou non.

fs=#

Positionner la taille du fifo (tampon circulaire). Vous pouvez utiliser la même méthode que dans dd(1), sdd(1) ou star(1). Le nombre représentant la taille est prise en octets à moins que spécifié autrement. Si un nombre est suivi directement par la lettre b, k, m, s ou f, la taille est multipliée par 512, 1024, 1024*1024, 2048 ou 2352. Si la taille est composée de nombres séparés par x ou *, une multiplication des deux nombres est effectuée. Ainsi, fs=10x63k spécifie une taille du fifo de 630Ko.

La taille spécifiée par l’argument fs= inclut le mémoire partagée nécessaire à l’administration. C’est au moins un page de mémoire. Si aucune option fs= n’est présente, cdrecord essaiera d’obtenir la valeur de la taille du fifo à partir de la variable d’environnement CDR_FIFOSIZE. La taille par défaut du fifo est actuellement 4 Mo.

Le fifo est utilisé pour augmenter le tampon pour le processus d’écriture en temps réel. Il permet de faire fonctionner un tuyau à partir de mkisofs directement dans cdrecord. Si le fifo est actif et un tuyau entre mkisofs et cdrecord est utilisé pour créer un CD, cdrecord s’arrêtera avant de faire des modifications sur le disque si mkisofs termine avant qu’il ne commence d’écrire. La taille de fifo recommandée est entre 4 et 32 Mo. Comme règle, la taille du fifo devrait être au moins égale à la taille du tampon interne du graveur et pas plus que la moitié de la RAM disponible dans la machine. Si la taille de fifo est assez grande, les statistiques du fifo afficheront un compte de zéro et le remplissage minimum du fifo n’est pas inférieur à 20 %. Il n’est pas raisonnable d’utiliser trop d’espace pour le fifo. Si vous avez besoin de plus de 8 Mo pour écrire un CD sur une machine inactive, votre machine est soit pas assez puissante, a un problème matériel ou est mal configurée. L’architecture sun4c (ex : une Sparcstation-2) a seulement des entrées de table de page MMU pour 16 Mo par processus. Utiliser plus que 14 Mo pour le fifo peut dans ce cas entraîner le système d’exploitation à dépenser trop de temps à recharger constamment les tables MMU. Les machines plus récentes de Sun n’ont pas ce problème matériel. Je n’ai pas d’information sur le matériel PC reflétant ce problème.

Si vous avez un sous-charge de tampon ou des problèmes similaires et observez un compte vide de fifo zéro, vous avez un problème matériel. La taille du fifo dans ce cas est suffisante.

dev=target

Positionner la cible SCSI pour le graveur, voir les notes plus haut. Une spécification de périphérique typique est dev=6,0. Si un nom de fichier doit être fourni avec la spécification numérique de la cible, le nom du fichier est spécifique à l’implantation. Le nom du fichier correct dans ce cas peut être trouvé dans les manuels du système spécifique au système d’exploitation cible. Sur un système FreeBsd sans support CAM, vous devez utiliser le périphérique de contrôle (ex : /dev/rcd0.ctl). Une spécification de périphérique correcte dans ce cas peut être dev=/dev/rcd0.ctl:@

Sur Linux, les unités connectées à un adaptateur de port parallèle correspondent à un bus SCSI virtuel. Différents adaptateurs correspondent à différentes cibles sur ce bus SCSI virtuel.

Si aucune option dev n’est présente, cdrecord tentera d’obtenir le périphérique à partir de la variable d’environnement CDR_DEVICE.

Si l’argument pour l’option dev= ne contient pas les caractères ’,’, ’/’, fichier /etc/default/cdrecord (voir la section FICHIERS).

timeout=#

Positionner la valeur par défaut de l’expiration de la commande SCSI à # secondes. L’expiration par défaut de la commande SCSI est le temps minimum utilisé pour envoyer les commandes SCSI. Si une commande SCSI échoue du fait d’une expiration du temps, vous pouvez essayer d’augmenter le temps d’expiration de la commande par défaut au-dessus de la valeur du temps d’expiration de la commande qui a échoué. Si la commande fonctionne correctement avec un temps d’expiration de commande augmenté, s’il vous plaît rapportez la meilleure valeur et la commande correspondante à l’auteur du programme. Si aucune option d’expiration n’est présente, un temps d’expiration par défaut de 40 secondes est utilisé.

driver=name

Permettre l’utilisation d’un nom de pilote fourni par l’usager pour le périphérique. Pour obtenir une liste des pilotes possibles, utilisez driver=help. La raison de l’existence de cette option est de permettre aux usagers d’utiliser cdrecord avec des unités qui sont similaires aux unités supportées mais pas connues directement par cdrecord. Utilisez cette option avec grand soin. Si un mauvais pilote est utilisé pour un périphérique, la possibilité de créer des disques corrompus est élevée. Le problème minimum reporté d’un mauvais pilote est que -speed et -dummy ne fonctionneront pas.

Il y a deux entrées de pilotes spéciales dans la liste : cdr_simul et dvd_simul. Ces entrées de pilotes sont conçues pour faire des tests de minutage à n’importe quelle vitesse ou des tests de minutage pour des unités qui ne supportent pas l’option -dummy. Les pilotes de simulation implantent une unité avec une taille de tampon de 1 Mo qui peut changer via la variable d’environnement CDR_SIMUL_BUFSIZE. Le pilote de simulation simule correctement même les conditions de sous-charge de tampon. Si l’option -dummy est présente, la simulation n’est pas arrêtée dans le cas d’une sous-charge de tampon.

driveropts=[liste d’options]

Positionner les options spécifiques du pilote. Les options sont spécifiées par une liste séparée par des virgules. Pour obtenir une liste des options valides utilisez driveropts=help avec l’option checkdrive. Actuellement seule l’option burnproof est implantée pour supporter l’écriture résistante aux sous-charge de tampon avec des unités qui utilisent la technologie Sanyo BURN-Proof.

-checkdrive

Vérifier si un pilote pour l’unité courante est présent puis quitter. Si l’unité est une unité connue, cdrecord utilise un code de sortie égal à 0.

-prcap

Afficher les capacités de l’unité pour les unités compatibles SCSI-3/mmc comme obtenu à partir de la page de mode 0x2A. Les valeurs marquées avec kB utilisent 1 000 octets comme kilo-octet, les valeurs marquées KB utilisent 1024 octets comme kilooctet.

-inq

Effectuer une recherche pour l’unité, afficher l’information de la recherche et quitter.

-scanbus

Parcourir tous les périphériques SCSI sur tous les bus SCSI et afficher les chaînes de recherche. Cette option peut être utilisée pour trouver l’adresse SCSI du graveur sur le système. Les nombres affichés comme étiquette sont calculés par : bus * 100 + cible.

-reset

Tenter de remettre à zéro le bus SCSI où le graveur est situé. Ceci ne fonctionne pas sur tous les systèmes d’exploitations.

-ignsize

Ignorer la taille connue du disque. Cette option doit être utilisée avec soin, elle existe seulement pour des raisons de déboguage, à ne pas utiliser pour d’autres raisons. Il n’est pas nécessaire d’écrire des disques avec plus que leur capacité nominale.

-useinfo

Utiliser les fichiers *.inf pour écraser les options audio. Si cette option est utilisée, l’information de la taille de l’intervalle est lue à partir du fichier *.inf qui est associé avec le fichier contenant les données audio de la piste.

defpregap=#

Positionner la taille de l’intervalle par défaut pour toutes les pistes excepté la piste numéro 1. Cette option a actuellement du sens avec les unités TEAC en créant des disques « Track-at-once » sans les 2 secondes de silence entre chaque piste. Cette option pourrait disparaître dans le futur.

-packet

Positionner le mode d’écriture par Paquet. Ceci est une interface expérimentale.

pktsize=#

Positionner la taille des paquets à #, forcer en mode paquet fixé. Cette interface est expérimentale.

-noclose

Ne pas fermer la piste courante, utile seulement en mode d’écriture de paquet. Ceci est une interface expérimentale.

mcn=med_cat_nr

Positionner le « Media Catalog Number » (Numéro de catalogue du média) du CD à med_cat_nr.

OPTIONS DE PISTE

Les options de piste peuvent être mélangées avec les noms de fichier des pistes.

iscr=numéro_ISCR

Positionner l’« International Standard Recording Number » (Numéro international standard d’enregistrement) pour la piste suivante à numéro_ISRC.

index=liste

Positionner une liste d’index pour la piste suivante. Une liste d’index est une liste de nombres séparés par des virgules qui sont comptés à partir de l’index 1. La première entrée dans cette liste doit contenir un 0, les nombres suivants doivent être dans une liste triée en ordre ascendant (comptage en 1/75 secondes) qui représente le départ des indices. Une liste d’index de forme : 0, 7500,15000 positionne l’index 1 au début de la piste, l’index 2 : 100 secondes après le début de la piste et index 3 : 200 secondes après le début de la piste.

-audio

Si ce drapeau est présent, toutes les pistes subséquentes sont écrites au format audio CD-DA (similaire à Red-Book). Le fichier avec des données pour cette piste doit contenir de l’audio numérique en 16-bit, stéréo, avec un échantillonage de 44 100 échantillons/s. L’ordre des octets doit être le suivant : MSB gauche, LSB gauche, MSB droit, LSB droit et ainsi de suite. La piste doit être un multiple de 2 352 octets. Il n’est pas possible de mettre l’image originale d’une piste audio sur un disque brut, parceque les données seront lues par multiple de 2352 octets pendant le processus d’enregistrement.

Si un nom de fichier fini par .au ou .wav le fichier est considéré comme étant structuré comme un fichier de données audio. cdrecord suppose que le fichier dans ce cas est un fichier audio Sun ou fichier .wav de Microsoft et extrait les données audio à partir des fichiers en passant au-dessus des informations d’en-tête non audio. Dans tous les autres cas, cdrecord fonctionnera correctement seulement si le flux de données audio n’a aucun en-tête. Parce que beaucoup de fichiers audio structurés n’ont pas une longueur en nombre de blocs intégral (1/75e de seconde), il est souvent nécessaire de spécifier l’option -pad. cdrecord reconnaît que les données audio dans un fichier .wav sont enregistrés dans l’ordre binaire Intel (petit boutiste), et automatiquement va changer l’ordre des octets des données si le graveur nécessite des données grand boutistes. cdrecord rejettera tous les fichiers audio qui ne respectent pas les spécifications Red Book d’échantillons 16-bit stéréo en codage PCM à 44 100 échantillons/seconde.

Utiliser un autre format structuré de données audio comme entrée de cdrecord fonctionnera généralement si la structure de la donnée est la structure décrite ci-dessus. (donnée PCM brut avec l’ordre des octets de type grand boutiste). Cependant, si le format de données inclut un en-tête, vous entendrez un clic au début de la piste.

Si ni -data ni -audio ont été spécifiées, cdrecord définit par défaut -audio pour tous les fichiers finissant par .au ou .wav et -data pour tous les autres fichiers.

-swab

Si ce drapeau est présent, la donnée audio est supposée être en ordre d’octet inversé (petit boutiste). Des types de graveurs, par exemple Yamaha, Sony et les nouvelles unités SCSI-3/mmc nécessitent des données audio qui soient présentées en ordre petit boutiste, tandis que d’autres graveurs nécessitent les données audio présentées en ordre grand boutiste (réseaux), normalement utilisé par le protocole SCSI. cdrecord sait si un graveur a besoin de données audio en ordre grand ou petit boutiste, et corrige l’ordre des octets du flux de données pour correspondre aux besoins du graveur. Vous avez besoin du drapeau -swab seulement si votre flux de données est en ordre d’octet Intel (petit boutiste).

Notez que les sorties verbeuses de cdrecord vous montreront si le changement est nécessaire pour faire correspondre l’ordre des octets des données d’entrée à l’ordre des octets requis du graveur. cdrecord ne vous montrera pas si le drapeau -swab était présent pour une piste.

-data

Si ce drapeau est présent, toutes les pistes suivantes sont écrites au format CD-ROM mode 1 (Yellow Book). La donnée est un multiple de 2 048 octets. Le fichier avec les données de piste devrait contenir une image de système de fichier ISO-9660 ou Rock Ridge (voir mkisofs pour plus de détails). Si la donnée de piste est une image de système de fichier ufs, la taille de fragment doit être positionnée à 2 Ko ou plus pour permettre aux graveurs avec une taille de secteur de 2 Ko d’être utilisés pour la lecture.

-data est une option par défaut si aucun autre drapeau est présent.

Si ni -data ni -audio n’ont été spécifiées, cdrecord définit par défaut -audio pour tous les fichiers finissant par .au ou .wav et -data pour tous les autres fichiers.

-mode2

Si ce drapeau est présent, toutes les pistes suivantes sont écrites au format CD-ROM mode 2. La donnée est un multiple de 2 048 octets.

-xa1

Si ce drapeau est présent, toutes les pistes suivantes sont écrites au format CD-ROM XA mode 1. La donnée est un multiple de 2 048 octets.

-xa2

Si ce drapeau est présent, toutes les pistes suivantes sont écrites au format CD-ROM XA mode 2. La donnée est un multiple de 2 048 octets.

-cdi

Si ce drapeau est présent, toutes les pistes suivantes sont écrites au format CDI. La donnée est un multiple de 2 048 octets.

-isosize

Utiliser la taille du système de fichier ISO-9660 comme taille pour la prochaine piste. Cette option est nécessaire si vous voulez lire l’image d’une piste à partir d’une partition d’un disque brut ou sur un CD original. Dans le premier cas, l’option -isosize est nécessaire pour limiter la taille du CD à la taille du système de fichier ISO. Dans le second cas, l’option -isosise est nécessaire pour éviter que cdrecord ne lise les deux blocs de fin qui sont ajoutés par chaque graveur en mode « Track-at-once ». Ces deux blocs de fin ne peuvent être lus et causeraient une sous-charge de tampon entraînant une copie défectueuse. Ne pas utiliser cette option si cdrecord lit les données de la piste à partir de l’entrée standard. Cette option ne peut pas être utilisée actuellement pour déterminer la taille du système de fichier si l’option de session multiple est présente.

-pad

Si la piste est une piste de données, 15 secteurs de données nulles seront ajoutés à la fin de chaque piste suivante. Dans ce cas, l’option -pad est abrogée par l’option padsize=. Cependant elle restera comme raccourci pour padsize=15s. Si l’option -pad réfère à une piste audio, cdrecord remplira les données audio pour qu’elle soit un multiple de 2352 octets. L’ajout de données est réalisé avec des zéro binaires, ce qui est égal à un silence absolu.

-pad reste valide jusqu’à ce qu’elle soit désactivée par -nopad.

padsize=#

Positionner le montant de données à être ajouté comme remplissage à la piste suivante à #. Opposée au comportement de l’option -pad, la valeur pour padsize= est remise à zéro pour chaque nouvelle piste. Voir l’option fs= pour les arguments possibles. Utilisez cette option si votre unité de CD n’est pas capable de lire les derniers secteurs d’une piste ou si vous voulez pouvoir lire le CD sur un système Linux avec le bogue de lecture avant du système de fichier ISO-9660. Si un fichier vide est utilisé pour une piste de données, cette option peut être utilisée pour créer un disque entièrement réalisé de remplissage.

-nopad

Ne rien ajouter aux pistes suivantes. Option par défaut.

-shorttrack

Permettre à toutes les pistes suivantes de contrevenir à la longueur standard de piste de Red Book, qui requiert une longueur minimale de piste de 4 secondes. Cette option est seulement utile lorsqu’utilisée en mode DAO. Ce n’est pas toutes les unités qui supportent cette spécificité. L’unité doit accepter le résultat.

-noshorttrack

Renforcer le standard de longueur de piste de Red Book. Les pistes doivent être d’au moins 4 secondes.

pregap=#

Positionner la taille de l’intervalle pour la piste suivante. Cette option a actuellement du sens avec l’unité TEAC quand il y a création de disques « Track-at-once » sans le silence de 2 secondes avant chaque piste. Cette option pourrait disparaître dans le futur.

-preemp

Si ce drapeau est présent, toutes les entrées de la TOC pour les pistes audio indiqueront que les données audio ont été échantillonnées avec 50/15 µsec préemphasé. La donnée, cependant, n’est pas modifiée pendant le processus de transfert à partir du fichier vers le disque. Cette option n’a pas d’effet sur les pistes de données.

-nopreemp

Si ce drapeau est présent, toutes les entrées TOC pour les pistes audio suivantes indiqueront que les données audio ont été gravées avec des données linéaires. C’est une option par défaut.

tsize=#

Si l’image originale pour la piste suivante à été stockée sur un disque brut, utilisez cette option pour spécifier le montant valide de données sur ce disque. Si l’image de la piste suivante est stockée dans un fichier régulier, la taille de ce fichier est prise pour déterminer la longueur de cette piste. Si la piste contient une image du système de fichier ISO 9660 utilisez l’option -isosize pour déterminer la longueur de l’image de ce système de fichiers.

En mode « Disk-at-once » et avec quelques unités qui utilisent l’interface de programmation TEAC, même en mode « Track-at-once », cdrecord a besoin de connaître la taille de chaque piste avant de commencer à écrire sur le disque. cdrecord le vérifie désormais et s’arrête avant de commencer à écrire. Si cela arrive, vous aurez besoin d’utiliser mkisofs -print-size avant et d’utiliser le résultat comme argument à l’option tsize de cdrecord.

Voir fs= pour les arguments possibles.

EXEMPLES

Pour tous les exemples ci-dessous, il sera supposé que cdrecord est connecté au premier bus SCSI de la machine. L’id de la cible est positionné à 2.

Pour enregistrer un CD-ROM pur à double vitesse, en utilisant les données à partir du fichier cdimage.raw :

cdrecord -v speed=2 dev=2,0 cdimage.raw

Pour créer une image pour un système de fichier ISO 9660 avec extensions Rock Ridge :

mkisofs -R -o cdimage.raw /home/joerg/master/tree

Pour vérifier le fichier résultat avant d’écrire sur le CD sur Solaris :

mount -r -F fbk -o type=hsfs /dev/fbk:0cdimage.raw /mnt

Sur Linux :

mount cdimage.raw -r -t iso9660 -o loop /mnt

Continuez avec :

ls -lR /mnt

umount /mnt

Si la vitesse générale du système est suffisante et la structure du système de fichiers n’est pas trop complexe, cdrecord fonctionnera sans créer d’image du système de fichiers ISO 9660. Simplement lancer le tube :

mkisofs -R /master/tree | cdrecord -v fs=6m speed=2
dev=2,0
-

La taille minimale recommandée du fifo pour lancer ce pipeline est de 4 Megaoctets. Comme la taille par défaut est 4 Mo, l’option fs= a besoin d’être présente seulement si vous voulez utiliser une taille de fifo différente. Si votre système est chargé, vous devriez lancer mkisofs dans la classe temps réel également. Pour augmenter la priorité de mkisofs remplacez la commande

mkisofs -R /master/tree

par

priocntl -e -c RT -p 59 mkisofs -R /master/tree

sur Solaris est par

nice --18 mkisofs -R /master/tree

sur les systèmes ne possédant pas la répartition temps réel compatible avec UNIX International.

cdrecord fonctionne à la priorité 59 sur Solaris, vous ne devriez pas faire fonctionner mkisofs à une priorité supérieure à 58. Sur d’autres systèmes, vous ne devriez pas faire fonctionner à moins de nice --18.

Créer un CD-ROM, sans l’image du système de fichiers sur le disque, a été testé sur un Sparcstation-2 avec un Yamaha CDR-400. Il a fonctionné en quadruple vitesse quand la machine n’était pas trop chargée. Une machine plus rapide aurait pu supporter la quadruple vitesse même chargée.

Pour enregistrer un CD-DA pure (audio) à une vitesse, avec chaque piste contenue dans un fichier nommé piste01.cdaudio, piste02.cdaudio, etc :

cdrecord -v speed=1 dev=2,0 -audio piste*.cdaudio

Pour vérifier la possibilité d’utiliser la double vitesse pour l’exemple précédent, utilisez l’option d’écriture -dummy :

cdrecord-v -dummy speed=2 dev=2,0 -audio piste*.cdaudio

Pour enregistrer un CD en mode mixte avec un système de fichiers ISO 9660 à partir de cdimage.raw sur la première piste, les autres pistes étant de l’audio à partir de piste01.cdaudio, piste02.cdaudio, etc :

cdrecord-v -dummy dev=2,0 cdimage.raw -audio piste*.cdaudio

Pour manipuler des unités qui ont besoins de connaître la taille de la piste avant de commencer à écrire, d’abord lancer :

mkisofs -R -q -print-size /master/tree

et ensuite

mkisofs -R /master/tree | cdrecord speed=2 dev=2,0 tsize=XXXs -

où XXX est remplacé par la sortie du premier appel de mkisofs.

Pour copier un CD audio de façon la plus précise, d’abord lancer :

cdda2wav-v255 -D2,0 -B -Owav

et ensuite lancer

cdrecord -v dev=2,0 -dao -useinfo *.wav

ENVIRONNEMENT

CDR_DEVICE

Cette variable peut contenir un identifiant de périphérique qui correspond à l’appel d’ouverture de la bibliothèque de transport SCSI ou une étiquette dans le fichier /etc/defaut/cdrecord.

CDR_SPEED

Positionner la valeur de la vitesse par défaut pour écrire (voir aussi l’option -speed).

CDR_FIFOSIZE

Positionner la taille par défaut du FIFO (voir aussi l’option fs=#).

FICHIERS

/etc/défaut/cdrecord

Les valeurs par défauts pour les options suivantes peuvent être positionnées dans /etc/défaut/cdrecord. Par exemple : \

CDR_FIFOSIZE=8M ou CDR_SPEED=2 .

CDR_DEVICE

Cette variable peut contenir un identifiant de périphérique qui correspond à l’appel d’ouverture de la bibliothèque de transport SCSI ou une étiquette dans le fichier /etc/defaut/cdrecord.

CDR_SPEED

Positionner la valeur de la vitesse par défaut pour écrire (voir aussi l’option -speed).

CDR_FIFOSIZE

Positionner la taille par défaut du FIFO (voir aussi l’option fs=#).

N’importe quelle autre étiquette

est un identifiant pour une unité spécifique du système. Un identifiant ne peut pas contenir les caractères ’,’, ’/’, ’@’ ou ’:’.

Chaque ligne qui suit une étiquette contient une liste d’éléments séparés par des tabulations. Actuellement, trois éléments sont reconnus : l’ID SCSI de l’unité, la vitesse par défaut à utiliser pour cette unité et la taille du FIFO par défaut à utiliser pour cette unité. Les valeurs pour la vitesse et la taille du FIFO peuvent être positionnées à -1 pour indiquer à cdrecord d’utiliser les valeurs globales par défaut. Une ligne typique peut ressembler à ceci :

teac1= 0,5,0   4    8m
yamaha= 1,6,0  -1   -1

Ces lignes indiquent à cdrecord qu’une unité appelée teac1 est au busscsi 0, cible 5, lun 0 et peut être utilisée avec la vitesse 4 et une taille de FIFO de 8 Mo. Une seconde unité peut être trouvée au busscsi 1, cible 6, lun 0 et utilise la vitesse et la taille du FIFO par défaut.

VOIR AUSSI

cdda2wav(1), readcd(1), scg(7), fbk(7), mkisofs(8).

NOTES

Sur Solaris vous devez arrêter le gestionnaire de volume si vous voulez utiliser le remplacement USCSI du code de transport SCSI. Même les options comme cdrecord -scanbus ne fonctionneront pas si le gestionnaire de volume fonctionne.

Les disques réalisés en mode « Track-at-once » ne sont pas acceptables comme original pour une production de masse directe par les fabricants de CD. Vous avez besoin de l’option « Disk-at-once » pour enregistrer de tels disques. Néanmoins les disques réalisés en mode « Track-at-once » sont lus normalement dans tous les lecteurs CD. Quelques vieux lecteurs de CD audio peuvent cependant produire un clic de 2 secondes entre les pistes audio.

La taille minimale d’une piste est de 4 secondes ou 300 secteurs. Si vous écrivez des pistes plus petites, le graveur de CD ajoutera des blocs inutiles. Ceci n’est pas une erreur, même si le message d’erreur SCSI y ressemble.

cdrecord a été testé sur un graveur Philips CDD-521 amélioré à simple et double vitesse sur une SparcStation 20/502 sans problème, des ordinateurs plus lents devraient fonctionner également. Les nouvelles unités Philips/HP/Plasmon/Grundig et également Yamaha CDR-100 et CDR-102 fonctionnent aussi. Le Plasmon RF-4100 fonctionne, mais n’a pas été testé en multisession. Un Philips CDD-521 qui n’a pas été amélioré ne fonctionnera pas. Le Sony CDU-924 a été testé mais ne supporte pas XA-mode2 au niveau matériel. Le Sony ne peut pas créer de disques multisession conformes. Le Ricoh RO-1420C fonctionne, mais des personnes semblent avoir des problèmes à les utiliser avec speed=2, utilisez speed=0 dans ce cas.

Le Yamaha CDR-400 et toutes les nouvelles unités conformes à SCSI-3/mmc sont supportés en simple et multi-session.

Vous devriez faire fonctionner plusieurs tests pour toutes les vitesses supportées par votre unité avec l’option -dummy activée si vous utilisez cdrecord sur un système inconnu. Ãcrire un CD est un processus temps réel. NFS ne fournira pas toujours avec constance le taux de données nécessaire. Si vous désirez utiliser cdrecord avec des images CD situées sur un système de fichiers monté avec NFS, assurez vous que la taille du FIFO soit suffisamment grande. J’ai utilisé cdrecord avec une charge moyenne sur un SS20/502 et même en quadruple vitesse sur un Sparcstation-2 qui était fortement chargé, mais il est recommandé de laisser le système le plus faiblement chargé possible pour graver un CD. Si vous voulez être sûr qu’une sous-charge de tampon ne sera pas causée par votre disque source, vous pouvez utiliser la commande

cdrecord -dummy dev=2,0 padsize=600m /dev/null

pour créer un disque qui est entièrement composé de fausses données, cdrecord a besoin de fonctionner en tant que superutilisateur pour obtenir l’accès aux noeuds de périphérique /dev/scg? et d’être capable de se positionner en mémoire.

Si vous ne voulez pas autoriser les usagers à devenir superutilisateur sur votre système, cdrecord peut de manière sécuritaire être installé « suid-root ». Ceci permet à tous les usagers ou à un groupe d’usagers sans les privilèges du superutilisateur d’utiliser cdrecord. cdrecord, dans ce cas, vérifie si l’usager réel aurait eu la possibilité de lire les fichiers spécifiés. Pour donner accès à l’utilisation de cdrecord à tous les usagers, entrez :

chown root /usr/local/bin/cdrecord
chown 4711 /usr/local/bin/cdrecord

Pour donner à un groupe restreint d’usagers l’accès à cdrecord entrez :

chown root /usr/local/bin/cdrecord
chgrp cdburners /usr/local/bin/cdrecord
chmod 4710 /usr/local/bin/cdrecord

et ajoutez un groupe « cdburners » sur votre système.

Ne donnez jamais aux usagers les permissions d’écriture aux périphériques /dev/scg? à moins que vous n’autorisez n’importe qui à lire/écrire/formater tous vos disques.

Vous ne devriez pas connecter de vieilles unités qui ne supportent pas la déconnexions/reconnexions aux bus SCSI qui est connecté au graveur ou au disque source.

Un Disque Compact ne peut avoir plus de 99 pistes.

Pendant la création d’un disque avec à la fois des pistes audio et de données, les données devraient être sur la piste 1 autrement vous devriez créer un disque CDplus qui est un disque multisession avec la première session contenant les pistes audio et les sessions suivantes contenant les pistes de données.

De nombreux systèmes d’exploitation ne sont pas capables de lire plus qu’une simple piste de données, ou ont besoin de logiciels pour le faire.

Plus d’informations sur l’ensemble des commandes SCSI pour les graveurs HP se trouvent à http://www.hp.com/isgsupport/cdr/index.html <URL:http://www.hp.com/isgsupport/cdr/index.html>

Si vous avez plus d’informations ou des manuels sur les commande SCSI pour des graveurs actuellement non supportés, s’il vous plaît contactez l’auteur.

Le graveur Philips CDD 521 (même la version améliorée) a plusieurs bogues du logiciel résidant. Certains d’entre eux vous forceront à rallumer le périphérique ou à redémarrer la machine.

En utilisant cdrecord avec le pilote générique SCSI de Linux, vous devez noter que cdrecord utilise un bidouillage, qui tente d’émuler les fonctionnalités du pilote scg. Malheureusement, le pilote sg sur Linux a plusieurs bogues sévères :

Il ne peut pas déceler qu’une commande SCSI ne peut pas être envoyée du tout

Il ne peut pas obtenir l’octet de l’état SCSI. cdrecord pour cette raison ne peut pas rapporter les commandes échouées dans cetaines situations.

Il ne peut pas obtenir le compte de transfert réel de la DMA. cdrecord ne peut pas vous dire s’il y a un compte résiduel de la DMA.

Il ne peut pas obtenir le nombre d’octets valides dans les données automatiquement récupérées. cdrecord ne peut pas vous dire si le périphérique transfère des données sans aucun sens.

Il récupère trop peu de données dans le sens de requête automatique (CCS/SCSI-2/SCSI-3 ont besoin >= 18).

La sortie du pourcentage du FIFO est calculée juste après qu’un bloc de données a été écrit sur le disque. Pour cette raison, il n’y aura jamais un FIFO rempli à 100 %, pendant que le FIFO est en mode flux.

DIAGNOSTICS

Vous avez 9 secondes pour taper ^C pour arrêter cdrecord après que vous avez vu le message :

Starting to write CD at speed %d in %s mode for %s session

Un message typique d’erreur pour une commande SCSI ressemble à :

  cdrecord: I/O error. test unit ready: scsi sendcmd: no error
  CDB:  00 20 00 00 00 00
  status: 0x2 (CHECK CONDITION)
  Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00
  Sense Key: 0x5 Illegal Request, Segment 0
  Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0
  Sense flags: Blk 0 (not valid)
  cmd finished after 0.002s timeout 40s

La première ligne donne l’information sur le transport de la commande. Le texte après le premier deux-points donne le texte d’erreur pour l’appel système vu du noyau. C’est habituellement : « I/O error » à moins que d’autres problèmes se passent. Les prochains mots contiennent une courte description pour la commande SCSI qui a échoué. Le reste de la ligne vous indique s’il y a eu des problèmes pour le transport de la commande sur le bus SCSI. Une erreur fatale signifie qu’il a été impossible de transporter la commande (ex : pas de périphérique présent à l’adresse SCSI demandée).

La seconde ligne affiche le bloc descripteur de commande SCSI pour la commande qui a échoué.

La troisième ligne donne l’information sur le code de status SCSI retourné par la commande, si le transport de la commande réussie. C’est une information d’erreur provenant du périphérique SCSI.

La quatrième ligne est le déversement hexadécimal de l’information du sens de requête automatique pour la commande.

La cinquième ligne est le texte d’erreur pour la clé du sens si disponible, suivi par le numéro de segment qui est seulement valable si la commande était une commande de copie. Si le message d’erreur n’est pas directement relié à la commande courante, le texte différé de l’erreur est ajouté.

La sixième ligne est le texte d’erreur pour le send du code et le qualifieur du sens si disponible. Si le type du périphérique est connu, le sens de la donnée est décodé à partir des tables de scsierrs.c. Le texte est suivi par la valeur d’erreur pour un champ d’unité remplaçable.

La septième ligne affiche le numéro du bloc qui est relié à la commande échouée et le texte pour plusieurs drapeaux d’erreur. Le numéro de bloc peut ne pas être valide.

La huitième ligne rapporte la configuration du temps d’expiration pour cette commande et le temps que la commande a réellement eu besoin pour finir.

Le message suivant n’est pas une erreur :

  Track 01: Total bytes read/written: 2048/2048 (1 sectors).
  cdrecord: I/O error. flush cache: scsi sendcmd: no error
  CDB:  35 00 00 00 00 00 00 00 00 00
  status: 0x2 (CHECK CONDITION)
  Sense Bytes: F0 00 05 80 00 00 27 0A 00 00 00 00 B5 00 00 00 00 00
  Sense Key: 0x5 Illegal Request, Segment 0
  Sense Code: 0xB5 Qual 0x00 (dummy data blocks added) Fru 0x0
  Sense flags: Blk -2147483609 (valid)
  cmd finished after 0.002s timeout 40s

Il indique simplement qu’une piste qui est plus petite que la taille minimum a été étendue à 300 secteurs.

BOGUES

cdrecord a encore plus d’options que ls.

Actuellement, cdrecord avertit seulement si la donnée d’entrée ne tiendra pas sur le disque. Si vous n’annulez pas la commande vous obtiendrez des résultats imprévisibles.

Il devrait y avoir une option pour écrire les numéros d’index pour les pistes audio.

Il devrait y avoir une option de recouvrement pour rendre les disques utilisables, ceux ayant été écrits au moment d’un problème d’alimentation électrique.

CRÃDITS

Bill Swart <Bill_Swartz@twolf.com>

Pour m’avoir aidé au sujet du support de pilote TEAC.

Aaron Newsome <aaron.d.newsome@wdc.com>

Pour m’avoir laissé développer le support Sony sur son unité.

Eric Youngdale <eric@adante.jic.com>

Pour avoir fourni mkisofs.

Gadi Oxman <gadi@netvision.net.il>

Pour les conseils sur le standard ATAPI.

Finn Arne Gangstad <finnag@guardian.no>

Pour la première implantation de FIFO.

Dave Platte <dplatt@feghoot.ml.org>

Pour avoir créé le support expérimental d’écriture de paquets, la première implantation pour vider un CD-RW, le premier décodeur de fichier .wav et de nombreuses discussions sympas sur cdrecord.

Chris P. Ross <cross@eng.us.uu.net>

Pour la première implantation d’un transport SCSI BSDI.

Grant R. Guenthe <cross@eng.us.uu.net>

Pour avoir créé la première implantation de transport sur le port parallèle pour Linux.

Kenneth D. Merry <ken@kdm.org>

Pour avoir fourni le port de CAM pour FreeBSD avec Michael Smith <msmith@freebsd.org>.

LISTE DE DIFFUSION

Si vous voulez prendre part activement au développement de cdrecord, vous pouvez joindre la liste de diffusion en envoyant un courriel à : <other-cdwrite-request@lists.debian.org> et inclure le mot « subscribe » dans le corps. L’adresse de courriel de la liste est : <other-cdwrite@lists.debian.org>

AUTEUR

Joerg Schilling
Seestr. 110
D-13353 Berlin
Germany

Des informations additionnelles peuvent être trouvées à : http://www.fokus.gmd.de/usr/schilling/cdrecord.html <URL:http://www.fokus.gmd.de/usr/schilling/cdrecord.html>

Si vous avez des questions liées à l’utilisation, envoyez-les à : <cdrecord-support@berlios.de> ou à <other-cdwrite@lists.debian.org>

Si vous avez trouvé un bogue, envoyez un courriel à : <cdrecord-developers@berlios.de> ou à <schilling@fokus.gmd.de>

Pour vous abonner, utilisez: http://lists.berlios.de/mailman/listinfo/cdrecord-developers <URL:http://lists.berlios.de/mailman/listinfo/cdrecord-developers> ou http://lists.berlios.de/mailman/listinfo/cdrecord-support <URL:http://lists.berlios.de/mailman/listinfo/cdrecord-support>

TRADUCTION

Aymeric Nys , <aymeric@nnx.com>.

RELECTURE

Gérard Delafond


cdrecord(1)