[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 166.   Masterizzazione con GNU/Linux

Per giungere alla realizzazione di un proprio CD o DVD, occorre un'unità per la masterizzazione e il software adatto per trasferire un'immagine ISO 9660 nel disco vergine. In questo capitolo viene spiegato il procedimento a grandi linee. Prima di giungere alla masterizzazione vera e propria, ma anche prima di acquistare un masterizzatore, è bene leggere tutta la documentazione disponibile al riguardo, a cominciare da CD-Writing HOWTO di Winfried Trümper.

Il CD o il DVD che può essere realizzato in casa è un CD-R o un DVD-R/DVD+R, ovvero un Compact disk recordable o un Digital video disk recordable, oppure un CD-RW o un DVD-RW/DVD+RW, ovvero un Compact disk rewritable o un Digital video disk rewritable.

Teoricamente, il programma adatto per incidere un CD-ROM, dovrebbe essere capace di fare altrettanto con un DVD-ROM, ma in pratica, spesso non è così (si ricordi soprattutto che i DVD «+» richiedono una modalità di registrazione differente e ciò richiede di fatto strumenti specifici).

Tabella 166.1. Riepilogo dei programmi per la creazione di CD-ROM e di DVD-ROM.

Nome Descrizione
cdrecord Incide un CD-ROM, a partire da un file system ISO 9660 già pronto.
wodim Incide un CD-ROM, a partire da un file system ISO 9660 già pronto.
cdrdao Incide un CD-ROM, a partire da un file system ISO 9660 già pronto.
dvdrecord Incide un DVD-ROM, a partire da un file-immagine già pronto (file system ISO 9660 o altro).
growisofs Incide un DVD-ROM (DVD±R o DVD±RW), a partire da un file-immagine già pronto, o utilizzando in modo trasparente mkisofs. Gestisce in modo trasparente le sessioni multiple.
dvd+rw-format Inizializza o modifica la modalità di scrittura di un DVD±RW.
isosize Determina la dimensione della prima traccia dati di un CD-ROM o di un DVD-ROM.

166.1   Masterizzatore SCSI

Il masterizzatore di tipo SCSI richiede che il kernel sia stato predisposto opportunamente (sezione 72.2.12), includendo in particolare la gestione generica delle unità SCSI. Oltre a questo, naturalmente, occorre avere indicato il tipo di unità di controllo SCSI di cui si dispone.

La registrazione di un CD attraverso un'unità SCSI avviene per mezzo di un dispositivo SCSI generico, utilizzando i file di dispositivo /dev/sc*. Questo significa anche che il programma di registrazione richiede l'identificazione dell'unità SCSI attraverso dei modi inconsueti. È necessario determinare di quale unità di controllo SCSI si tratta (probabilmente è l'unica installata), il numero dell'unità SCSI e l'eventuale LUN (se il LUN non viene utilizzato, questo corrisponde semplicemente a zero).

166.1.1   Masterizzatore ATA/ATAPI con emulazione SCSI

Con i kernel Linux più vecchi, per utilizzare un masterizzatore collegato attraverso l'interfaccia ATA/ATAPI, occorreva abilitare l'emulazione SCSI all'interno della gestione ATAPI. In pratica, oltre alle indicazioni già viste per la masterizzazione utilizzando un'interfaccia SCSI, occorreva disabilitare la gestione del lettore CD-ROM/DVD-ROM ATA/ATAPI e attivare l'emulazione SCSI (sezione 72.2.11). Inoltre, dal momento che il kernel Linux non era in grado di distinguere la presenza di un masterizzatore ATAPI, occorreva dare l'opzione seguente in fase di avvio (dove hdx rappresenta la x-esima unità ATA):

hdx=ide-scsi

La cosa è spiegata meglio nella sezione 82.7, a proposito del bus ATA.

Utilizzando un kernel predisposto in questo modo, le unità CD-ROM o DVD-ROM risultavano accessibili dai dispositivi /dev/sr* oppure /dev/scd* e non più attraverso quelli corrispondenti ai dispositivi ATA (capitolo 82). Per verificare il riconoscimento di queste unità pseudo-SCSI, si può provare a utilizzare cdrecord con l'opzione -scanbus.

Se un programma per la masterizzazione di un CD ha difficoltà a riconoscere un modello ATAPI con emulazione SCSI, si può provare a indicarlo esplicitamente come un tipo MMC generico. Per esempio, con Cdrdao si può usare l'opzione --driver generic-mmc-raw.

166.2   Problemi legati alla masterizzazione

La registrazione di un CD o di un DVD è un'operazione a senso unico senza possibilità di ripensamenti né ritardi. Se qualcosa non va, il disco che si ottiene è inutilizzabile. Vanno tenute a mente alcune regole fondamentali:

Il problema legato al flusso di dati costante è probabilmente il più delicato. Questo generalmente impedisce di utilizzare per altre attività l'elaboratore con cui si esegue la masterizzazione. Anche il problema della vibrazioni non deve essere trascurato; un urto potrebbe rovinare la registrazione, ma nello stesso modo, anche un'intensa attività del disco fisso può produrre delle vibrazioni capaci di interferire con la registrazione del CD.

Per ultimo va considerato anche il problema della pulizia del CD: prima della registrazione è opportuno afferrarlo con cura in modo da non sporcare il lato che deve essere inciso. Una volta registrato, è meno importante il problema della pulizia, salvo il caso del CD-RW che deve rimanere pulito per consentire il riutilizzo successivo in registrazione.

166.3   Determinazione delle coordinate SCSI e ATAPI

I programmi usati per incidere un CD, richiedono di specificare le coordinate SCSI necessarie a individuare il masterizzatore. Queste coordinate possono essere lette all'interno del file virtuale /proc/scsi/scsi. Per esempio si può vedere qualcosa come il listato seguente:

Attached devices: 
Host: scsi0 Channel: 00 Id: 06 Lun: 00
  Vendor: HP       Model: CD-Writer+ 9200  Rev: 1.0e
  Type:   CD-ROM                           ANSI SCSI revision: 04
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: IBM-DJSA Model: -210             Rev: AB8A
  Type:   Direct-Access                    ANSI SCSI revision: 02

In questo caso, si vede la presenza di un masterizzatore nell'unità di controllo 0, canale 0, ID 6, LUN 0. Per programmi come Cdrecord e Cdrdao, il canale non conta e le coordinate si esprimerebbero con la stringa 0,6,0.

Quando le unità ATAPI vengono usate con emulazione SCSI, queste appaiono nel file /proc/scsi/scsi come se fossero unità SCSI normali; se invece si usa un kernel Linux recente e non si applica la tecnica dell'emulazione SCSI, le coordinate per i programmi come Cdrecord e Cdrdao si danno in un modo leggermente diverso, per esempio ATAPI:0,1,0. La tabella successiva riepiloga le corrispondenze tra file di dispositivo ATAPI e coordinate numeriche per i programmi di masterizzazione.

Tabella 166.3. Coordinate ATAPI e file di dispositivo corrispondenti.

Coordinate File di dispositivo
ATAPI:0,0,0
/dev/hda
ATAPI:0,1,0
/dev/hdb
ATAPI:1,0,0
/dev/hdc
ATAPI:1,1,0
/dev/hdd
ATAPI:2,0,0
/dev/hde
ATAPI:2,1,0
/dev/hdf

166.4   Cdrecord e Wodim

Cdrecord(1) e Wodim(2), corrispondenti agli eseguibili cdrecord e wodim, sono programmi molto simili, in grado di registrare CD-R attraverso un gran numero di unità, principalmente SCSI. Per conoscere precisamente quali unità sono in grado di gestire conviene consultare la documentazione interna.

cdrecord [opzioni_generali] dev=dispositivo [opzioni_di_traccia] traccia...
wodim [opzioni_generali] dev=dispositivo [opzioni_di_traccia] traccia...

Per l'utilizzo di unità SCSI occorre conoscere precisamente le coordinate dell'unità di masterizzazione. L'indirizzo può essere composto in vari modi; in particolare in quelli seguenti:

dev=unità_controllo_scsi,scsi_id,lun
dev=scsi_id,lun
dev=ATAPI:bus_ata,id,lun

In pratica, il secondo modo può essere utilizzato quando si dispone di un'unica unità di controllo SCSI; il terzo riguarda invece l'uso di un'unità ATAPI.

Le tracce sono semplicemente nomi di file da usare durante la registrazione. Se si intende utilizzare lo standard input si deve indicare un trattino singolo (-).(3)

Eventualmente, utilizzando l'opzione -scanbus, assieme a dev=tipo, è possibile conoscere quali unità di controllo, assieme all'indicazione delle unità collegate e alle loro coordinate (si vedano gli esempi a questo proposito).

Tabella 166.4. Alcune opzioni generali. Le opzioni generali vanno indicate prima della specificazione delle coordinate necessarie a raggiungere l'unità di registrazione.

Opzione Descrizione
-v
Durante la registrazione emette più informazioni.
-V
Durante la registrazione emette più informazioni legate al trasporto SCSI. L'uso di questa opzione è sconsigliabile in generale, perché genera un rallentamento che potrebbe provocare l'interruzione della registrazione.
-dummy
Permette di eseguire tutte le operazioni in simulazione. In pratica, tutto avviene come nella realtà, tranne per il fatto che il laser rimane spento.
-dao
Attiva la modalità SAO (Session at once). Questa modalità può essere usata solo con i masterizzatori che sono in grado di gestirla.
-multi
Lascia aperta la sessione, per consentire l'aggiunta di altre sessioni in seguito. È importante ricordare che non tutti i lettori CD-ROM sono in grado di leggere CD multisessione.
-msinfo
Emette una coppia di numeri che indica la posizione iniziale dell'ultima sessione presente nel CD e la posizione iniziale della prossima sessione che può essere aggiunta.
-nofix
Permette di non concludere una sessione con l'indice TOC. Ciò si usa solitamente per realizzare un CD audio in fasi successive, tenendo conto che un CD audio senza l'indice TOC finale non può essere ascoltato in un apparecchio di riproduzione normale. Si ottiene la creazione dell'indice TOC mancante con l'opzione -fix.
-fix
Permette di concludere una sessione inserendo un indice TOC, quando questa operazione non è già stata fatta automaticamente (fixating). Generalmente, questa opzione non viene utilizzata, perché la creazione dell'indice TOC è implicita, salvo l'uso dell'opzione -nofix.
-eject
Espelle il disco alla fine delle operazioni.
speed=velocità
Permette di definire la velocità di registrazione. Il valore da inserire è un numero intero corrispondente a un multiplo della velocità standard di riproduzione di un CD audio: 175 Kibyte/s. Per fare un esempio, il numero quattro corrisponde a quello che di solito si esprime come «x4» o «4x».
blank={all|fast|session\
  \|unclose|altra_opzione}
Permette di cancellare un CD-RW prima di un nuovo riutilizzo. Si utilizza una parola chiave per definire cosa cancellare esattamente. Il minimo è fast, che si limita a sovrascrivere gli indici, consentendo un riutilizzo completo del disco; all cancella tutto; session elimina solo l'ultima sessione unclose riapre l'ultima sessione, consentendo di accodare altre sessioni.Sono disponibili altre parole chiave per situazioni particolari, di cui si trova la descrizione nella pagina di manuale cdrecord(1).
driver=nome_driver
Permette di stabilire in che modo accedere al masterizzatore attraverso il nome che lo rappresenta sinteticamente (driver). Generalmente non è necessario specificarlo, a meno che cdrecord non sia in grado di riconoscere il tipo di unità. Si può usare precisamente l'opzione driver=help per conoscere l'elenco aggiornato dei nomi disponibili.

Tabella 166.5. Alcune opzioni di traccia. Le opzioni di traccia possono essere alternate tra i nomi dei file che rappresentano le tracce da registrare. La validità dell'effetto di queste opzioni riguarda le tracce successive, fino a che non si incontrano opzioni contrarie.

Opzione Descrizione
-data
Questa opzione è predefinita e permette di specificare che le tracce seguenti contengono dati ISO 9660 o Rock Ridge.
-audio
Indica che le tracce seguenti sono di tipo audio.
-pad
Aggiunge alla fine delle tracce una pausa di circa 15 secondi. Questa opzione può essere utile se il lettore risulta incapace di leggere gli ultimi settori delle tracce.
-bytes=dimensione
Questa opzione permette di specificare la dimensione in byte dell'immagine della traccia successiva. Può essere necessaria tale indicazione quando si tratta di una partizione di un disco, per cui la dimensione reale della traccia è inferiore a quella della partizione stessa. Generalmente si utilizza un'immagine in un file, la cui dimensione coincide con quella della traccia; in tal caso, questa opzione non ha la necessità di essere inserita.

Segue la descrizione di alcuni esempi.

166.5   Cdrdao

Cdrdao (4) è un programma per la registrazione di CD, specificando le varie tracce di una sessione attraverso un file di testo, indicato nel modello sintattico come file_toc. A questo file si fa riferimento come «file TOC». Cdrdao si compone in pratica dell'eseguibile cdrdao, che si usa con la sintassi seguente:

cdrdao comando [opzioni] file_toc...

Per l'utilizzo di unità SCSI occorre conoscere precisamente le coordinate dell'unità di masterizzazione. L'indirizzo, che va indicato come argomento delle opzioni --device e --source-device, deve essere composto nel modo seguente, che è compatibile con cdrecord:

unità_controllo_scsi,scsi_id,lun
ATAPI:bus_ata,id,lun

Cdrdao è particolarmente adatto per la realizzazione di CD audio; tuttavia si vuole mostrare qui solo l'uso utile per ottenere dei CD-ROM.

Tabella 166.7. Alcuni comandi.

Opzione Descrizione
simulate
Simula la scrittura del CD a laser spento.
write
Richiede la scrittura normale del CD, in base alle specifiche contenute nel file TOC.

Tabella 166.8. Alcune opzioni.

Opzione Descrizione
--device unità_controllo_scsi,\
  \scsi_id,lun
--device ATAPI:bus_ata,\
  \id,lun
Specifica l'unità SCSI da utilizzare per la scrittura del CD.
--speed n
Permette di definire la velocità di registrazione. I valori comuni possono essere 1, 2, 4 e 8. La scelta dipende dalla velocità massima che può gestire l'unità di masterizzazione e il CD utilizzato.
--buffers n
Permette di specificare la quantità di aree di memoria tampone da allocare per prevenire interruzioni nel flusso dei dati al masterizzatore. Il valore minimo è 10, mentre il valore predefinito è 32.
--eject
L'uso di questa opzione fa in modo che venga espulso il CD al termine della registrazione.
-v n
Questa opzione consente di stabilire il livello di dettaglio che si vuole raggiungere nelle informazioni fornite durante il funzionamento. Valori superiori a due danno una quantità molto grande di informazioni.
--driver nome[:opzioni]
Consente di forzare il riconoscimento del masterizzatore in base alle caratteristiche corrispondenti al nome indicato. Per esempio, il tipo generic-mmc-raw corrisponde al masterizzatore comune di tipo ATAPI con emulazione SCSI.

Per la realizzazione di CD-ROM normali, in cui si registra una sola traccia, il file TOC è molto semplice da definire e non è il caso di approfondirne la sintassi. Viene mostrato solo un esempio standard:

CD_ROM
TRACK MODE1
DATAFILE "traccia_1"

In questo caso si fa riferimento all'immagine traccia_1, contenuta nella directory corrente, probabilmente dove si trova anche il file TOC (gli apici doppi che racchiudono il nome del file sono obbligatori).

Segue la descrizione di alcuni esempi di utilizzo.

166.6   Dischi multitraccia e dischi multisessione

Il contenuto di un CD o di un disco simile, si suddivide in sessioni (fasi successive di scrittura), che a loro volta si suddividono in tracce. Ogni traccia può avere una destinazione differente; per esempio può trattarsi di un brano musicale, di un file system, o un altro tipo di informazione.

Indipendentemente dalla possibilità tecnica di realizzare un disco contenente più di una traccia per sessione e più di una sessione per disco, è poi il contesto che consente o meno di utilizzare queste tecniche.

166.6.1   Tracce

Un CD o un DVD contenente dei dati (CD-ROM o DVD-ROM) deve utilizzare per questo la prima traccia della prima sessione. Eventualmente, la sessione può contenere anche altre tracce di tipo diverso (di solito tracce audio), che non vanno così a interferire con i dati.

Volendo, è molto facile realizzare in un CD-ROM una sessione contenente diverse immagini di dati, in altrettante tracce, ma poi diventa impossibile innestarle. Per esempio, se si utilizza Cdrecord nel modo seguente, dove i file uno.img e due.img sono due immagini ISO 9660, si ottengono effettivamente due tracce dati, ma quando si innesta il CD, si accede in pratica solo alla prima delle due:

cdrecord dev=ATAPI:0,1,0 -data uno.img due.img[Invio]

166.6.2   Sessioni

Teoricamente è possibile aggiungere dei dati a un CD-ROM che contiene una sessione aperta, in cui la traccia dati contiene un file system ISO 9660. Per ottenere questo risultato, si crea una seconda immagine ISO 9660 speciale, che viene inserita in una traccia nella sessione successiva. Quando si innesta un CD-ROM del genere, se si fa riferimento all'ultima sessione, si dovrebbe riuscire a «vedere» l'insieme dei file system.

In pratica, è bene evitare di agire in questo modo, perché si tratta di un procedimento complesso e il risultato non è sempre assicurato.

Per cercare di mostrare come funziona la cosa, si mostra un esempio che parte dalla creazione della prima immagine, da inserire nella prima traccia (della prima sessione):

mkisofs -r -o uno.img /home/tizio/uno[Invio]

Con questo comando si genera il file uno.img contenente l'immagine ISO 9660 della directory /home/tizio/uno/.

Si masterizza la prima sessione con la traccia dati corrispondente al file uno.img, utilizzando il masterizzatore collocato nella posizione «ATAPI:0,1,0» (/dev/hdb):

cdrecord dev=ATAPI:0,1,0 -multi -data uno.img[Invio]

A questo punto si può verificare la collocazione della sessione:

cdrecord dev=ATAPI:0,1,0 -msinfo[Invio]

0,17794

Il primo numero rappresenta l'inizio della sessione e il secondo sarebbe la posizione iniziale per la sessione successiva. Questa informazione viene usata da mkisofs (oppure mkhybrid) per generare l'immagine dell'aggiunta che si vuole generare:

mkisofs -r -C `cdrecord dev=ATAPI:0,1,0 -msinfo` -M uno.img \
  \-o due.img /home/tizio/prova_1
[Invio]

Come si vede, mkisofs ha bisogno di conoscere la collocazione della sessione precedente e di quella successiva, ma soprattutto ha bisogno di rileggere l'immagine precedente. Si passa così alla masterizzazione dell'immagine due.img nella seconda sessione:

cdrecord dev=ATAPI:0,1,0 -multi -data due.img[Invio]

Volendo si può controllare ancora la posizione dell'ultima sessione:

cdrecord dev=ATAPI:0,1,0 -msinfo[Invio]

17794,24996

Per innestare la seconda sessione del CD-ROM, allo scopo di trovare la somma delle due immagini contenute, occorre fare riferimento esplicito alla seconda (ultima) sessione:

mount -o session=1 -t iso9660 /dev/hdb /mnt/cdrom[Invio]

166.7   DVD-ROM

La realizzazione di un DVD-ROM richiede normalmente l'uso di strumenti differenti rispetto a quelli utili per i CD-ROM, perché il DVD offre possibilità in più rispetto al CD-ROM tradizionale, anche se i concetti fondamentali rimangono.

166.7.1   Dvdrecord

Dvdrecord, (5) è una derivazione di Cdrecord, realizzata in modo particolare per l'incisione di DVD-R e DVD-RW. Si compone dell'eseguibile dvdrecord che utilizza diverse opzioni nello stesso modo di cdrecord:

dvdrecord [opzioni_generali] dev=dispositivo [opzioni_di_traccia] traccia...

L'esempio seguente mostra la procedura per cancellare un DVD-RW comune, in modo rapido, utilizzando un masterizzatore ATAPI che risulta avere le coordinate ATAPI:0,1,0:

dvdrecord -v -dao blank=fast driver=mmc-mdvd speed=2 dev=ATAPI:0,1,0[Invio]

Per procedere all'incisione partendo da un file-immagine (in questo caso si tratta del file immagine.iso), si può usare un comando simile a quello seguente:

dvdrecord -v -dao -overburn driver=mmc-mdvd speed=2 dev=ATAPI:0,1,0 immagine.iso[Invio]

Si osservi che la velocità specificata con l'opzione speed va considerata nel contesto del DVD, pertanto il flusso di dati che si ottiene è di gran lunga maggiore rispetto allo stesso valore usato per incidere un CD-ROM.

166.7.2   Growisofs e DVD+rw-format

Growisofs,(6) è il programma principale del pacchetto DVD+rw-tools, che, nonostante il nome, è rivolto sia a DVD+R/DVD+RW, sia a DVD-R/DVD-RW:

growisofs [opzioni_generali] {-Z|-M} file_di_dispositivo opzioni_di_mkisofs

Il modello sintattico mostrato non è abbastanza chiaro e si rende necessario osservare gli esempi per comprendere il senso generale.

Il nome Growisofs deriva dal fatto che originariamente il suo scopo era di pilotare correttamente il programma mkisofs per consentire l'aggiunta di dati a un file system ISO 9660 su un'unità di memorizzazione che lo consente. Attualmente, Growisofs gestisce in modo trasparente diverse tecniche che consentono in pratica di aggiungere dati a un DVD-ROM.

La differenza fondamentale di Growisofs (e degli altri programmi del pacchetto DVD+rw-tools) rispetto a Cdrecord e ai suoi derivati, sta nel fatto che l'unità del masterizzatore viene individuata attraverso il file di dispositivo, per esempio /dev/hdb, senza bisogno di fornire di coordinate numeriche.

Prima di passare agli esempi di utilizzo di Growisofs conviene conoscere l'uso delle opzioni principali specifiche di questo programma, ricordando che alla fine della riga di comando si inseriscono le opzioni e gli argomenti da dare a mkisofs, ammesso che non si intenda fornire un file-immagine già pronto per la masterizzazione.

Tabella 166.12. Alcune opzioni specifiche di Growisofs.

Opzione Descrizione
-Z file_di_dispositivo
-M file_di_dispositivo
È obbligatorio l'uso di una di queste due opzioni, per stabilire il file di dispositivo corrispondente all'unità fisica da usare per la masterizzazione. L'opzione -Z (zap) dichiara che si tratta di una sessione iniziale, mentre l'opzione -M (merge) richiede l'aggiunta di una nuova sessione a quelle esistenti.
-Z file_di_dispositivo=file_immagine
Questa variante nell'uso dell'opzione -Z, consente di fornire un file-immagine già pronto, senza bisogno di utilizzare mkisofs.
-dvd-compat
Fa in modo di registrare una sola sessione, senza la possibilità di aggiungerne altre.
-speed=n
Consente di specificare la velocità di scrittura, quando per qualche ragione non si vuole lasciare determinare automaticamente questo valore.

Segue la descrizione di alcuni esempi di utilizzo del programma; si osservi che dopo l'opzione -Z o -M, appaiono opzioni e argomenti di mkisofs.

Il pacchetto DVD+rw-tools include anche un altro programma che può rivelarsi molto importante: DVD+rw-format. Come si può osservare, nella descrizione fatta di Growisofs mancano delle opzioni specifiche per la «cancellazione» di un DVD±RW e in effetti non c'è alcun bisogno di fare questo, salvo quando si vuole utilizzare Growisofs in modo non interattivo all'interno di uno script.

Quando si utilizza Growisofs all'interno di uno script, con l'opzione -Z, se il disco fornito risulta contenere già un file system ISO 9660, il procedimento viene interrotto, perché non c'è modo di dare all'utente il tempo di rinunciare all'operazione.

Il programma DVD+rw-format serve a compiere delle operazioni piuttosto «misteriose», simili all'inizializzazione di un disco comune:

dvd+rw-format [-force[=full]] [-blank[=full]] file_di_dispositivo

Il programma DVD+rw-format consente di conoscere e di modificare la modalità, che può essere sequenziale o restricted overwrite (il secondo caso riguarda solo i DVD-RW). Per leggere la modalità, basta usare il programma senza opzioni:

dvd+rw-tools /dev/hdb[Invio]

In questo modo si legge la situazione del disco contenuto nell'unità corrispondente al file di dispositivo /dev/hdb. Ecco cosa si potrebbe ottenere:

* DVD±RW format utility by <appro@fy.chalmers.se>, version 4.9.
* 4.7GB DVD-RW media in Restricted Overwrite mode detected.
- media is already formatted, lead-out is currently at
  183200 KB which is 4.0% of total capacity.
- you have the option to re-run dvd+rw-format with:
  -force[=full] to enforce new format or mode transition
                and wipe the data;
  -blank[=full] to change to Sequential mode.

In situazioni difficili, con DVD-RW che non vogliono saperne di funzionare, si è rivelato utile agire con la sequenza di comandi seguente, dove comunque il punto numero due è facoltativo:

  1. dvd+rw-tools -force=full /dev/hdb[Invio]

  2. growisofs -Z /dev/hdb=/dev/zero[Invio]

  3. growisofs -Z /dev/hdb=immagine.iso[Invio]

In pratica, nell'ultimo passaggio viene copiato un file-immagine già pronto. L'errore osservato che nel modo appena mostrato è stato possibile risolvere si è manifestato così:

growisofs -Z /dev/hdb=immagine.iso[Invio]

/dev/hdb: "Current Write Speed" is 1.0x1385KBps.
:-[ WRITE@LBA=0h failed with SK=5h/ASC=30h/ACQ=05h]: Wrong medium type
:-( media is not formatted or unsupported.
:-( write failed: Wrong medium type

Per concludere è il caso di annotare che il programma growisofs potrebbe risiedere nel file system con i permessi «SUID-root», in modo che ogni utente possa accedere all'unità di scrittura DVD senza difficoltà. Teoricamente, il programma dovrebbe essere in grado di usare tali privilegi solo per la registrazione del disco, tornando ai privilegi originali nel momento in cui deve accedere ai dati da memorizzare.

166.8   Estrazione della prima traccia dati

Un file system ISO 9660 può trovarsi in un CD-ROM o in un altro tipo di unità di memorizzazione, precisamente nella prima traccia dati. Qualunque sia la situazione, questa traccia dati può avere una dimensione inferiore all'unità di memorizzazione. Trovandosi nella necessità di estrarla, è utile conoscerne tale dimensione.

Se c'è il modo di innestarlo, basta utilizzare successivamente il comando df per sapere esattamente il numero di kibibyte (simbolo: «Kibyte») contenuti; ma in alternativa si può utilizzare Isosize(7), corrispondente al programma eseguibile isosize:

isosize file_di_dispositivo

Per esempio, il comando seguente mostra in che modo sia possibile determinare la dimensione della prima traccia dati del CD-ROM inserito nel lettore corrispondente al dispositivo /dev/hdc:

isosize /dev/hdc[Invio]

Volendo estrarre la traccia, senza altri dati aggiuntivi, si potrebbe utilizzare dd nel modo seguente:

dd if=/dev/hdc of=traccia bs=1b count=`isosize /dev/hdc`[Invio]

166.8.1   Verifica di un disco appena registrato

La verifica del successo o meno nella registrazione di un CD-ROM o di un DVD-ROM può essere fatta in un modo piuttosto semplice: leggendo tutto il contenuto e verificando se con questa operazione si ottengono delle segnalazioni di errore.

Supponendo di disporre di un lettore per CD-ROM o per DVD-ROM in corrispondenza del dispositivo /dev/hdc, si potrebbe procedere come segue:

cat /dev/hdc > /dev/null 2> /tmp/errori.txt[Invio]

Se tutto va bene, alla fine si ottiene un file /tmp/errori.txt vuoto. Altrimenti il file riporta una segnalazione del tipo seguente:

cat: /dev/hdc: I/O error

Alle volte si possono osservare sullo schermo delle segnalazioni di errore aggiuntive anche quando il file /tmp/errori.txt, o un suo equivalente, risulta vuoto alla fine del test. Dal momento che sia lo standard output, sia lo standard error del comando, sono ridiretti, si tratta di messaggi estranei provenienti dal sistema. A tali messaggi di errore corrispondono poi dei nuovi tentativi; solo se il sistema non riesce in alcun modo a superare gli errori viene coinvolto il comando stesso, che poi lo segnala attraverso lo standard error.

Se si ottiene una segnalazione di errore attraverso lo standard error di un comando di lettura, come cat, il CD-ROM o il DVD-ROM è difettoso, altrimenti gli errori segnalati sullo schermo sono ignorabili. Inoltre, è il caso di ricordare che prima di iniziare il controllo di un altro disco, è necessario cancellare il file di destinazione dello standard error.

rm /tmp/errori.txt ; cat /dev/hdc > /dev/null 2> /tmp/errori.txt[Invio]

Tuttavia, si potrebbe fare meglio utilizzando il programma isosize già descritto nella sezione precedente. In questo modo si evitano tentativi di lettura oltre la fine della traccia, che generano normalmente degli errori tali da creare un po' di confusione:

dd if=/dev/hdc of=/dev/null bs=1b count=`isosize /dev/hdc`[Invio]

166.9   CD-ROM e DVD-ROM con file system differenti

Un CD o un DVD può essere masterizzato anche utilizzando per la traccia dati un file system differente dal solito ISO 9660. Evidentemente, qualunque cosa sia, alla fine è possibile solo l'accesso in lettura. In questo senso è da considerare la possibilità di utilizzare i CD o un DVD per l'archiviazione di un file singolo (tar+gzip, o qualcosa del genere), senza la necessità di creare l'immagine di un file system vero e proprio.

È importante ricordare che un CD o un DVD contenente tracce audio, non può essere innestato: l'ascolto richiede programmi appositi, così come l'estrazione delle tracce (capitolo 641).

166.10   Riferimenti

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) Cdrecord   GNU GPL

2) Cdrecord   GNU GPL

3) Generalmente, l'utilizzo di un condotto (pipeline) per generare l'input di un programma di masterizzazione dei CD-R è sconsigliabile. Ciò perché potrebbero verificarsi dei ritardi nel flusso di dati che giunge all'unità di masterizzazione, provocando l'interruzione irreversibile della registrazione stessa.

4) Cdrdao   GNU GPL

5) Dvdrtools   GNU GPL

6) DVD+rw-tools   GNU GPL

7) Isosize   GNU GPL


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome masterizzazione_con_gnu_linux.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!