CD-Writing HOWTO
 Winfried Tr�mper <[email protected]>
 v2.8.15, 09 Aprile 2000

 Questo documento spiega come masterizzare CD-ROM sotto Linux.

 1.  Introduzione

 Molta gente usa Linux per masterizzare perch� � facile e sicuro.
 Niente a che vedere con schermate blu e niente mal di testa per
 problemi di incompatibilit� hardware-software. Se lo si imposta nel
 modo giusto funziona e basta. Questo HOWTO spiega come configurare il
 sistema, come scrivere i dati sul CD e presenta alcune applicazioni un
 po' esotiche gentilmente fattemi notare dai lettori.


 1.1.  Copyright, license and terms of usage (IN LINGUA ORIGINALE)

 Copyright Winfried Tr�mper 1996-2000 All rights reserved.

 Redistribution and use, with or without modification, are permitted
 provided that the name of the author may not be used to endorse or
 promote products derived from this software without specific prior
 written permission. In this sense, translations are welcome and need
 not to be authorized by me.

 The author disclaims all warranties with regard to this document,
 including all implied warranties of merchantability and fitness for a
 certain purpose; in no event shall the author be liable for any
 special, indirect or consequential damages or any damages whatsoever
 resulting from loss of use, data or profits, whether in an action of
 contract, negligence or other tortious action, arising out of or in
 connection with the use of this document.

 Short: read and use at your own risk.


 1.2.  Disponibilit�

 Come editore di questo documento principalmente io raccolgo quello che
 altre persone mi riportano.  Non sono uno sviluppatore di sofware n�
 un esperto di hardware, quindi per problemi specifici con hardware o
 software dovreste chiedere a qualcun altro. Quello che invece � sempre
 utile � riportare soluzioni per problemi non ancora trattati
 nell'HOWTO.

 Ricevo parecchie centinaia di e-mail riguardanti il CD-Writing-HOWTO
 ogni anno. Cercate di essere pazienti con me, non sempre posso
 rispondere entro poche ore. Comunque leggo ogni cosa immediatamente e
 la metto nella mia coda CDR. Prima di chiedere qualcosa assicuratevi
 di conoscere la versione pi� aggiornata di questo documento, sempre
 disponibile all'indirizzo  <http://www.guug.de/~winni/linux/>.

 1.3.  Letture suggerite

 Potreste aver bisogno del manuale della vostra distribuzione per
 vedere come installare un nuovo kernel.  Non sarei di molto aiuto in
 sitazioni come queste.

 Le CD-R FAQ <http://www.fadden.com/cdrfaq/> sono delle FAQ generali a
 proposito dei CD registrabili (CD-R), dei masterizzatori e del
 software richiesto.

 Siccome i masterizzatori possono anche essere usati come normali
 lettori potrebbe interessarvi il CD-ROM HOWTO di Linux, o anche lo
 SCSI HOWTO e il Kernel HOWTO.
 1.4.  Terminologia ... laser al massimo ... fuoco!


 CD-ROM significa Compact Disc Read Only Memory, un sistema di
 memorizzazione dati che si avvale di un laser per rilevare la presenza
 di buchi microscopici sulla superficie argentata e riflettente di un
 disco (la colorazione argentata deriva dalla presenza di uno strato di
 alluminio). I buchi rappresentano i bit dell'informazione e sono cos�
 piccoli che su un disco ce ne stanno qualche miliardo. Quindi il CD �
 un supporto di memorizzazione di massa.

 Il termine CD-R � un'abbreviazione di CD-ROM registrabile e si
 riferisce a un CD che non ha quei buchini microscopici sulla
 superficie.  Invece dello strato di alluminio ha una speciale
 pellicola colorata entro la quale possono essere "incisi" i buchi.
 Questo si pu� fare dando al laser che normalmente viene solo riflesso
 una potenza leggermente superiore in modo che sia in grado di
 praticare delle incisioni. Questa operazione pu� essere fatta solo una
 volta su di un CD-R, sebbene alcune aree possano essere lasciate
 libere per essere scritte in un secondo momento, creando un CD detto
 multisessione.

 I CD-ROM riscrivibili (in breve: CD-RW) sono stati sviluppati per
 ovviare alle limitazioni dei CD-R. In questo caso il laser pu� non
 solo incidere i "buchi" sul supporto ma pu� anche "fondere" la
 superficie del supporto riportandola allo stato originale. Ci� �
 possibile perch� il laser in realt� non pratica incisioni sul
 supporto, che andrebbe distrutto in una nuvoletta di fumo.
 Un'analogia ragionevole per questa tecnologia � riscontrabile nel
 gioco dell'hockey sul ghiaccio: scivolando sul ghiaccio il giocatore
 (laser) lascia dei graffi. I segni sul ghiaccio (supporto CD-RW) sono
 la registrazione di quello che � accaduto sul ghiaccio durante un
 round. Fra i tempi le macchine Zamboni si muovono sul ghiaccio e
 riempiono i graffi fondendo la parte pi� superficiale del ghiaccio
 (Zamboni � il nome delle macchine pulitrici negli stadi di hockey). In
 questo modo i segni sul ghiaccio vengono eliminati e pu� inizare il
 nuovo tempo. Il termine scientifico per (evaporazione, condensazione,)
 fusione e congelamento � "cambiamento di fase", da cui il nome di
 "periferiche a cambiamento di fase" per i masterizzatori CD-RW.

 Questo mini-HOWTO si occupa della scrittura di CD-R. Benvenuto a
 bordo, capitano.


 1.4.1.  Adaptor contro Adapter

 La dizione pi� frequente all'interno dei sorgenti del kernel �
 "adapter" che batte "adaptor" per 4283 a 154.  Importante notare che
 le opzioni per i moduli e gli alias ne sono influenzate come in
 "scsi_hostadapter". Quindi, per mantenere una dizione coerente
 attraverso gli esempi di configurazione e il testo, io seguir� la
 convenzione "adapter" infischiandomene della dizione ufficiale.  (Io
 invece non mi ricordo la convenzione che uso, forse perch� non ne uso
 nessuna quindi prendete come buoni "controller" e "adattatore" come
 sinonimi di "adaptor" / "adapter" NdT :-)


 1.5.  Masterizzatori supportati

 I masterizzatori USB non sono al momento supportati. A parte questi
 pi� o meno tutti nuovi masterizzatori IDE/ATAPI e SCSI funzionano
 sutto Linux.  Infatti i drive pi� nuovi sono praticamente tutti MMC
 compatibili (MMC = MultiMedia Commands NdT) e quindi supportati. Se la
 versione SCSI di un particolare masterizzatore funziona, � molto
 probabile che funzioni anche la sua versione IDE/ATAPI e viceversa.
 Comunque, certa gente si sente molto meglio leggendo il modello esatto
 del proprio masterizzatore in una lista di compatibilit� e questo � il
 motivo per cui non elimino tutta questa pappardella dall'HOWTO.


 Qui di seguito invece c'� una lista dei masterizzatori che funzionano
 con cdrecord:




























































 Acer:           CDRW 4432A, CDRW 6206A, CD-R/RW 6X4X32
 BTC:            BCE 621E (IDE)
 Compro:         CW-7502, CW-7502B
 Creative:       RW 4224E, MK 4211
 Delta:          OME-W 141
 Dysan:          CRW-1622
 Elite:          Elite b444.41
 Goldstar:       CED-8041B
 Grundig:        CDR 100 IPW
 Guillemot:      Maxi CD-R 4X/8X
 HP:             SureStore 4020i, SureStore 6020i,
                 C4324, C4325
                 CD-writer+ 7100, 7200i, 7500e, 8100i, 8110i, 8200i Plus,
                                   8250i, 9100i, 9110i, 9200e, 9210
 Hi-Val:         CDD 2242, CDD-3610,
 Iomega:         ZIPCD 4x650
 JVC:            XR-W 2001, XR-W 2010, XR-W 2040, XR-W 2042, XR-RW 2224,
                        YR 2626
 Kiss:           CDRW (non � specificato il modello)
 Kodak:          PCD 200, PCD 225, PCD 260, PCD 600
 Matsushita:     Matsushita � il nome giapponese di Panasonic, si veda l�
 Memorex:        CRW-620, CDR-622, CRW-1622, CRW-2224, CDRW-4420
 Microboards:    PlayWrite 2000, PlayWrite 4000 RW, PlayWrite 4001 RW
 MicroNet:       MasterCD Plus 4x4, MasterCD Plus 4x6
 Mitsubishi:     CDRW-226
 Mitsumi:        CR-2401-TS, CR-2600 TE,  CR-2801 TE,
                 CR-4801 TE, CR-4802 TE, CR-4804 TE
 Nomai:          680.RW
 Olympus:        CDS 615E, CDS 620E
 Optima:         DisKovery 650 CD-R
 OTI:            CDRW 965, CDRW 975 (Socrates 1.0)
 Panasonic:      CW-7502, CW-7503, CW-7582
 Philips:        CDD-521/10, CDD-522
                 CDD-2000, CDD-2600, CDD-3600, CDD-3610
                 Omniwriter 26, Omniwriter 26A
 Pinnacle:       RCD-100, RCD-1000, RCD-5020, RCD-5040
 Pioneer:        DW-S114X
 Plasmon:        CDR 480, CDR 4220, RF-4100,
                 RF-4102, CDR 4400
 Plextor:        CDR PX-24 CS, PX-412 C, PX-R412 C
                 PX-R 810Ti, PX-R 820T, PX-W 4220Ti, PX-W 8220T, PX-W 8432T
                 Plexwriter RW 4/2/20
 Procom:         PCDR 4
 REC:            820s
 Ricoh:          RO-1420C+, MP 1420C, MP 6200S, MP 6201S, MP 7040A, MP-7060A
 Samsung:        SW-204
 Sanyo:          CRD-R24S
 Smart and
 Friendly:       CD-RW 226, CD-R 1002, CD-R 1002/PRO, CD-R 1004,
                 CD-R 2004, CD-R 2006 PLUS, CD-R 2006 PRO, CD-RW 2224,
                 CD-R 4000, CD-R 4006, CD-R 4012, CD-RW 4424A
                 CD-R 8020, CD-R 8220
 Sony:           CDRX 100E, CDRX 120E, CDRX 140S-RP,
                  CDU 920S, CDU 924, CDU 926S, CDU 928E, CDU 948S
 Taiyo Yuden:    EW-50
 TEAC:           CD-R50S, CD-R55S, CDR-55S, CDR-55K,
               CDR-56S-400, CD-R56S-600, R56S-614
               (NDT, CDR-58S)
 Traxdata:     CRW 2260,
                 CDR 4120, CDR 4120 Pro, CDRW 4260, CDRW 4424, CDR 4800
 Turtle Beach:   2040R
 Waitec:         wt 2036, wt 2444ei
 WPI (Wearnes):  CDRW-622, CDR-632P
 YAMAHA:         CDR-100, CDR 102, CDR-200, CDR-200t,
                 CDR-200tx
                 CDR-400, CDR-400c, CDR-400t, CDR-400tx, CDR-400Atx,
                 CDW-2216E, CRW-2260, CRW-2260t,
                 CRW-4250tx, CRW-4260t, CRW-4260tx, CRW-4261, CRW-4416S,
                 CRW-6416S, CRW-8424E



 Tabella 1: Masterizzatori supportati sotto Linux


 Una lista dettagliata dei modelli che funzionano o non funzionano
 sotto vari dialetti Unix � disponibile on-line presso:
 <http://www.guug.de:8080/cgi-bin/winni/lsc.pl>.

 Se il tuo masterizzatore non � uno di quelli supportati puoi comunque
 usare Linux per creare un'immagine per il CD. Potrebbe essere una
 buona idea siccome la maggior parte dei software per DOS non supporta
 le estensioni RockRidge. In ogni caso ti servir� comunque un software
 per DOS per masterizzare l'immagine.



 1.6.  "Caratteristiche" supportate

 Ci sono 2 specie di utility che ti serviranno per masterizzare: i
 driver hardware e i formattatori di dati. I driver hardware hanno
 queste caratteristiche:



      Supported Feature   cdwrite-2.1     cdrecord-1.6    cdrdao
      ----------------------------------------------------------
      IDE/ATAPI               no              s�             s�
      Parallel Port           no              s�             s�
      CD-RW                   no              s�             s�
      Audio CD                s�              s�             s�
      Data CD-ROM             s�              s�           in parte
      Multisession         in parte           s�             no
      TAO (Track at once)     s�              s�             s�
      DAO (Disk at once)      no              no             s�


      Tabella 2:


 cdwrite � un vecchio software che menziono solo per completezza.  Ti
 conviene usare cdrecord che supporta molto pi� hardware e ha molte pi�
 qualit�. L'obiettivo principale di cdrdao � la creazione di CD audio
 senza i 2 secondi di silenzio fra le tracce (scrittura in modalit�
 disc-at-once). Le utility classificate come formattatori di dati
 servono per organizzare i dati sul supporto ("per creare il
 filesystem")




      Capacit�        mkisofs         mkhybrid
      --------------------------------------------
      ISO 9660          s�              s�
      RockRidge         s�              s�
      El Torito         s�              s�
      HFS               no              s�
      Joliet            s�              s�
      Multisessione     s�              s�
      CD-Extra          s�              s�


 Tabella 3:


 La differenza pi� ovvia fra il filesystem ISO9660 e Extended-2 � che
 non si possono modificare i file una volta che sono stati scritti. Le
 limitazioni del filesystem ISO-9660 sono:


 �  solo 8 livelli di sottodirectory (contate dalla directory di pi�
    alto livello del CD) (meglio usare le estensioni RockRidge per
    aumentare questo numero)

 �  lunghezza massima dei nomi di file: 32 caratteri

 �  650 MB di capacit�

 RockRidge � un'estensione che consente nomi di file pi� lunghi e una
 gerarchia di directory pi� profonda per i filesystem ISO-9660.
 Leggendo un CD-ROM con estensioni RockRidge con Linux appaiono tutte
 le propriet� conosciute del file come possessore, gruppo, permessi,
 collegamenti simbolici (simile ad un filesystem Unix).  Queste
 estensioni non sono disponibili se si legge il CD-ROM sotto DOS o
 sistemi Windows.

 El Torito El Torito serve per la creazione di CD-ROM bootabili.  Anche
 il BIOS del tuo PC deve supportare questa caratteristica. Diciamo che,
 pi� o meno, i primi 1.44 (o 2.88 se supportato) Mbyte del CD-ROM
 contengono l'immagine di un floppy che hai preparato. Il BIOS
 considera questa immagine come un floppy di boot e da essa lo effettua
 (di conseguenza, durante l'avvio di questo floppy virtuale, il drive
 originario A: (/dev/fd0) potrebbe non essere accessibile).

 HFS permette a un macintosh di leggere il CD-ROM come se fosse un
 volume HFS (il filesystem nativo di MacOS).

 Joliet introduce nomi di file lunghi (fra le altre cose) per le nuove
 versioni di Windows (95, 98, NT). Che io sappia sotto DOS o Windows
 3.11 ci si pu� scordare i nomi di file lunghi.

 La sezione 2.8 indica la disponibilit� di questo software.



 1.7.  Mailing List

 Se vuoi puoi unirti al team di sviluppo (con l'intenzione di aiutare
 attivamente), manda un'e-mail a [email protected] e
 metti nel corpo del messaggio la parola subscribe.


 2.  Impostare il sistema Linux per masterizzare

 Questa sezione pu� essere applicata ai seguenti tipi di
 masterizzatori: SCSI, IDE/ATAPI e per porta parallela.  I
 masterizzatori USB non sono supportati, almeno alla volta del Marzo
 2000.  Masterizzatori non-SCSI richiedono driver di compatibilit�, che
 li fanno sembrare vere periferiche SCSI. Da una parte una strategia
 unificante come questa � semplice ("tutto � SCSI"), in quanto al
 livello del programma � possibile condividere la propria conoscenza
 con altri utenti, indipendentemente dal loro tipo di masterizzatore.
 Per contro, dovrete riconfigurare applicazioni come i lettori di Audio
 CD o l'utility di mount per rispecchiare i cambiamenti apportati al
 nome del driver. Per esempio, se il vostro masterizzatore ATAPI era
 prima identificato dal file /dev/hdc, dopo aver attivato i driver di
 compatibilit� SCSI dovrete riferirvi ad esso come /dev/scd0.

 Dopo aver impostato correttamente il tuo hardware e il sistema Linux,
 il comando cdrecord -scanbus dovrebbe mostrare una lista delle
 periferiche disponibili sui vostri bus SCSI. Lo scopo di questo
 capitolo � di guidarti nell'impostazione del tuo sistema in modo che
 l'output del comando sia del tipo:



      shell> cdrecord -scanbus
      Cdrecord release 1.7a1 Copyright (C) 1995-1998 J�rg Schilling
      scsibus0:
              0,0,0) 'Quantum ' 'XP34300         ' 'F76D' Disk
              0,1,0) 'SEAGATE ' 'ST11200N        ' '8334' Disk
              0,2,0) *
              0,3,0) 'TOSHIBA ' 'MK537FB/        ' '6258' Disk
              0,4,0) 'WANGTEK ' '5150ES SCSI 36  ' 'ESB6' Removable Tape
              0,5,0) 'EXABYTE ' 'EXB-8500-85QUE  ' '0428' Removable Tape
              0,6,0) 'TOSHIBA ' 'XM-3401TASUNSLCD' '3593' Removable CD-ROM
              0,7,0) *
      scsibus1:
              1,0,0) 'Quantum ' 'XP31070W        ' 'L912' Disk
              1,1,0) *
              1,2,0) *
              1,3,0) 'TEAC    ' 'CD-R55S         ' '1.0H' Removable CD-ROM
              1,4,0) 'MATSHITA' 'CD-R   CW-7502  ' '4.02' Removable CD-ROM
              1,5,0) *
              1,6,0) 'YAMAHA  ' 'CDR400t         ' '1.0d' Removable CD-ROM
              1,7,0) *


      Lista1: lettura periferiche sul bus SCSI


 L'esempio � di J�rg Schilling e indica un totale di 4 masterizzatori.
 Notate che l'opzione -scanbus riporta anche altre periferiche, come
 normali CD-ROM e dischi fissi. L'ultima colonna indica la descrizione
 SCSI della periferica, dalla quale non � possibile distinguere i CD-
 ROM normali dai masterizzatori.  Comunque la descrizione del prodotto
 spesso d� dei suggerimenti nella forma di una R, -R o -RW.



 2.1.  Introduzione Veloce

 Questa sezione � un tentativo di fornire una descrizione veloce e
 comprensibile della configurazione.  Non tutte le possibilit� sono
 analizzate, ma, insomma, arrangiatevi un poco!  Prima di tutto,
 controllate la versione indicata dal comando uname. Dovrebbe essere
 qualcosa del tipo 2.0.X oppure 2.2.Y, dove X � maggiore di 36 e Y di
 11. Se avete in esecuzione versioni pi� vecchie oppure serie 2.1.* o
 1.*.* dovrete arrangiarvi. La lista a seguire indica una serie di
 comandi con cui potrete inziare. I comandi creano i device file
 all'interno della directory /dev e cercano di caricare alcuni moduli.













 test `whoami` = 'root' || echo "Devi essere root per eseguire i comandi."
 cd /dev/
 umask -S u=rwx,g=rwx,o-rwx
 ./MAKEDEV loop || for i in 0 1 2 3 4 5 6 7; do mknod loop$i c 7 $i; done
 ./MAKEDEV sg   || for i in 0 1 2 3 4 5 6 7; do mknod sg$i  c 21 $i; done
 for i in ide-scsi scsi_mod sg sr_mod loop
 do
     modprobe $i || grep $i /proc/modules || echo "Forse manca il driver $i."
 done
 cdrecord -scanbus


 Lista: creazione dei device file e caricamento dei moduli


 L'accesso all'hardware � di solito implementato sotto Linux attraverso
 i file di periferica.  Quindi prima di ogni altra cosa � necessario
 controllare che essi esistano nella directory /dev.  Ancora nessuno mi
 ha dato un motivo ragionevole per cui questo procedimento non sia
 stato automatizzato attraverso tecniche come il device filesystem
 (devfs). Il devfs � ormai disponibile da anni, supporta uno schema di
 denominazione pi� sicuro (!) e pi� chiaro, e inoltre permette ai file
 di periferica di apparire automaticamente nella directory /dev.
 Alcune persone pensano che il devfs non sia la soluzione perfetta,
 per� non se ne escono con idee migliori, nemmeno con qualcosa di
 comparabile e, per ultimo, niente di disponible e testato. Cominciamo
 ad usare devfs!  ( <http://www.atnf.CSIRO.AU/~rgooch/linux/kernel-
 patches.html>)

 Leggete il prossimo capitolo se non vi sono i moduli necessari nel
 vostro sistema oppure consultate la documentazione della vostra
 distribuzione.  Se lavorate in modalit� testo (console), il
 caricamento dei moduli potrebbe causare la stampa di alcuni messaggi
 sullo schermo.  Se lavorate in modalit� grafica (X11, KDE, Gnome),
 potrete vedere questi messaggi tramite il comando dmesg.  Per caricare
 i moduli avete la possibilit� di elencarli in un file di
 configurazione come /etc/modules oppure far girare i demoni kerneld
 oppure kmod che caricheranno i moduli necessari per voi quando il
 kernel ne avr� la necessit�.

 Persone con masterizzatori SCSI possono saltare il resto di questa
 sezione visto che cdrecord molto probabilmente riconoscer� il loro
 hardware. Se non � questo il caso mandatemi un'e-mail con le
 informazioni sulla vostra configurazione, di modo che possa migliorare
 la sezione sui masterizzatori SCSI.

 E ora per quelli che posseggono masterizzatori IDE/ATAPI.  Come
 scritto nel capitolo precedente, dovrete caricare il driver di
 emulazione ide-scsi.  Ma questo driver pu� solo accedere al vostro
 masterizzatore se non vengono caricati ulteriori driver.  In altre
 parole dovrete dire al normale driver IDE di lasciar stare il vostro
 masterizzatore, di modo che il driver ide-scsi possa appropriarsene.



      hda = IDE bus/connector 0 master device
      hdb = IDE bus/connector 0 slave  device
      hdc = IDE bus/connector 1 master device
      hdd = IDE bus/connector 1 slave  device


      Tabella: nomi file di periferica per hardware IDE/ATAPI


 La tabella qui sopra indica la relazione fra i nomi dei device file e
 la posizione delle periferiche sui bus IDE.  Il nome del device file
 rappresentante il vostro masterizzatore deve essere passato come
 opzione al driver nel kernel di Linux.  Esempio: hdb=ide-scsi.  Questa
 impostazione dovrebbe essere posizionata in lilo.conf oppure
 chos.conf, se il driver � compilato staticamente nel kernel, che � la
 scelta pi� comune.  Le prossime due liste indicano configurazioni di
 esempio. Tutte le altre varianti come hdb=ignore oppure hdb=none non
 faranno quello che vi serve. "Ignore" significa di non effettuare il
 test automatico della periferica e "none" bloccher� l'accesso alla
 periferica.



      image=/boot/zImage-2.2.14
        label=Linux
        read-only
        append="hdb=ide-scsi"


      Lista: Configurazione di esempio per lilo (/etc/lilo.conf)




      linux "Linux 2.1.14" {
              image=/boot/zImage-2.0.37
              cmdline= root=/dev/hda5 readonly hdb=ide-scsi
      }


      Lista: Configurazione di esempio per chos (/etc/chos.conf)


 Se il driver per i CD-ROM IDE/ATAPI viene caricato come modulo, allora
 tutto quello scritto qui sopra non far� per voi alcuna differenza, ma
 assicuratevi di includere le opzioni indicate nella prossima lista.
 Le ultime tre linee di questa lista sono generalmente suggerite per
 automatizzare al massimo il caricamento dei moduli necessari.  Se non
 fate girare il demone per il caricamento automatico dei moduli, allora
 aggiungete i nomi dei moduli al file /etc/modules.conf (oppure a
 quello specifico della vostra distribuzione).



      options ide-cd ignore=hdb            # indica al modulo ide-cd di ignorare hdb
      alias scd0 sr_mod                    # carica sr_mod all'accesso di scd0
      pre-install sg     modprobe ide-scsi # prima di sg, carica ide-scsi
      pre-install sr_mod modprobe ide-scsi # prima di sr_mod, carica ide-scsi
      pre-install ide-scsi modprobe ide-cd # prima di ide-scsi, carica ide-cd


      Lista: Configurazione di esempio per /etc/modules.conf


 Se usate il masterizzatore anche come lettore CD ricordatevi che
 dovrete accedere al masterizzatore attraverso il file di periferica
 /dev/scdX ove X=0,...,8.  Potete indirizzare il puntatore simbolico
 cdrom all'attuale nome del file di periferica. La lista qui di seguito
 indica il comando per ottenere questo, prendendo come esempio scd0.



      cd /dev && rm cdrom && ln -s scd0 cdrom


      Lista: Impostare cdrom come nome simbolico per scd0

 Se invece avete anche un CDROM IDE potrete continuare ad usarlo nel
 solito modo.


 2.2.  Compilazione dei moduli del kernel mancanti.

 Il Kernel di Linux pu� essere equipaggiato con driver per varie cose.
 I driver possono essere compilati staticamente nell'immagine del
 kernel oppure come moduli che possono essere caricati a richiesta.

 Questo metodo � il migliore per quei drive che non sono essenziali per
 il funzionamento del sistema, dal momento che il kernel risulter� pi�
 piccolo e veloce. Comunque alcuni driver sono essenziali per
 l'inizializzazione del sistema. Se, per esempio, hai installato il
 sistema su di un hard-disk IDE � necessario avere il supporto per
 questa periferica compilato nel kernel e non come modulo.


 Vi sono 3 diversi tipi di masterizzatori: SCSI, IDE/ATAPI e quelli
 esterni per porta parallela. La Tabella 4 spega come configuarare il
 Kernel di Linux per questi tipi di hardware. La prima colonna della
 tabella � la sezione del menu di configurazione, dove si trovano le
 impostazioni.  La seconda colonna � una descrizione della
 caratteristica (presa dal menu di configurazione del kernel).La terza
 indica il nome del modulo risultante. Le colonne denominate SCSI, IDE
 e PP contengono le opzioni necessarie per l'hardware associato
 (PP=porta parallela).



      Sez.  Descrizione                 Modulo   SCSI  IDE   PP
      ------------------------------------------------------------
      BLOCK  Enhanced IDE/MFM/RLL...                     Y
      BLOCK  IDE/ATAPI CDROM             ide-cd          M
      BLOCK  SCSI hostadaptor emulation  ide-scsi        M
      BLOCK  Loopback device             loop       M    M     M

      PARIDE Parallel port IDE device    paride               Y/M
      PARIDE Parallel port ATAPI CD-ROMs                       M
      PARIDE Parallel port generic ATAPI                       M
      PARIDE (select a low-level driver)                       Y

      SCSI   SCSI support                scsi_mod  Y/M  Y/M
      SCSI   SCSI CD-ROM support         sr_mod    Y/M  Y/M
      SCSI     Enable vendor-specific               Y    Y
      SCSI   SCSI generic support        sg        Y/M  Y/M
      SCSI   (select a low-level driver)            Y

      FS     ISO 9660 CDROM filesystem   iso9660   Y/M  Y/M   Y/M
      FS     Microsoft Joliet cdrom...   joliet     Y    Y     Y


      Tabella 4:


 Y vuol dire S�, cio� indica di infilare quella brutta bestia nel
 kernel.  M significa MODULO, quindi questa opzione diverr� un modulo.
 Con Y/M puoi decidere fra entrambe (l'ordine indica la scelta con meno
 problemi potenziali). Non serve modificare impostazioni mancanti, anzi
 lasciarle stare migliora le possibilit� che quello che salter� fuori
 funzioni (se prima funzionava perch� non dovrebbe farlo ancora?).

 Specialmente in ambienti misti SCSI e ATAPI � meglio compilare la
 maggior parte delle caratteristiche come moduli.


 La periferica loopback � opzionale, serve per testare l'immagine prima
 di scriverla sul supporto.

 Per poter leggere i CD-ROM serve il supporto per il filesystem
 ISO-9660, che include automaticamente le Estensioni RockRidge. Se vuoi
 avere anche le estensioni MS Joliet, compila il driver come modulo e
 caricalo quando ti serve.

 In ogni caso ti occorre un driver di basso livello per l'hardware.
 Basso livello si riferisce al driver che interagisca direttamente con
 la periferica.  Per periferiche SCSI e porta parallela esistono molti
 driver di basso livello, descritti qui di seguito.

 L'installazione del kernel risultate va al di l� degli scopi di questo
 HOWTO.  Consultate la documentazione della vostra distribuzione.

 Utenti di RedHat Linux attenzione: dovrete compilare nel kernel le
 opzioni "Ramdisk support" e "Initial ramdisk".  Inoltre dovrete
 generare un nuovo ramdisk con i nuovi moduli con un comando del tipo:
 "mkintrd --preload ide-cd initrd-2.2.14.img  2.2.14".


 2.2.1.  Note particolari per Kernel sino alla v2.2.9


 Possessori di masterizzatori ATAPI attenzione: se il kernel riconosce
 la vostra periferica come ATAPI durante l'avvio del sistema, non ci
 sar� verso di farla funzionare con Linux. Se il driver IDE/ATAPI si
 appropria della periferica lo SCSI (al di sopra dell'emulazione) non
 la pu� pi� toccare. Ricompilare il kernel con la roba per il CD-ROM
 come modulo e funzioner� tutto (vedi tabella sopra).

 Con i kernel sino alla versione 2.2.9, non abilitare
 CONFIG_SCSI_MULTI_LUN ('probe for multiple luns') insieme al supporto
 ide-scsi allo stesso tempo, c'� un bug ide-scsi che non lo permette.


 Alcuni utenti hanno riportato dei problemi con binari precompilati e
 la versione 2.2. Questo � un problema del kernel di Linux. Soluzioni:

 �  Potrebbe sparire se ricompili cdrecord in modo che si adegui alle
    nuove dichiarazioni di linux/include/scsi/sg.h.  Questi valori
    devono essere uguali a quelli del kernel in funzione per via
    dell'interfaccia utente sg, che non � propriamente una meraviglia.

 �  Potrebbe essere colpa di un driver sg che non riesce ad allocare
    sufficiente memoria per usare la modalit� DMA (versioni del Kernel
    sino alla 2.2.5).



 2.2.2.  Masterizzatori SCSI


 Assicurati che il masterizzatore sia riconosciuto dal BIOS del
 computer.  Non � molto intelligente proseguire se il PC non accetta
 l'hardware (il fatto che non lo sputi fuori non � abbastanza; deve
 dirtelo esplicitamente con un messaggino sullo schermo).

 Se pensi di connettere una periferica SCSI alla porta parallela (da
 non confondere con i drive IDE per porta parallela), ti serve uno
 speciale cavo attivo e un driver particolare. Dai un'occhiata a
 <http://www.torque.net/parport/parscsi.html> per saperne di pi�.



 2.2.2.1.  Periferiche SCSI generiche

 I file di periferiche /dev/sd* e /dev/sr* per gli hard-disk e CD-ROM
 SCSI sono limitati a trasferimenti di dati a blocchi. Quindi sono
 molto veloci e adatti per conservare i dati. Pilotare il laser di un
 masterizzatore � giusto un attimo pi� complicato e serve qualcosa di
 pi� che non un trasferimento di dati a blocchi. Per mantenere le
 periferiche sd* e sr* pulite e veloci � stato introdotto un nuovo tipo
 di periferica SCSI, chiamato Periferica SCSI generica. Dal momento che
 qualsiasi cosa pu� essere fatta su una periferica SCSI usando questa
 interfaccia significa che non � limitata ad un solo uso - da qui il
 nome generica.

 Allo stesso modo di tutte le altre periferiche puoi trovarle nella
 directory /dev (per convenzione):



      shell> cd /dev
      shell> ls sg*
      sg0  sg1  sg2  sg3  sg4  sg5  sg6  sg7




 Se i file non sono presenti creali con lo script /dev/MAKEDEV:



      shell> cd /dev/
      shell> ./MAKEDEV sg




 Se la tua distribuzione Linux non contiene lo script /dev/MAKEDEV,
 crea i file di periferica manualmente con questo ciclo:



      for i in 0 1 2 3 4 5 6 7
      do
              mknod /dev/sg$i c 21 $i
      done






 2.2.3.  Masterizzatori per porta parallela


 Mi spiace ma non ho idea di come funzionino, se ti interessa leggi
 questa pagina: <http://www.torque.net/parport/paride.html> oppure il
 file locale /usr/src/linux/Documentation/paride.txt.




 2.3.  Procurarsi il software per masterizzare

 Un elenco di aggeggi utili alla produzione di CD-ROM � disponibile
 presso:
 <http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdb.html>.

 2.3.1.  Utility a riga di comando

 Per generare i prototipi per i CD-R serve almeno uno di questi
 pacchetti (richiesti solo per CD-ROM di dati):


      <ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/> (mkisofs)

      <ftp://ftp.ge.ucl.ac.uk/pub/mkhfs> (mkhybrid)


 Il software per la scrittura dei prototipi � invece il seguente:


      <ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/> (cdrecord)

      <http://www.ping.de/sites/daneb/cdrdao.html> (cdrdao)



 Non fare caso alla pagina man di un vecchio mkisofs che afferma che �
 necessaria la versione 1.5 di cdwrite. Usa cdrecord e lascia perdere.
 Nota che le versioni pi� nuove del pacchetto cdrecord contengono una
 versione avanzata di mkisofs e alcuni altri programmini utili nella
 directory misc/ come readcd e isosize, che non si trovano da altre
 parti.


 2.3.2.  Interfacce grafiche (opzionali)

 I front-end sono davvero dei front-end sotto Linux. Cio�, ti servono
 comunque le utility a riga di comando ma le puoi usare in un modo pi�
 gradevole da vedersi.

 X-Cd-Roast � un pacchetto dedicato a una facile creazione di CD sotto
 Linux.  Combina utility a riga di comando come cdrecord e mkisofs in
 una simpatica interfaccia grafica.


      <http://www.fh-muenchen.de/home/ze/rz/services/pro
      jects/xcdroast/e_overview.html>


 BurnIT � un front-end scritto in JAVA per cdrecord, mkisofs e
 cdda2wav-0.95, praticamente un pacchetto completo per la scrittura di
 CD per la piattaforma Unix. � disponibile presso:


      <http://sunsite.auc.dk/BurnIT/>


 CD-Tux � un frontend basato su interfaccia a caratteri per i programmi
 mkisofs e cdrecord.  "Un'ambiente facile da usare per fare
 praticamente qualsiasi cosa a un CD, con supporto per i colori
 attraverso la famosa libreria NCURSES.  E fa tutto questo con un
 eseguibile sotto i 75K."


      <http://www.datadictator.co.za/cdtux/>







 3.  Scrittura dei CD-R


      "Se anche ti trasformi in fumo non credo smetter� di diver�
      tirmi mentre bruci." (Imperatore romano Nerone mentre bruci�
      ava i suoi CD classici, 64A.C.  Non aveva capito molto.)



 La scrittura dei CD-R si fa in 2 passi sotto Linux:


 �  impacchettare i dati desiderati (file, musica o entrambi) in un
    file con formato speciale usando le utility mkisofs/mkhfs

 �  scrivere questo file su CD-R usando cdrecord

 Questo capitolo descrive i passi per la creazione di CD audio e dati
 in maggior dettaglio.



 3.1.  Scrivere CD-ROM (solo dati)

 Attenzione, mettere insieme il software di solito � una cosa pi� lunga
 di quanto uno non si aspetti. Stai attento perch� file mancanti non
 possone essere aggiunti una volta scritto e finalizzato il CD.


 Tieni sempre in mente che una parte dello spazio libero del CD deve
 essere usato per mantenere le informazioni del filesystem ISO9660.  Di
 solito questo occupa non molti megabyte: per dare un'idea diciamo che
 620MB di dati ci stanno di sicuro su un CD-R da 650MB,




 3.1.1.  Creare un'immagine del successivo CD-ROM

 Prima di usare qualsiasi supporto (tipo floppy, hard-disk o CD) questo
 deve avere un filesystem (in lingua DOS: essere formattato). Il
 filesystem � responsabile di organizzare e incorporare i file che
 dovrebbero essere scritti sul supporto.

 Le solite utility per creare filesystem su partizioni dell'hard disk
 scrivono su di esse un filesystem vuoto, che viene poi montato e
 riempito con dei file quando servono all'utente.  Allora, un CD-R �
 scrivibile una sola volta, giusto? Possiamo scriverci sopra un
 filesystem vuoto, quindi formattarlo, ma poi resterebbe vuoto a vita.
 Questo � vero anche per i CD-RW visto che non si possono cambiare
 settori arbitrari, ma bisogna cancellare l'intero contenuto.

 Dunque, quello che ci serve � un aggeggio che crei un filesystem
 mentre copiamo i file sul CD. L'utility si chiama mkisofs. Un uso
 tipico � simile a questo:



      mkisofs  -r   -o cd_image   private_collection/
                    `---------'   `-----------------'
                         |               |
                   file immagine   directory sorgente




 L'opzione '-r' imposta i permessi dei file perch� siano leggibili da
 tutti sul CD e attiva le estensioni Rock Ridge. Questo � quello che si
 vuole di solito e l'uso dell'opzione � raccomandato a meno di non
 sapere esattamente quello si sta facendo (Attento: senza '-r' il punto
 di montaggio si becca i permessi di private_collection!).

 mkisofs cercher� di mappare tutti i nomi di file nel formato 8.3 usato
 dal DOS per assicurare la massima compatibilit�. In caso di conflitti
 per i nomi (file diversi hanno lo stesso nome 8.3), vengono usati dei
 numeri nei nomi e informazioni a proposito del nome scelto sono
 stampate sullo STDERR (che poi � lo schermo, di solito).  Niente
 panico: sotto Linux non vedrete mai questi nomi in formato 8.3 perch�
 Linux usa le estensioni Rock Ridge che contengono le informazioni dei
 file originali (permessi, nome ecc.).

 Magari ora ti stai chiedendo perch� diavolo non spedire l'output di
 mkisofs direttamente al masterizzatore. Per 3 ottimi motivi:


 �  mkisofs non sa certo come pilotare i masterizzatori.

 �  A volte � utile testare l'immagine prima di scriverla.

 �  Su macchine lente non sarebbe sicuro (v. sezione 4.).

 Il metodo per scrivere CD-R in un unico passo verr� descritto pi�
 avanti.

 Si potrebbe anche pensare di creare una partizione extra per fare
 tutto questo e scrivere l'immagine sulla partizione invece che su un
 file.  Non sono d'accordo su questa strategia perche se per caso
 scrivi sulla partizione sbagliata (perch� hai scritto male il
 comando), puoi anche perdere l'intero sistema Linux (insomma: a me �
 successo). In pi� � uno spreco di spazio su disco perch� l'immagine
 del CD � un dato temporaneo che pu� essere cancellato dopo aver
 scritto il CD. Comunque, usare partizioni grezze ti risparmierebbe il
 tempo di cancellare file di 650MB.  (Se hai spazio su disco
 sufficiente una partizione extra ti permette di risparmiare il tempo
 di cancellazione dell'immagine.)



 3.1.2.  Testare l'immagine del CD

 Linux ha la possibilit� di montare file come se fossero partizioni.
 Questa capacit� � utilissima per controllare che la disposizione delle
 directory e i permessi sull'immagine siano ottimali. Anche se i dischi
 non costano molto il processo di scrittura � comunque abbastanza lungo
 e se non altro potresti evitare di perdere tempo con un veloce test.

 Per montare il file cd_image creato prima sulla directory /cdrom
 impartisci il comando



      mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom




 Ora puoi ispezionare i file sotto /cdrom - essi appaiono esattamente
 come se fossero su un vero e proprio CD. Per smontare l'immagine del
 CD basta dire umount /cdrom. (ATTENZIONE: Se usi kernel di Linux pi�
 vecchi della v. 2.0.31 l'ultimo file su /cdrom potrebbe non essere
 completamente leggibile. Usa kernel pi� recenti come la v. 2.0.36.
 L'opzione -pad di cdrecord si applica ai soli CD audio; per poterla
 usare anche con mkisofs � necessario una patch, la cui utilit� � pi� o
 meno quella di applicare un upgrade a un kernel senza bug.)

 Nota:

      alcune antiche versioni di mount non sono in grado di usare
      i device loopback. Se hai ancora una versione cos� vecchia
      forse � ora di aggiornare il sistema.


      Parecchia gente ha gi� chiesto di inserire in questo HOWTO
      informazioni su come procurarsi le pi� recenti utility
      mount.  Io rifiuto sempre. Se la tua distribuzione Linux ha
      una versione troppo vecchia di mount: riportalo come un bug.
      Se la tua distribuzione di Linux non � facilmente
      aggiornabile: riportalo come un bug.

      Se avessi incluso tutte le informazioni necessarie per
      aggirare i bug in distribuzioni Linux mal progettate questo
      HOWTO sarebbe stato mooolto pi� lungo e difficile da
      leggere.




 3.1.3.  Scrittura dell'immagine sul CD

 Non c'� pi� molto da fare. Se non hai gi� provato a farlo � ora di
 dare il comando



      cdrecord -scanbus




 Questo ti indicher� a quali periferiche SCSI � collegato il tuo
 masterizzatore.  Tutti gli altri metodi per individuare le
 informazioni cos� gentilmente stampate da cdrecord sono stati rimossi
 da questo HOWTO (specialmente lo schema di denominazione per
 periferiche SCSI generiche, in qualche modo pericoloso).

 Prima di mostrarti l'ultimo comando, lascia che ti avverta di una
 cosa: i masterizzatori hanno bisogno di essere alimentati con un
 flusso di dati costante in quanto hanno solo dei piccoli buffer per i
 dati.  Dunque il processo di scrittura del CD non deve essere
 interrotto oppure ti risulter� un CD inusabile. � facile interrompere
 il processo di scrittura cancellando un grosso file. Per esempio,
 mettiamo il caso che tu voglia cancellare un file di 650MB: il kernel
 deve aggiornare informazioni per circa 650.000 blochhi sull'hard-disk
 (mettendo il caso che tu abbia una dimensione di blocco pari a 1KByte
 per il tuo filesystem).  Questa operazione ha bisogno di un po' di
 tempo ed � facile che rallenti l'attivit� del disco abbastanza perch�
 il flusso di dati si interrompa per alcuni secondi.  Comunque, leggere
 la posta, navigare sul web o persino compilare un kernel generalmente
 non interrompono il processo su macchine moderne.  (NDT: in generale,
 se avete un po' di cognizione, non fatevi troppi problemi ad usare la
 macchina. Vi faccio il mio esempio: io ho un sistema SCSI e durante
 una copia diretta, posto di aver assegnato un buffer di 20MB al
 processo di scrittura, il mio k6-2 350MHZ non viene usato per pi� del
 3%. Capite come ci� non costituisca un grosso sforzo per la macchina.)

 Tieni presente che nessun masterizzatore pu� riposizionare il laser e
 riprendere da una posizione precisa sul CD se viene disturbato. Quindi
 anche forti vibrazioni oppure shock meccanici probabilmente
 distruggeranno il CD in fase di scrittura.

 OK, se sei mentalmente preparato, indossa una tunica nera, moltiplica
 l'ID SCSI del masterizzatore per la sua revisione ANSI e accendi tante
 candele quant'� il risultato, recita 2 versi dell'ASR-FAQ (newsgroup
 alt.sysadmin.recovery) e infine scrivi:



      shell> SCSI_BUS=0   # dalla lista 1 "scsibus0:"
      shell> SCSI_ID=6    # dalla lista 1 "TOSHIBA XM-3401"
      shell> SCSI_LUN=0
      shell> cdrecord -v speed=2 dev=$SCSI_BUS,$SCSI_ID,$SCSI_LUN \
                         -data  cd_image

      # come sopra ma pi� in breve:
      shell> cdrecord -v speed=2 dev=0,6,0  -data  cd_image




 Per una maggiore comprensibilit� la coordinate del masterizzatore sono
 memorizzate in 3 variabili d'ambiente chiamate SCSI_BUS, SCSI_ID,
 SCSI_LUN.  L'opzione -data non � obbligatoria ma viene impostata per
 rendere la riga di comando comparabile a quella usata per scrivere CD
 audio.

 Se vuoi usare cdrecord per riscrivere un CD-RW devi usare l'opzione
 "blank=..." per cancellare il vecchio contenuto. Fatti un favore,
 leggi la pagina man per maggiori informazioni su come svuotare un CD-
 RW.

 In tempi in cui tutti escluso me (escludete pure anche me NDT) hanno a
 casa una macchina a 400 MHZ si pu� in genere passare l'output di
 mkisofs direttamente a 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  -
      #     non dimenticare la s --^         ^-- leggi i dati da STDIN




 Il primo comando � un'esecuzione mirata a determinare la dimensione
 dell'immagine (� necessaria la versione di mkisofs della distribuzione
 di cdrecord perch� questo funzioni). Pu� darsi che il tuo
 masterizzatore non richieda di conoscere la dimensione dell'immagine
 da scrivere, in tal caso � possibile saltare questo passo.  La
 dimensione stampata deve essere passata come parametro tsize a
 cdrecord (� mantenuta nella variabile d'ambiente IMG_SIZE). Il secondo
 comando � una sequenza di cdrecord e mkisofs accoppiati con una pipe.



 3.2.  Scrittura di CD audio


 La procedura per i CD audio � molto simile ai passi descritti sopra.
 Le due differenza principali sono che i CD audio consistono di tracce
 che sono organizzate in immagini separate. Quindi se vuoi avere dieci
 tracce su un CD devi anche preparare dieci immagini.  (NDT: con cdrdao
 non � necessaria la creazione di file immagine multipli) L'altra
 differenza � che il formato delle immagini non � ISO-9660 (o un altro
 filesystem a scelta) ma � "campionamenti a 16 bit stereo in formato
 PCM a 44100 campionamenti/sec (44.1kHz)".

 Una utility per convertire i tuoi file audio nel formato richiesto �
 sox.  Il suo utilizzo � immediato



      shell> sox  killing-my-software.wav  killing-my-software.cdr




 Questo comando converte la canzone killing-my-software dal formato WAV
 al formato CDR-audio. Dai un'occhiata alla pagina man di sox per
 maggiori dettagli a proposito dei formati e delle estensioni per i
 nomi di file che sox riconosce.  Siccome la conversione ha bisogno di
 molto spazio su disco � stata implementata in cdrecord la capacit� di
 scrivere formati WAV e AU senza bisogno di conversione manuale, a
 patto che i file sonori abbiano estensione .wav o .au (e ovviamente
 siano in qualit� "stereo, 16 bit, 44.1kHz").

 Cdrecord scrive le immagini come tracce audio, se l'opzione -audio �
 specificata. Le altre opzioni sono identiche a quelle usate per
 scrivere CD di dati (a meno di esigenze particolari). Ecco tre esempi
 che effettuano la stessa operazione, ma leggono le tracce da formati
 di file sonori diversi:



      shell> cdrecord -v speed=2 dev=0,6,0  -audio  track1.cdr track2.cdr...
      shell> cdrecord -v speed=2 dev=0,6,0  -audio  track1.wav track2.wav...
      shell> cdrecord -v speed=2 dev=0,6,0  -audio  track1.au  track2.au...




 Un caso speciale � rappresentato dai file MPEG Layer 3 che possono
 essere convertiti nel formato richiesto con il comando "mpg123 -cdr -s
 track1.mp3 > track1.cdr".  L'opzione -cdr assicura che la traccia sia
 codificata nel modo corretto (vedi sopra).  La conversione da WAV a
 MPEG pu� essere fatta con LAME per i file WAV (estrarre le tracce da
 un CD audio con cdda2wav e codificarle in MP3 con LAME). Per creare un
 CD audio da un insieme di file MP3 � possibile usare la seguente
 sequenza di comandi:



      for I in *.mp3
      do
          mpg123 -cdr -s $I | cdrecord -audio -pad -swab -nofix -
      done
      cdrecord -fix




 In dipendenza della velocit� della tua macchina pu� essere necessario
 abbassare la velocit� di scrittura a "speed=1" (opzione di cdrecord).
 Se usi "speed=4" significa che la macchina deve essere in grado di
 riprodurre file MP3 a velocit� quadrupla. mpg123 ha bisogno di molto
 tempo di CPU!  Se non sei sicuro prova prima una simulazione con
 -dummy (mantiene il laser spento).  Al momento i CD prodotti avranno 2
 secondi di pausa fra la tracce audio.  Se il tuo masterizzatore
 supporta la scrittura in modalit� "disc-at-once" (DAO), puoi provare
 le nuove versioni di cdrecord per sbarazzarti delle pause.


 3.2.1.  DAO

 Se vuoi evitare le pause fra le tracce audio � necessario usare la
 modalit� di scrittura disk-at-once e non la track-at-once prima
 descritta. Il supporto per il DAO attualmente � pi� avanzato in
 cdrdao. Dai un'occhiata alla sua homepage per maggiori dettagli.
 Utilizzando il parametro read-cd di cdrdao sarai persino in grado di
 creare copie 1:1 di CD audio.


 3.3.  CD-ROM in modalit� mista (Mixed Mode)


 Non c'� pi� molto da dire. Basta indicare il tipo delle (successive)
 immagini con le opzioni -data e -audio



      cdrecord  -v dev=0,6,0  -data  cd_image  -audio  track*.cdr







 4.  Caro Winfried,...

 In altre parole questa � la sezione di solito chiamata "frequently
 asked questions with answers". Se hai dei problemi con il tuo partner,
 i tuoi bambini o il cane puoi inserirli nella sezione, sempre che
 abbiano a che fare con la scrittura di CD-R o anche solo se si tratta
 di situazioni divertenti.


 4.1.  Quanto � sensibile il processo di scrittura?

 Prova. Usa l'opzione -dummy per effettuare una simulazione con
 cdrecord.  Fai quello che vuoi e osserva se il processo viene
 interrotto o meno.

 Se alimenti cdrecord direttamente da mkisofs tieni presente che
 processi che occupano molto il disco come l'aggiornamento del database
 locate mettono in pericolo il flusso di dati e quindi la salute del
 tuo CD; meglio controllare che non vengano lanciati dal cron o anacron
 mentre stai masterizzando.


 4.2.  La frammentazione ha un cattivo impatto sul flusso?

 Di solito � cos� bassa che il suo impatto non � visibile.  Comunque �
 piuttosto facile costruire casi patologici di frammentazione, che
 abbassino il trasferimento degli hard disk sotto i 100 kbytes/secondo.
 Basta non farlo. :-)

 S�, i file sull'hard disk vengono frammentati durante gli anni. Pi�
 questo accade velocemente pi� il filesystem si riempie. Lascia sempre
 un 10% o 20% di spazio libero e non dovresti avere problemi nella
 scrittura di CD.


 Se non ne sei sicuro dai un'occhiata ai messaggi stampati al boot, la
 percentuale di frammentazione � stampata mentre vengono controllati i
 filesystem. Puoi controllare questo valore con il comando molto
 rischioso:



      shell> e2fsck -n  /dev/sda5        # '-n' is important!
      [robaccia-lascia perdere]
      /dev/sda5: 73/12288 files (12.3% non-contiguous)




 In questo esempio la frammentazione � molto alta - ma ci sono solo 73
 file molto piccoli su questo filesystem (usati in /tmp) quindi il
 valore non � allarmante.

 Vi � un'utility in fase sperimentale chiamata e2defrag per
 deframmantare filesystem extended-2. La versione corrente non funziona
 ancora abbastanza bene per essere usata anche solo in ambienti
 privati. Se vuoi veramente deframmentare il tuo filesystem, crea una
 copia di backup (meglio due), fai pratica nel ripristino dei dati e
 crea un nuovo filesystem (distruggendo il vecchio) e ripristina i
 dati.  In due parole questa � la tecnica pi� sicura.


 4.3.  Posso tenere un'immagine su un filesystem UMSDOS?

 Certo. L'unico filesystem che non � abbastanza veloce per masterizzare
 � il network filesystem (NFS).

 Anch'io usavo UMSDOS per condividere lo spazio su disco fra Linux e
 DOS/Win su un PC (486/66) dedicato alla masterizzazione.


 4.4.  Non c'� qualche modo per aggirare le limitazioni ISO-9660?

 S�. Puoi mettere su un CD qualsiasi filesystem vuoi. Ma altri sistemi
 operativi diversi da Linux non saranno in grado di usarlo.

 Ecco un esempio passo a passo:


 �  Crea un file vuoto di 650MB


      dd if=/dev/zero of="empty_file" bs=1024k count=650





 �  Crea un filesystem extended-2 su questo file


      shell> /sbin/mke2fs  -b 2048  empty_file
      empty_file is not a block special device.
      Proceed anyway? (y,n) y





 �  Monta questo file vuoto con le loopback-devices

 mount -t ext2 -o loop=/dev/loop1 empty_file /mnt





 �  Copia i file che ti servono su /mnt e poi smontalo

 �  Usa cdrecord su empty_file (che ora non � pi� vuoto) come se fosse
    un'immagine ISO-9660

 Se vuoi aggiungere un CD come questo in /etc/fstab ne devi
 disabilitare il controllo, cio� per esempio:


      /dev/cdrom  /cdrom  ext2  defaults,ro  0 0




 Il primo 0 significa che il disco non deve essere incluso nei dump, il
 secondo (importante) indica di non controllare la presenza di errori
 al boot (fsck troverebbe degli errori sul CD).



 4.5.  Come copio le tracce da CD Audio?

 Ci sono parecchi pacchetti software. Il pi� nuovo si chiama
 "cdparanoia" e puoi scaricarlo da:


      <http://www.mit.edu/afs/sipb/user/xiphmont/cdpara
      noia/index.html>



 Oppure puoi usare una combinazione di "cdda2wav" e "sox", disponibili
 presso sunsite e i suoi mirror:


      <ftp://sun
      site.unc.edu/pub/Linux/apps/sound/cdrom/cdda2wav0.71.src.tar.gz>

      <ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/sox-11gamma-
      cb3.tar.gz>


 Con cdda2wav puoi copiare un intervallo specifico (oppure un'intera
 traccia) da un CD Audio e convertire il risultato in un file .wav. sox
 al contrario riconverte i file .wav nel formato cdda tipico dei CD
 audio dimodoch� possano essere scritti su un CD-R con cdrecord. Di
 solito non � necessario usare sox perch� le nuove versioni di cdrecord
 hanno gi� il supporto per i file .au e .wav.


 4.6.  Come controllo la presenza di periferiche SCSI dopo il boot?

 Il file drivers/scsi/scsi.c contiene queste righe:







 /*
  * Usage: echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
  * with  "0 1 2 3" replaced by your "Host Channel Id Lun".
  * Consider this feature BETA.
  *     CAUTION: This is not for hotplugging your peripherals. As
  *     SCSI was not designed for this you could damage your
  *     hardware !
  * However perhaps it is legal to switch on an
  * already connected device. It is perhaps not
  * guaranteed this device doesn't corrupt an ongoing data transfer.
  */




 (NDT: In pratica il comando "aggiunge" al sistema una nuova periferica
 indicata dalle coordinate HA, CH, ID, LUN. Occhio, per�! Primo: questa
 funzione � ancora una beta; Secondo: SCSI non � USB e quindi non � una
 buona idea collegare delle periferiche "a caldo". L'ho visto fare con
 successo, ma non � una garanzia... Questa funzione � stata ideata per
 aggiungere periferiche gi� collegate e anche in questo caso non �
 sicura al 100%)

 Tieni presente che dovrebbe essere usata solo per aggiungere
 periferiche alla fine della catena. Se la inserisci nel mezzo rompi le
 scatole al meccanismo di assegnazione dei nomi (directory /dev) e
 potresti distruggere tutti i tuoi dati.


 4.7.  � possibile creare una copia 1:1 di un CD di dati?

 S�. Tieni presente per� che qualsiasi errore di lettura dell'originale
 (per polvere o graffi) si ripercuoter� in una copia difettosa.

 (NDT: spiacente ma non � vero nella maggior parte dei casi. CD che
 presentano incongruenze fra "user data" e Error Correction Codes/Error
 Detection Codes non possono essere replicati esattamente (qualcuno ha
 detto Playstation?) in quanto il firmware del lettore corregge
 automaticamente questi "errori". In pratica non � possibile
 leggere/scrivere quello che si vuole sul CD ma 280 byte di ogni
 settore devono essere una funzione dei 2048 di dati. Si tratta di 4
 byte per l'individuazione degli errori e 276 byte per la loro
 correzione. Una copia 1:1 � possibile con cdrdao e il driver generic-
 mmc-raw, che supporta per limitazioni fisiche solo una ristretta
 quantit� di hardware.  Se non hai capito niente di questo dai
 un'occhiata alle specifiche SCSI-2 e tanti auguri).

 Primo caso: hai un masterizzatore e un lettore CD-ROM separato. Se
 impartisci il comando



      cdrecord -v dev=0,6,0 speed=2 -isosize /dev/scd0




 puoi estrarre un flusso di dati dal lettore /dev/scd0 e scriverlo
 direttamente tramite il masterizzatore che ha ID=3 a velocit� 2X.
 (NDT: in questo caso si effettua una copia di "cooked data", cio� si
 copia solo l'area di dati utente in ogni settore. L'altro caso
 possibile � la copia di "raw data" in cui vengono copiate dal CD le
 seguenti aree:

 �  2048 bytes User Data

 �  4 bytes Error Detection Code

 �  8 bytes Zero

 �  276 bytes Error Correction Code )

 Secondo caso: non hai un lettore CD-ROM separato. Mi sa che devi usare
 il masterizzatore per creare l'immagine del CD-ROM:



      dd if=/dev/scd0 of=cdimage




 Questo comando legge il contenuto del CD dalla periferica
 corrispondente a /dev/scd0 e lo scrive nel file "cdimage". Il
 contenuto di questo file � identico a quello generato da mkisofs,
 quindi � possibile procedere come descritto precedentemente nel
 capitolo (cio� usare il file cdimage come input per cdrecord). Se ti
 interessa avere un indice dell'avanzamento del processo e altre
 cosucce carine da vedersi puoi usare sdd di J�rg Schilling.

 Se si presentano errori installa una versione recente di cdrecord che
 contiene lo strumento "readcd" (presente nella directory misc/). D�
 gli stessi risultati di dd, ma ripete la lettura del settore pi� volte
 in caso di errori.  (NDT: per chi usa cdrdao � disponibile un'opzione
 'read-cd' che legge il contenuto del disco e ne salva la struttura in
 un file (la Table Of Contents) che verr� poi utilizzato nel processo
 di scrittura per replicare la struttura del CD originale.)


 4.8.  Linux pu� leggere i CD-ROM Joliet?

 S�. I kernel pi� nuovi (2.0.36 e oltre) hanno il suppporto per il
 formato Joliet. Ricordati di usare le parole chiave iso9660 e joliet
 (che poi � solo un'estensione) nel file /etc/fstab. Per maggiori
 dettagli, visita la pagina <http://www-
 plateau.cs.berkeley.edu/people/chaffee/joliet.html>.



 4.9.  Come posso leggere/montare CD-ROM con il masterizzatore?

 Allo stesso modo che con il lettore. Niente trucchi. Tieni presente
 che devi usare le periferiche scd (SCSI CDROM) per montare i CD-ROM in
 lettura anche se possiedi un CD-ROM ATAPI (ricorda che hai configurato
 le tue periferiche ATAPI con l'emulazione SCSI). Per esempio nel file
 /etc/fstab potresti mettere:



      /dev/scd0  /cdrom  iso9660  ro,user,noauto  0  0






 4.10.  E per far stare ancora pi� dati su di un CD-R?

 Usa bzip2 invece di gzip o pkzip. Ti fa risparmiare fino al 30% di
 spazio per file pi� grandi di 100KB. Scaricatelo all'indirizzo


      <http://www.muraroa.demon.co.uk/>



 Invece di masterizzare un vero CD audio puoi convertire i file .wav in
 .mp3 e piazzarli su un CD ISO9660 come normalissimi file. Generalmente
 la compressione MPEG III ha un'efficienza di 1:10.  Ovviamente lo
 stereo non pu� leggere dei file... questo � il rovescio della
 medaglia. Per� potresti sempre usare l'hard-disk per la prossima
 festa; con 18GB puoi avere a disposizione 3000-4000 titoli (NDT: e non
 dimenticarti di invitarmi! :).

 Un compressore MPEG III � disponibile presso:

      <http://www.stud.ifi.uio.no/~larsi/other/8hz-
      mp3-cheng.tar.gz>



 Un riproduttore MPEG-III � disponibile presso:

      <http://homepages.uni-tuebingen.de/stu
      dent/michael.hipp/mpg123/>



 Per la voce campionata potresti ridurne le dimensioni usando la "GSM
 lossy speech compression":


      <ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/>

      <http://kbs.cs.tu-berlin.de/~jutta/toast.html>



 (NDT: per chi quando ha letto il titolo della sezione ha subito
 pensato a un buon vecchio e sano oversize (della serie: scrivi finch�
 c'� plastica) ho buone notizie: in generale i driver non sono
 schizzinosi quindi se il masterizzatore � fisicamente in grado di
 effettuare oversize non ci sono problemi. Che io sappia i driver che
 lo permettono sono : Teac-CDR50/55, generic-mmc di cdrdao e cdrecord.
 Secondo la documentazione di cdrdao QUALSIASI masterizzatore
 utilizzabile con il driver generic-mmc-raw dovrebbe essere in grado di
 effettuare oversize, il firmware non dovrebbe essere in grado di
 impedirlo).


 4.11.  Come creo dei CD di boot?

 Devi avere un floppy da 1.44 MB bootabile. Creane l'esatta immagine
 con il comando



      dd if=/dev/fd0 of=boot.img bs=18k




 Piazza l'immagine nella directory che contiene la tua collezione di
 file (o anche in una sottodirectory, fai tu...). Passa a mkisofs il
 nome del file con l'opzione '-b' e in pi� usa '-c'. Per maggiori
 informazioni leggiti il file README.eltorito nella distribuzione di
 mkisofs.

 Un'applicazione interessante per un CD di boot personalizzato � un
 ambiente DOS o Windows a prova di virus. Cos� puoi risparmiare i soldi
 per un hard-disk (se hai una rete e usi samba per rendere disponibili
 dei file utente su un fileserver). Il giornale di informatica tedesco
 C't ha un articolo a tal proposito nel numero 11/99, pagina 206 (
 <http://www.heise.de/>).

 Alcuni dettagli sul CD-ROM di boot della RedHat li trovi presso:
 <http://www.channel1.com/users/rodsmith/rhjol-technical.html>.


 4.12.  Come posso rendere i CDROM scrivibili come un Hard Disk?

 S�. C'� un filesystem di overlay per Linux che puoi montare al di
 sopra del CD-ROM e che intercetta tutte le operazioni di scrittura. I
 file nuovi e quelli modificati sono memorizzati da qualche altra
 parte, ma all'utente sembra proprio di averli modificati. Per maggiori
 informazioni dai un'occhiata a:
 <http://home.att.net/~artnaseef/ovlfs/ovlfs.html>.

 Se non ne hai abbastanza devi solo aspettare che Linux supporti il
 filesystem UDF, oppure rimboccati le maniche e dai una mano:
 <http://trylinux.com/projects/udf/>.  Al momento � supportata la sola
 lettura a causa di limitazioni dei driver per CDROM nel kernel.


 4.13.  � possibile usare pi� masterizzatori allo stesso tempo?

 S�. E' stato testato con 3 masterizzatori 6x funzionanti a piena
 velocit� su di un PC con processore a 233 Mhz, un controller SCSI a
 singolo canale e kernel 2.2.12.  Ti serve o una versione recente del
 Kernel (2.2.12 o superiore) oppure una patch per avere pi� buffer nel
 driver SCSI generico
 <ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha>; funziona per
 versioni sino alla 2.2.5.



 4.14.  Quale supporto � il migliore?

 La risposta a questa domanda era obsoleta ed � stata rimossa. La
 domanda in s� viene mantenuta per avere uno schema di numerazione
 costante.


 4.15.  E a proposito di Solaris, *BSD, AIX, HP-UX, ecc.?

 Solo il cap.2 � specifico per Linux. Puoi applicare i capitoli 3 e 4
 anche ad altri sistemi operativi. Guarda i file README.NetBSD,
 README.aix, README.hpux, README.next, README.solaris, README.sunos,
 README.vms o README.xxxBSD dalla distribuzione di cdrecord.


 4.16.  Dove posso mantenere permanentemente la configurazione locale?

 Hai due possibilit�. Usare il file di configurazione per cdrecord
 oppure uno shell-wrapper come quello indicato qui sotto. Questo script
 per la shell legge un file di configurazione, nel quale sono indicate
 le opzioni e i parametri per cdrecord riga per riga. I nomi sono
 esattamente gli stessi che sulla riga di comando, ma senza essere
 preceduti da -. I commenti sono possibili. Esempio:





 # be verbose
 v
 # set the speed of the writer
 speed=2
 # the device-coordinates in the form BUS,ID,LUN
 dev=0,6,0




 I file di configurazione per lo script sono all'interno di
 /etc/cdrecord e devono essere indicati nella riga di comando. Esempio:
 se vuoi riferirti alla configurazione /etc/cdrecord/mywriter.cfg,
 allora devi impartire il comando "cdrecord.sh mywriter.cfg -audio
 track1...". Ogni parametro dopo mywrite.cfg � passato a cdrecord.



      #! /bin/bash

      CFGDIR="/etc/cdrecord"

      CFG="$1"
      shift
      ARGS_LEFT="$@"

      if [ ! -f "$CFGDIR/$CFG" ]
      then
          echo "Configuration file $CFGDIR/$CFG not found. Exiting."
          exit 1
      fi

      while read LINE
      do
          case $LINE in
              \#*|"") continue;;
          esac
          old_IFS="$IFS"
          IFS="$IFS="
          set -- $LINE
          IFS="$old_IFS"
          O_NAME="$1"
          O_VALUE=""
          while shift
          do
              case $1 in
                  "") continue;;
              esac
              O_VALUE="$1"
          done

          if [ -z "$O_VALUE" ]
          then
              O_CDRECORD="$O_CDRECORD -$O_NAME "
              continue
          fi
          O_CDRECORD="$O_CDRECORD $O_NAME=$O_VALUE "

      done < "$CFGDIR/$CFG"

      set -x    #DEBUG
      exec cdrecord $O_CDRECORD $ARGS_LEFT
      echo "Execution of cdrecord failed."



 4.17.  Come faccio a leggere le informazioni del CD?

 Da qualche parte dopo i primi 32k sul CD vi � un blocco contenente le
 informazioni sul CD. Puoi estrarre queste informazioni con questo
 script:



      #! /bin/bash

      RD=/dev/cdrom
      for i in 32768,7   32776,32 32808,32 32958,128 33086,128 33214,128 \
               33342,128 33470,32 33581,16 33598,16  33615,16  33632,16
      do
          old_IFS="$IFS"
          IFS=","
          set -- $i
          IFS="$old_IFS"
          OFFSET=$1
          LENGTH=$2
          echo "*`dd if=$RD bs=1 skip=$OFFSET count=$LENGTH   2> /dev/null`#"
      done






 4.18.  E a proposito dei riscrivibili?

 Per riscrivere un supporto CD-RW specifica il parametro blank=fast a
 cdrecord.  Tutto qui. Dai un'occhiata alla pagina man di cdrecord per
 maggiori dettagli su questo parametro.


 4.19.  Come creo un CD multisessione?

 Per prima cosa l'immagine per un CD multisessione deve essere
 formattata con il filesystem ISO9660 e le estensioni RockRidge. In pi�
 devi usare l'opzione -multi di cdrecord se vuoi ancora aggingere nuove
 sessioni. Quindi, almeno per la prima devi usare l'opzione -multi.

 Le immagini per la seconda e successive sessioni sono un poco pi�
 difficili da generare. Mkisofs deve sapere dove inizia lo spazio
 libero sul CD. ti puoi procurare questa informazione con l'opzione
 -msinfo di cdrecord (ecco un esempio).



      shell> NEXT_TRACK='cdrecord -msinfo dev=0,6,0'
      shell>: echo $NEXT_TRACK
      shell> mkisofs -R -o cd_image2 -C $NEXT_TRACK -M /dev/scd5
                private_collection/ \




 Per maggiori informazioni leggi il file README.multi incluso nella
 distribuzione di cdrecord.


 4.20.  Devo usare il controller SCSI che mi � stato venduto insieme al
 masterizzatore?

 Molte specifiche di masterizzatori indicano di usare un bus SCSI
 separato se i dati viaggiano da un CD-ROM verso un masterizzatore, e
 ho potuto constatarlo in questa occasione.

 Controller Adaptec 2940UW SCSI, 24x SCSI CD-ROM e masterizzatore 4x4
 SCSI.  Quando mi � arrivato il masterizzatore aveva nella scatola il
 suo controller ISA-SCSI che poteva pilotare una sola periferica. Ho
 pensato di lasciarlo stare e di usare il mio controller Adaptec per
 ogni cosa.  Ho notato che spesso mi capitavano svuotamenti del buffer
 durante la scrittura a 4X, ma da quando ho iniziato ad usare il
 controller ISA-SCSI i problemi sono scomparsi. Conosco altre 2 persone
 (che usano controller Adaptec 2940) che hanno avuto esattamente gli
 stessi problemi, durante la scrittura "al volo". Non ho mai avuto
 problemi di questo tipo passando dall'HD al masterizzatore sullo
 stesso bus.



 4.21.  Come masterizzare da rete?

 Di solito un trasferimento via FTP � sufficientemente veloce per
 sostenere una scrittura a 4X, anche su una ethernet a 10 Mbit. Potete
 usare cdrecord in coppia con un client ftp attraverso una fifo.  Prima
 create una fifo chiamata cdimage:



      mkfifo cdimage
      ftp other.host.org
      get cdimg cdimage




 Quindi trattate la fifo come una normale immagine, per es. con il
 comando:



      cdrecord dev=0,1,0 speed=2 cdimage




 Il vostro client ftp si accorger� che cdrecord vuole leggere dal file
 e inizier� il trasferimento dati.


 4.22.  Sento degli scricchiolii alla fine di ogni traccia

 Dovete utilizzare la modalita disk-at-once (DAO) per eliminarli.


 4.23.  Come ci si pu� organizzare per permettere ad un utente normale
 la scrittura dei CD?

 Potete rendere setuid l'eseguibile di cdrecord. Questo per� potrebbe
 essere un rischio per la sicurezza.  Impostare i permessi sui file di
 periferica non aiuta in quanto cdrecord manda comandi privilegiati
 attraverso l'interfaccia SCSI generica.



      which cdrecord
      chown root.root /usr/bin/cdrecord
      chmod 4111 /usr/bin/cdrecord


 4.24.  La mia variante di Unix � supportata?

 Probabilmente s�. Compilate cdrecord per la vostra piattaforma e date
 il comando "cdrecord -scanbus". Leggete i file README.* per la vostra
 versione di Unix che sono distribuiti con i sorgenti di cdrecord.
 Comunque, non tutte le versioni di Unix possono leggere le estensioni
 RockRidge, Joliet o HFS.



 4.25.  Dove posso procurarmi gli standard "Yellow Book" e "Orange
 Book"?

 Potete ottenere le specifiche stampate dalla Philips ma sono molto
 costose.



 4.26.  Sto cercando delle informazioni sulla scrittura di Video-CD
 sotto Linux.

 Anch'io.



 4.27.  � pi� facile impostare un sistema IDE o SCSI?

 Per quanto riguardo la scrittura di CDR sotto Linux, i masterizzatori
 SCSI sono leggermente pi� facili da impostare.  E si dice che abbiano
 una migliore gestione degli errori. Se questo compensi il costo
 maggiore non � una domanda cui sia possibile rispondere in generale.


 4.28.  Come posso effettuare l'overburn di un CD usando {cdrecord,cdr�
 dao}?

 Effettuare l'overburn di un CD non � niente di speciale. � a tuo
 rischio provare a far stare i dati sul CD, ma questo � tutto. Non vi �
 alcun limite ai 650MB nel software sotto Linux.


 4.29.  Cosa far� cdrecord quando non vi sar� input disponibile sulla
 pipe?

 Terminer� la scrittura. Quindi � possibile accoppiare il vostro
 strumento di backup preferito a cdrecord tramite una pipe, come "bru
 -size=640m -f - |cdrecord dev=0,1,0 speed=2 -". � importante prestare
 molta attenzione alle opzioni dello strumento di backup.


 4.30.  Vi � l'equivalente di ignore=hdX per l'emulazione ide-scsi?

 Non saprei come fare, ma chiunque � il benvenuto per aggiungere questa
 caratteristica ai sorgenti del kernel di Linux.


 4.31.  Quante volte posso utilizzare un CD-RW prima che divenga difet�
 toso?

 Buona domanda.


 4.32.  Quale formato di CD posso scegliere per renderlo indipendente
 dalla piattaforma?


 Un CD-ROM che debba essere letto su molti sistemi pu� solo usare il
 formato semplice ISO9660.  Questo significa stupidi nomi file in
 formato 8.3 dal vecchio MS-DOS e senza alcuna estensione HFS
 (Macintosh), Joliet (Microsoft) o RockRidge (Unix pi� recenti).  Non
 vi � alcuna estensione per nomi di file pi� lunghi che possa essere
 letta da tutti i sistemi operativi.


 4.33.  � possibile la multisessione per tracce audio?

 I lettori di CD Audio sono in grado di gestire solamente le tracce
 audio memorizzate nella prima sessione. In altre parole, se aggiungete
 tracce in sessioni successive, queste non verranno lette dal vostro
 stereo. Scrivere una seconda sessione pu� essere utile per nascondere
 una traccia dati al lettore. In questo modo potete evitare che vi sia
 una traccia di silenzio, come accade nel caso di CD con tracce audio e
 dati mescolate.

 NDT: Per quanto riguarda i dischi con tracce audio e dati esistono 2
 possibilit�.

 1. CD-Extra: una prima sessione contenente le tracce audio, una
    seconda contenente dati. Gli stereo leggeranno solamente le tracce
    audio, mentre con un lettore CDROM sar� visibile la traccia dati.

 2. CD Mixed Mode: una traccia dati seguita da tracce audio nella prima
    sessione. � possibile che uno stereo tenti di riprodurre la traccia
    dati, con conseguente rischio di rovinare le casse.

    L'uomo comune, provvisto di cervello come dotazione di serie, usa
    adottare la prima possibilit� :-).


 4.34.  Sento degli scricchiolii alla fine di ogni traccia audio.

 Utilizza la modalit� di scrittura DAO (Disc At Once) per i tuoi CD
 audio e non ci saranno pi� problemi.


 5.  Risoluzione di problemi

 Ricordati sempre che puoi usare i CD bruciati come sottobicchieri. :-)


 5.1.  Non va niente: sotto Linux

 Controlla che il masterizzatore funzioni con il software in dotazione
 (=sotto un altro sistema operativo). In pratica:


 �  Il controller riconosce il masterizzatore come periferica SCSI?

 �  Il driver software riconosce il masterizzatore?

 �  Si riesce a creare un CD con il software a corredo?

 Se non funziona un bel niente anche sotto altri sistemi operativi ci
 sono dei conflitti hardware oppure devi mettere mano alla garanzia.
 Se invece funziona e usi loadlin per bootare Linux ecco il tuo
 problema.  Loadlin effettua un boot veloce con la maggior parte
 dell'hardware gi� inizializzato e questo pu� confondere il kernel di
 Linux.




 5.2.  Messaggio d'errore: No read access for 'dev=0,6,0'.

 Sotto Linux, alcune versioni della libreria C sono incompatibili
 (bacate) cosicch� un'applicazione linkata con una versione non
 funziona con un'altra.  Un tipico errore provocato da eseguibili
 precompilati � simile a questo:



      [root@Blue /dev]# cdrecord -eject dev=0,6,0
      cdrecord: No such file or directory. No read access for 'dev=0,6,0'.





 5.3.  Non funziona: sotto DOS e compagnia

 Prova a usare Linux. � veramente un macello installare e configurare
 driver SCSI sotto DOS. E Linux sarebbe troppo complicato? Ha!


 5.4.  Errori SCSI nella fase di scrittura

 Generalmente sono causati da:


 �  Mancanza di disconnessione/riconnessione al bus SCSI

 �  Raffreddamento insufficiente

 �  Hardware difettoso (dovrebbe essere riconosciuto dalla 5.1.)

 In varie circostanze le periferiche SCSI si disconnettono e
 riconnettono (elettronicamente) dal bus SCSI. Se non lo fanno (guarda
 i parametri del controller e del kernel) alcuni masterizzatori danno
 errori nella fase di scrittura o finalizzazione del CD.  Specialmente
 il driver SCSI NCR 53c7,8xx ha questa caratteristica disabilitata per
 default, quindi magari dagli un'occhiata per prima cosa:



      NCR53c7,8xx SCSI support                  [N/y/m/?] y
         always negotiate synchronous transfers [N/y/?] (NEW) n
         allow FAST-SCSI [10MHz]                [N/y/?] (NEW) y
         allow DISCONNECT                       [N/y/?] (NEW) y





 5.5.  I CD appena scritti non sono leggibili su alcuni lettori.

 Alcune persone hanno riportato l'esistenza di problemi nella
 riproduzione di CD scritti da loro stessi.  I lettori pi� vecchi e i
 caricatori da auto hanno dei problemi nella lettura di CD-R, anche se
 questa situazione non � molto frequente.  Quasi sempre invece il
 problema si pone con i CD-RW dal momento che il loro coefficiente di
 riflessione del laser � inferiore a quello dei CD-R, quindi, a maggior
 ragione, non al livello dei CD "Silver" stampati in fabbrica.


 6.  Ringraziamenti



 Molti ringraziamenti vanno a i lettori di questo HOWTO, che
 contribuiscono attivamente ai suoi contenuti. Siccome io non ho avuto
 fisicamente accesso a un masterizzatore per diversi anni, informazioni
 su impostazioni reali ed esperienze varie sono sempre state di gran
 valore per me.


    Doug Alcorn <[email protected]>
       ha aiutato a migliorare l'utilizzo di kernel nuovi


    Kalle Andersson <[email protected]>
       Come creare CD audio direttamente da mp3.


    Alan Brown <[email protected]>

    Rick Cochran <[email protected]>
       suggerimento a proposito della (dis)connessione nel chip NCR


    Robert Doolittle <[email protected]>
       ottimi argomenti per escludere cdwrite dall'HOWTO


    Markus Dickebohm <[email protected]>

    Thomas Duffy <[email protected]>
       grossa revisione di sintassi e semantica


    Jos van Geffen <[email protected]>
       ha notato il problema nella 4.9.


    Bernhard Gubanka <[email protected]>
       ha notato la necessit� di una versione decente di mount per
       usare le loopback-devices


    Stephen Harris <[email protected]>
       suggerimenti sulla scrittura di CD audio


    Janne Himanka <[email protected]>
       indirizzo per la patch del kernel per leggere CDROM Joliet


    Stephan Noy <[email protected]>
       informazioni ed esperienza nella scrittura di CD audio


    Don H. Olive <[email protected]>
       URL di mkhybrid


    Jesper Pedersen <[email protected]>

    Pierre Pfister <[email protected]>
       mi ha aiutato a sviluppare il capitolo sulle copie 1:1


    Daniel A. Quist <[email protected]>
       informazioni su masterizzatori IDE e versioni nuove del kernel


    [email protected]
       Ha riportato il problema di masterizzatori pre-inizializzati
       durante il boot via loadlin.


    Dale Scheetz <[email protected]>

    Joerg Schilling <[email protected]>
       informazioni su cdrecord


    Martin Schulze <[email protected]>
       informazioni per la mailing list di cdwrite


    Gerald C Snyder <[email protected]>
       volontario per la masterizzazione di un filesystem ext2 (vedi
       4.4)


    Art Stone <[email protected]>
       per l'idea di mettere filesystem non ISO-9660 sul CD


    The Sheepy One <[email protected]>
       ha suggerito di usare i CD bruciati come sottobicchieri


    Erwin Zoer <[email protected]>

    Dave Forrest  <[email protected]>
       ha sistemato il problema della dizione di "adapter"


 Inoltre vorrei ringraziare le seguenti persono per avermi fatto notare
 degli errori di grammatica: Bartosz Maruszewski
 <[email protected]>, Ian Stirling <[email protected]>, Brian
 H. Toby.


 7.  Note sulla traduzione e suggerimenti

 Traduzione Italiana di Corbelli Giuseppe.  Ho cercato di mantenere un
 tono "scherzoso e alla buona" per rendere pi� piacevole la lettura
 senza pregiudicare i contenuti. Spero di esserci riuscito.  Per
 suggerimenti e schifezze che potrei aver scritto infamatemi pure a
 questo indirizzo: <[email protected]>

 Suggerimenti vari:

 �  Usate cdrdao, non solo cdrecord. Ha meno opzioni ma scrive in DAO,
    � stabile, � disponibile in forma precompilata e pu� essere
    facilmente pilotato tramite CUE Sheet (CDRWin vi dice niente?). Con
    2 comandi fa copie dirette o con immagine di qualsiasi disco. Dalla
    versione 1.1.3 include anche la libreria Paranoia per DAE,
    acquisendo dunque la piena capacit� di estrazione audio digitale.
    Il sito WEB � il seguente :
    <http://www.ping.de/sites/daneb/download/>

 �  Se dovete solo copiare un CD lavorate sotto la shell senza X e
    utilizzate dd per creare l'immagine con un comando tipo:


      [root@braveheart cdrdao]#dd if=/dev/sr0 of=/tmp/nomefile bs=2048
      conv=notrunc,noerror

 La dimensione di bs (block size) � relativa alla dimensione dei dati
 utente all'interno del settore fisico del CD e l'opzione noerror con�
 sente di ignorare gli errori di lettura pi� leggeri.

 Oppure, meglio ancora, il programmino readcd presente nelle ultime
 distribuzioni di cdrecord. In alternativa sg_dd2048 o sg_dd2352 da
 <http://www.torque.net/sg>

 Un esempio con cdrdao � il seguente:


      [root@braveheart cdrdao]#cdrdao copy --device 0,2,0 --source-device 0,1,0 --driver generic-mmc
      --fast-toc --on-the-fly --speed 8 --buffers 80 -v 3 --paranoia-mode 0




 per una copia diretta a 8X senza correzione Jitter e con un FIFO di 10
 secondi in memoria.

 �  Per creare raccolte mkisofs � necessario, ma per non morire di
    vecchiaia �  meglio un front-end grafico tipo X-CDRoast, che
    trovate all'indirizzo :  <http://www.fh-muenchen.de/rz/xcdroast>

 �  Applicate la patch di cui si parlava prima, reperibile
    all'indirizzo <ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha> in
    quanto la gestione di accessi multipli al driver sg �
    effettivamente poco efficiente e ci� ha un pessimo impatto sulle
    copie dirette.  Questo vale solo per kernel "vecchi", a mia
    conoscenza precedenti alla v.2.2.5

 �  Linux con l'emulazione SCSI � manna dal cielo per i masterizzatori
    IDE.

 �  In questo periodo si parla tanto di modalit� di scrittura RAW. �
    pi� o meno la scoperta dell'acqua calda. Anche cdrdao ha da almeno
    un anno un driver di scrittura/lettura RAW quindi pu� essere usato
    al posto di programmi tanto strombazzati.

 Fine del Linux CD-Writing HOWTO (puoi smettere di leggere).