16.3. Procedura di masterizzazione CDR

16.3.1. Creazione dell'immagine iso con mkisofs

Il comando generale da usare è:

mkisofs [opzioni] -o nome_file_immagine.iso /directory/da/esportare
       

Opzioni possibili:

-A "Etichetta cd"

-b boot.img 
            --- Per rendere il cd bootabile (El Torito extensions). Il
                file file boot.img viene creato tramite il comando:
                dd if=/dev/fd0 of=boot.img bs=18k con un floppy di boot
                nel device /dev/fd0 (un floppy di boot di qualsiasi OS...
                perfino winbug!)
                va aggiunta necessariamente anche l'opzione successiva.

-c boot.catalog 
            --- Per questo non c'è problema, il boot.catalog lo crea
                automaticamente mkisofs

-C #inizio ultima sessione,#inizio prossima sessione
            --- Necessario - insieme all'opzione -M per le sessioni
                successive alla prima (vedi la sezione "multisessione")

-D          
            --- Viola le regole standard dell'ISO9660 permettendo di
                abbattere il limite degli 8 livelli di subdir massimi.
                Normalmente il cd lavora ugualmente bene su parecchi
                sistemi.

-l
            --- Abbatte il limite del formato 8.3 MS-DOS permettendo
                nomi di files di 30 caratteri. I sistemi DOS potrebbero
                non leggere più il cd.

-J
            --- Estensioni MS Joliet per rendere il cd compatibile col
                set di caratteri dei vari Winbug.

-L
            --- Copia nel file iso anche i files che iniziano con "."

-M path
   oppure
-M device
            --- Specifica il percorso alla immagine ISO9660 precedente
                esistente che deve essere "fusa" (va bene anche
                indicare il nome della periferica). Necessario insieme 
                all'opzione -C per le sessioni successive alla prima 
                (vedi sotto).

-P "Editore"
   e
-p "Preparatore"
            --- Sono stringhe: se proprio volete metterle scriveteci 
                quello che più vi aggrada

-o /percorso/nomefile.iso
            --- Indica dove piazzare il file iso da creare e come
                chiamarlo

-R
            --- Attiva le esensioni RockRidge (proprietà e
                permessi)

-r
            --- Come il precedente ma proprietà e permessi vengono
                settati con i valori usabili da tutti (555).

-T
            --- Genera un file TRANS.TBL per i sistemi che non
                supportano le estensioni RockRidge.

-v
            --- Aumenta la prolissità del comando.

-V "Id del volume"
            --- Come per -P e -p

-x path
            --- Esclude ciò che viene indicato nel path (anche
                più di uno, ognuno anticipato da un "-x").
       

Ad esempio:

mkisofs -v -l -T -r -D -J -o /ISO-IMG/image_1.iso /dir/da/esportare
       

È utile testare l'immagine iso appena creata montando - tramite il loopback device - come se fosse un vero e proprio cdrom, col comando seguente:

mount -t iso9660 -o ro,loop=/dev/loop0 /ISO-IMG/file_immagine.iso /mnt/cdrom
       

Ricordati poi di smontarla con: umount /mnt/cdrom

16.3.2. Scrivere il cd con cdrecord

Sintassi del comando:

cdrecord [opzioni generali] dev=device [opzioni traccia] traccia1 traccia2...
       

Opzioni generali possibili:

-v
            --- Aumenta la prolissità del comando.

-force
            --- Forza la continuazione del processo anche se ci sono errori
                non fatali (utile col blanking su CD-RW "capricciosi")

-dummy
            --- Fa tutto quello che deve fare ma _col laser spento_!!!
                Chiaramente utile per testare le nostre configurazioni
                senza destinare un cd all'uso come orologio... ;-)

-dao
            --- Disk at Once mode. Evita scricchiolii e schifezze varie
                dopo le tracce audio (se il vostro masterizzatore lo
                supporta).

-multi
            --- Per la scrittura multi sessione. Va messo per la prima
                sessione, per le successive e _NON_ per l'ultima (vedi
                più in basso).

-msinfo
            --- Importante anch'esso per la multisessione (vedi sempre
                dopo).

-fix
            --- Il disco viene solamente fissato.

-nofix
            --- Il disco non viene fissato.

-eject
            --- Espelle il disco dopo la sessione (alcuni tipi di
                periferiche ne hanno bisogno).
blank=type
            --- Per i CD-RW (vedi dopo).
       

Opzioni traccia possibili:

-audio /path/nome_traccia.wav/au
            --- Specifica la natura audio della traccia (va messo per
                ogni traccia audio che si vuole incidere).

-data /path/file_immagine.iso
            --- Specifica la natura dati della traccia
       

Comando tipico in dummy mode per tracce dati:

cdrecord -v -dummy -eject speed=8 dev=0,0,0 -data /ISO-IMG/file_iso.iso
       

16.3.3. Scrivere sul cd tracce audio

cdrecord -v speed=n dev=0,0,0 -audio /path/traccia_1.wav -audio \
    /path/traccia_2.au -audio /path/traccia_3.wav ...
       

16.3.4. Scrivere sul cd in "mixed mode" (audio e dati)

I comuni lettori hi fi sono capaci di leggere solo la prima sessione, e, se c'è una traccia dati cercano spesso di "leggerla" rischiando di spaccare i woofer: la soluzione è quella di scrivere una prima sessione solo audio e la eventuale seconda con dati.

cdrecord -v speed=8 dev=0,0,0 -audio /path/traccia_1.wav -data file_iso.iso
       

16.3.5. Multisessione

Bisogna passare a mkisofs le "coordinate" della sessione precedente (se ce n'è una). Queste le può rilevare cdrecord con l'opzione -msinfo

cdrecord -msinfo dev=0,0,0
       

Sono due numeri separati da una virgola (n,N) e vanno passati così come sono a mkisofs tramite l'opzione -C

mkisofs -v -l -T -r -D -J -o /ISO-IMG/nome_immagine.iso -C n,N \
    -M /dev/scd0 /dir/da/esportare
       

L'opzione -M specifica la periferica da interrogare ed è altrettanto necessaria. Invece che il nome della periferica, -M potrebbe essere anche seguito dal nome dell'immagine precedente. A cdrecord bisogna passare l'opzione -multi a tutte le sessioni tranne che all'ultima. Il comando tipico (in dummy mode) potrebbe essere:

cdrecord -v -dummy -multi -eject speed=8 dev=0,0,0 -data /ISO-IMG/file_iso.iso