<!doctype linuxdoc system>

<article opts="italian">

<title>The Linux CD-ROM HOWTO
<author>Jeff Tranter, <htmlurl url="mailto:tranter@pobox.com"
 name="tranter@pobox.com">
<date>v1.14, 24 marzo 1999

<abstract>
Questo documento descrive come installare, configurare e usare i
lettori CD-ROM sotto Linux. Contiene una lista dell'hardware
supportato e risponde a un gran numero di domande. L'intenzione è di
portare i nuovi utenti a risolvere i loro problemi velocemente e
ridurre il traffico nei newsgroup Usenet e nelle mailing list.
</abstract>

<toc>

<sect>Introduzione<p>

Questo è il Linux <idx>CD-ROM HOWTO</idx>. È inteso come un
riferimento veloce che copra tutto ciò che serve sapere per
installare e configurare l'hardware per il CD-ROM sotto Linux.
Viene data risposta alle Frequently Asked Questions (domande
frequenti, o FAQ) e sono dati riferimenti ad altre fonti di
informazioni legate alle applicazioni per CD-ROM e alle tecnologie
relative a esse.

<sect1>Crediti<p>

Molte di queste informazioni provengono dalla documentazione e dai
sorgenti forniti con il kernel di Linux, dalle FAQ dei newsgroup
Internet <htmlurl url="news:alt.cd-rom" name="alt.cdrom"> e da utenti
Linux.

Grazie al pacchetto <htmlurl url=
"ftp://metalab.unc.edu/pub/Linux/utils/text/sgml-tools-0.99.0.tar.gz"
name="SGML Tools">, questo HOWTO è disponibile in svariati formati,
tutti generati da un comune file sorgente.

<sect1>Nuove versioni di questo documento<p>

Nuove versioni di questo documento saranno inviate periodicamente al
newsgroup <htmlurl url="news:comp.os.linux.answers" name=
"comp.os.linux.answers">. Saranno anche depositate su vari siti FTP
che permettono l'accesso anonimo che archiviano tali informazioni,
compreso <url url="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/">.

Le versioni ipertestuali di questo e altri HOWTO di Linux sono
disponibili su molti siti Web, compreso <url url=
"http://metalab.unc.edu/LDP/HOWTO/">. Molte distribuzioni su CD-ROM
includono gli HOWTO, spesso nella directory <file>/usr/doc</file>, ed
 è possibile acquistarne versioni cartacee da molti editori. Qualche
volta gli HOWTO reperibili in questi modi non sono aggiornati. Se la
data di questo HOWTO è di più di sei mesi fa, allora probabilmente è
disponibile una nuova copia su Internet.

<em>Prego notare che, a causa della natura dinamica di Internet, tutti
i collegamenti Web e ftp elencati in questo documento sono soggetti a
cambiamenti.</em>

Questo HOWTO è stato tradotto in italiano da Germano Rizzo, <htmlurl
url="mailto:germano@geocities.com" name="germano@geocities.com">.

Traduzioni di questo documento sono disponibili in molte altre lingue:

Cinese: <url url="http://www.linux.org.tw/CLDP/CDROM-HOWTO.html">

Francese: <url url="http://www.freenix.org/unix/linux/HOWTO/">

Giapponese: <url url="http://jf.linux.or.jp/JF/JF.html/">

Polacco: <url url="http://www.jtz.org.pl/Html/CDROM-HOWTO.pl.html">

Spagnolo: <url url="ftp://ftp.insflug.org/es">

Svedese: <url url="http://www.swe-doc.linux.nu/">

La maggior parte delle traduzioni di questo e altri HOWTO di Linux
possono anche essere reperite a <url url=
"http://metalab.unc.edu/pub/Linux/docs/HOWTO/translations/"> e <url
url="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/translations/">.

<sect1>Commenti e critiche<p>

Faccio affidamento sui lettori, per rendere questo HOWTO quanto
più utile possibile. Se avete qualsiasi suggerimento, correzione o
commento, per favore inviatelo a me, <htmlurl url=
"mailto:tranter@pobox.com" name="tranter@pobox.com">, e proverò ad
incorporarlo nella prossima revisione.

Ho anche intenzione di rispondere a questioni generiche sui CD-ROM
sotto Linux meglio che posso. Prima di fare ciò, per favore leggete
tutte le informazioni in questo HOWTO e poi inviatemi informazioni
dettagliate sul problema. Per favore, non chiedetemi alcunché sull'uso
di drive CD-ROM sotto sistemi operativi diversi da Linux.

Se pubblicate questo documento su un CD-ROM o in forma cartacea,
apprezzerei una copia omaggio; scrivetemi per avere il mio indirizzo
di
posta ordinaria. Considerate anche la possibilità di fare una
donazione
al Linux Documentation Project per aiutare a supportare la
documentazione gratuita e libera per Linux. Contattate il coordinatore
dei Linux HOWTO, Tim Bynum (<htmlurl url=
"mailto:linux-howto@metalab.unc.edu" name=
"linux-howto@metalab.unc.edu">), per maggiori informazioni.

<sect1>Modalità di distribuzione<p>

Copyright (c) 1995-1999 di Jeff Tranter. Questo documento può essere
distribuito nei termini stabiliti nella licenza LDP in <url url=
"http://metalab.unc.edu/LDP/COPYRIGHT.html">.

<sect>La tecnologia CD-ROM<p>

<verb>
"Il CD-ROM è un dispositivo di memorizzazione a sola lettura e il
sistema dei compact disc audio è disponibile come un pacchetto di
media per dati digitali a quello scopo. Per suonare CD audio,
prego inserire lo spinotto delle cuffie."
--- da un manuale di istruzioni di un CD-ROM
</verb>

Non fatevi prendere dal panico! Il mondo della <idx>tecnologia CD-ROM
</idx> non è caotico come questo manuale di istruzioni.

CD-ROM sta per <em>Compact Disc Read-Only Memory</em> (memoria a sola
lettura basata su compact disc), un dispositivo di memorizzazione di
massa che utilizza un laser ottico per leggere avvallamenti
microscopici sullo strato metallizzato di un disco di policarbonato.
Lo stesso formato è utilizzato per i Compact Disc Audio. Grazie
all'elevata capacità di memorizzazione, all'affidabilità e al basso
costo, il CD-ROM sta diventando un dispositivo dalla popolarità sempre
maggiore.

La capacità di memorizzazione di un disco CD-ROM è di circa 650
megabyte, equivalente a più di 500 dischetti da 3,5" ad alta densità o
approssimativamente a 250000 pagine scritte.

I drive di prima generazione (conosciuti come a <em>singola velocità
</em>), fornivano un transfer rate (velocità di trasferimento) di
circa 150 kilobyte al secondo. I fabbricanti di hardware poi
introdussero la doppia velocità (300 KB/sec), la quadrupla (600
KB/sec), e così via. I drive odierni possono operare a velocità
superiori a
40 volte la singola, sebbene la massima velocità possa essere
raggiunta solo in certe porzioni della superficie del disco.

La maggior parte dei drive CD-ROM usano come interfaccia o la SCSI
(Small Computer Systems Interface), o l'ATAPI enhanced IDE, oppure
un'interfaccia proprietaria del produttore. Tipicamente, supportano la
riproduzione di CD audio per mezzo di una presa per cuffie o
dell'output di linea. Alcuni CD permettono anche di leggere i
pacchetti di dati dai CD audio in forma digitale.

I CD-ROM sono solitamente formattati con il filesystem <idx>ISO-9660
</idx> (conosciuto in passato come <em><idx>High Sierra</idx></em>).
Questo formato pone restrizioni sui nomi dei file, limitandoli allo
standard MS-DOS (8+3 caratteri). Le estensioni <em><idx>Rock Ridge
</idx></em> usano campi non definiti dall'ISO-9660 per supportare nomi
dei file più lunghi e informazioni addizionali proprie di UNIX (ad
es., proprietà e permessi dei file, link simbolici, ecc.). Microsoft
ha definito delle estensioni proprietarie per il filesystem ISO
chiamate Joliet che supportano nomi lunghi usando la codifica di
caratteri UNICODE 16-bit.

Il <em><idx>PhotoCD</idx></em> è uno standard sviluppato da Kodak per
archiviare immagini fotografiche come dati digitali su CD-ROM. Con un
software appropriato, è possibile vedere le immagini sul computer,
manipolarle, o inviarle a una stampante. Altre informazioni possono
essere aggiunte in un secondo momento; questa caratteristica è
conosciuta come <em><idx>multisessione</idx></em>.

I registratori CD (CD-R, comunemente detti masterizzatori) permettono
la scrittura su speciali CD ``gold'' che possono poi essere letti da
qualsiasi drive CD-ROM. I dati possono essere scritti una sola volta,
anche se usando la multisessione nuovi dati possono essere aggiunti
al disco. Questi drive stanno diventando sempre più accessibili a
tutti.

I drive CD-RW (read/write, lettura e scrittura) supportano CD che
possono essere registrati più volte. Sono dischi speciali che non
possono essere letti dai drive CD-ROM più vecchi, anche se i drive CD-
RW stessi possono leggere CD normali.

I DVD-ROM espandono la capacità di immagazzinamento di un CD fino a 17
gigabyte. Sono comunemente usati come supporto per distribuire film
completi compressi usando il formato MPEG-2. La decompressione MPEG
avviene di solito usando hardware video dedicato.

<sect>Hardware supportato<p>

Questa sezione elenca i drive CD-ROM e le loro interfacce attualmente
supportate da Linux. Le informazioni qui riportate sono basate sul più
recente kernel di Linux stabile, che al momento di questo scritto era
la versione 2.2.4.

Inoltre, queste informazioni sono valide solo per Linux su piattaforme
Intel; la maggior parte di esse sono tuttavia valide anche per altre
architetture.

<sect1>Drive CD-ROM ATAPI<p>

<idx>ATAPI</idx> <idx>(ATA Packet Interface)</idx> è un protocollo per
controllare dispositivi di memorizzazione di massa. È costruito
sull'interfaccia ATA (AT Attachment), il nome ufficiale standard ANSI
per l'interfaccia IDE, sviluppata per gli hard disk. ATAPI è
comunemente usata per hard disk, drive CD-ROM, dispositivi a nastro,
ed altri dispositivi. Attualmente il tipo più popolare di interfaccia,
offre molte delle funzionalità della SCSI, senza il bisogno di costosi
controller o cavi.

Il kernel di Linux ha un driver di dispositivo che dovrebbe funzionare
per ogni CD-ROM ATAPI. Alcune case che producono drive compatibili
sono Aztech, Mitsumi, NEC, Sony, Creative Labs e Vertos. Se avete
acquistato di recente un drive CD-ROM, specialmente se a quadrupla
velocità o superiore, è quasi sicuro che sia IDE/ATAPI o SCSI.

Linux ha anche una modalità <idx>IDE SCSI emulation</idx> (emulazione
IDE dell'interfaccia SCSI) nel kernel che fa apparire al software un
dispositivo IDE/ATAPI come fosse SCSI, permettendo di usare un driver
di dispositivo SCSI al posto dell'originale driver ATAPI. Questo è
utile se avete un dispositivo ATAPI per il quale non è stato scritto
alcun driver dedicato (per esempio, un PC-CD ATAPI o un drive CDR); in
seguito potete quindi usare questa emulazione assieme a un appropriato
driver di dispositivo SCSI.

<sect1>Drive CD-ROM SCSI<p>

<idx>SCSI</idx> (Small Computer Systems Interface) è un formato
diffuso per i drive CD-ROM. I suoi principali vantaggi sono un
transfer rate ragionevolmente alto, la possibilità di collegare più
dispositivi e il supporto di svariate architetture di computer. Alcuni
svantaggi sono legati alla necessità di schede controller e di cavi
relativamente costosi.

Qualsiasi drive <idx>CD-ROM SCSI</idx> con dimensioni dei blocchi di
512 o 2048 byte dovrebbe funzionare sotto Linux; questi includono la
stragrande maggioranza di drive CD-ROM sul mercato.

Avrete anche bisogno di una scheda controller SCSI supportata; si veda
lo
<htmlurl url=
"ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/unmaintained/SCSI-HOWTO"
name="SCSI HOWTO"> per maggiori informazioni sulle interfacce
hardware.

Notate che alcuni CD-ROM comprendono un controller SCSI proprietario
con
un'interfaccia modificata non pienamente compatibile con lo standard
SCSI (per esempio, potrebbe non supportare l'aggiunta di ulteriori
dispositivi sul bus). Questi, con ogni probabilità, <em>non</em>
funzioneranno sotto Linux.

<sect1>Drive CD-ROM con interfacce proprietarie<p>

Sono disponibili molti drive CD-ROM che usano <idx>interfacce
proprietarie</idx>; l'interfaccia è spesso fornita su una scheda
audio. Sono anche disponibili semplici schede d'interfaccia
equivalenti a quelle fornite sulle schede audio. Questi drive
generalmente tendono a essere meno costosi e ingombranti dei drive
SCSI. I loro svantaggi stanno nella mancanza di standard fissi e di
espandibilità.

Notate che spesso ci si riferisce erroneamente alle interfacce
proprietarie come interfacce IDE, perché come gli hard disk IDE, usano
un'interfaccia semplice basata sul bus PC/AT. Per aggiungere
confusione alla confusione, alcuni produttori, tra cui è più evidente
Creative Labs, producono molti tipi diversi di drive CD-ROM e offrono
interfacce SCSI, ATAPI e proprietarie sulle loro schede audio.

La tabella seguente elenca i drive CD-ROM con interfaccia
proprietaria che sono supportati da Linux. Driver per ulteriori
dispositivi possono essere disponibili nei più recenti kernel di
sviluppo o come patch per il kernel. Questi ultimi possono essere
spesso reperiti su <url url=
"ftp://metalab.unc.edu/pub/Linux/kernel/patches/cdrom/">. Leggete
anche i file di documentazione inclusi nella distribuzione del kernel,
di solito installati in <file>/usr/src/linux/Documentation/cdrom</file>,
per avere le informazioni più aggiornate.

<verb>
       Drive CD-ROM con interfacce proprietarie

Produttore	Modello		Driver Kernel	Note
------		-----		-------------	--------
Panasonic	CR-521		sbpcd		Nota 1
Panasonic	CR-522		sbpcd		Nota 1
Panasonic	CR-523		sbpcd		Nota 1
Panasonic	CR-562		sbpcd		Nota 1
Panasonic	CR-563		sbpcd		Nota 1
Creative Labs	CD-200		sbpcd
IBM 		ISA Esterno	sbpcd		Nota 2
Longshine	LCS-7260 	sbpcd
Teac		CD-55A 		sbpcd
Sony		CDU-31A		cdu31a
Sony		CDU-33A		cdu31a
Sony		CDU-535		sonycd535	Nota 3
Sony		CDU-531 	sonycd535
Aztech		CDA268-01A	aztcd		Nota 4
Orchid		CDS-3110	aztcd
Okano/Wearnes	CDD110		aztcd
Conrad		TXC		aztcd
CyCDROM		CR520ie		aztcd
CyCDROM		CR940ie		aztcd
GoldStar	R420		gscd		Nota 5
Philips/LMS	CM206		cm206		Nota 6
Mitsumi		CRMC LU005S	mcd/mcdx	Nota 7, 8
Mitsumi		FX001		mcd/mcdx	Nota 7, 8
Optics Storage	Dolphin 8000AT	optcd
Lasermate	CR328A		optcd
Sanyo		H94A		sjcd
vari		vari		isp16		Nota 9
</verb>

Note:

<enum>

<item>Questi drive possono essere venduti sotto i nomi Creative Labs,
Panasonic, Matsushita o Kotobuki.

<item>Questo drive ha la stessa meccanica interna del Panasonic CR-
562.

<item>Venduto anche sotto il nome di Procomm.

<item>Questo driver è solo per il CDA268-01A. Altri modelli, inclusi
il CDA268-03I e il CDA269-031SE, non hanno bisogno di interfaccia
proprietaria e dovrebbero usare il driver IDECD (ATAPI) del kernel.

<item>Può anche essere venduto come parte del Reveal Multimedia Kit.

<item>Il Philips CM205 non è supportato da questo driver, ma c'è un
driver in fase alpha separato disponibile su ftp://metalab.unc.edu
in /pub/Linux/kernel/patches/cdrom/lmscd0.4.tar.gz

<item>Può anche essere venduto sotto il nome di Radio Shack.

<item>Ci sono due driver disponibili. ``mcd'' è quello originale, e
``mcdx'' è un driver nuovo con più caratteristiche supportate (ma forse
meno stabile).

<item>Questo driver funziona con i drive CD-ROM collegati
all'interfaccia presente sulle schede audio ISP16, MAD16 o Mozart.

</enum>

Se un drive elencato non è supportato dal vostro kernel, probabilmente
avrete bisogno di aggiornare quest'ultimo a una nuova versione.

Se il vostro drive non è uno dei modelli elencati, in particolare se è
stato acquistato di recente o se è a quadrupla velocità o superiore,
probabilmente usa l'interfaccia IDE/ATAPI descritta in una precedente
sezione. <em>L'errore più comune tra gli utilizzatori di CD-ROM sotto
Linux è quello di credere che qualsiasi drive connesso a una scheda
SoundBlaster usi per forza il driver SBPCD</em>. Creative Labs e la
maggior parte degli altri produttori non vendono più drive con
interfacce proprietarie, seguono piuttosto l'interfaccia IDE/ATAPI
standard.

<sect1>Drive su porta parallela<p>

Ci sono dispositivi di memorizzazione esterni, inclusi drive CD-ROM,
che sono connessi alla porta parallela dei personal computer. In molti
casi il dispositivo internamente usa un'interfaccia IDE unita a un
adattatore che interfaccia il bus interno IDE alla porta parallela del
PC.

Linux ha un driver IDE per la porta parallela che supporta la maggior
parte dei dispositivi per questa presa. Attualmente, supporta
dispositivi dei seguenti produttori (ma anche molti dispositivi `senza
marca' e cloni compatibili coi seguenti): ATEN, Avatar, DataStor,
Fidelity International Technology, Freecom, Hewlett-Packard, Imation,
KT Technology, KingByte Information Corp., Maxell, MicroSolutions,
OnSpec, Shuttle Technology, SyQuest e ValuStore.

Informazioni aggiuntive possono essere reperite su <url url=
"http://www.torque.net/parport/">.

<sect1>Driver alternativi<p>

C'è un driver del kernel alternativo disponibile per i drive
Panasonic/Matsushita CR-56x scritto da Zoltan Vorosbaranyi. Può essere
scaricato da <url url=
"ftp://ftp.honlap.net/pub/linux/pcd/pcd-0.30.tar.gz">.

<sect>Installazione<p>

L'<idx>installazione</idx> di un CD-ROM sotto Linux si compone dei
seguenti passi:

<enum>
<item>Installare l'hardware
<item>Configurare e compilare il kernel di Linux
<item>Creare i file di dispositivo e impostare i parametri del boot
<item>Avviare il kernel
<item>Montare il dispositivo
</enum>

La prossima sezione coprirà ognuno di questi punti in dettaglio.

<sect1>Installare l'hardware<p>

Seguite le istruzioni del produttore per installare l'hardware o fatelo
fare al vostro rivenditore. I dettagli varieranno a seconda che il drive
sia esterno o interno e in base del tipo dell'interfaccia utilizzata.
Non ci sono requisiti di installazione particolari per Linux. Potrete
aver bisogno di cambiare i jumper (ponticelli) sul drive o sulla
scheda d'interfaccia per un corretto funzionamento; alcuni driver del
kernel includono file di documentazione che forniscono queste
informazioni.

Come spiegato nel file <file>ide-cd</file>, i CD-ROM ATAPI dovrebbero
essere impostati come ``single'' o ``master'', e non ``slave'' quando c'è
solo un dispositivo attaccato all'interfaccia (sebbene questa
restrizione non si applichi più ai kernel più recenti).

<sect1>Configurare e compilare il kernel di Linux<p>

Se state installando da zero Linux da CD-ROM probabilmente starete
usando un disco di boot e/o root fornito come parte della
distribuzione Linux. Se possibile, dovreste usare un disco di boot con
i driver del kernel propri del vostro drive CD-ROM. Se non riuscite a trovare
un disco di boot con i <idx>driver CD-ROM</idx> necessari, ci sono
parecchie strade per risolvere il problema:

<enum>
<item>Fate il boot direttamente da CD-ROM (se supportato dal PC e dal
CD di Linux)
<item>Installate direttamente dalla rete
<item>Avviate il DOS e installate i file di Linux sull'hard disk
<item>Avviate il DOS e create un insieme di dischetti da cui installare
Linux
<item>Trovate qualcuno che vi possa fare un disco di boot con i driver
richiesti
</enum>

Il <url url="http://metalab.unc.edu/LDP/HOWTO/Installation-HOWTO.html"
name="Linux Installation HOWTO"> contiene ulteriori informazioni
sull'installazione di Linux. Se avete acquistato Linux su CD-ROM,
probabilmente troverete allegate delle istruzioni di installazione
(quel piccolo libretto nella custodia del CD, o qualche file sul CD
stesso).

Una volta che Linux è stato installato, la maggior parte degli utenti
vorranno compilare il loro kernel personalizzato, di solito per uno di
questi motivi:

<itemize>
<item>per supportare un drive CD-ROM o un altro dispositivo
<item>per aggiornarsi a una nuova versione del kernel
<item>per liberare risorse di memoria riducendo al minimo la dimensione del
kernel
</itemize>

Dovreste dare un'occhiata al <url url=
"http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html" name=
"Linux Kernel HOWTO"> per avere maggiori dettagli sulla <idx>
compilazione del kernel</idx>. Menzionerò solo alcuni particolari
specifici per i drive CD-ROM.

Ovviamente, avrete bisogno di attivare il supporto per il vostro drive CD-
ROM quando lanciate un ``make config''.

Se avete un drive CD-ROM ATAPI, dovrete rispondere <tt>yes</tt> (sì) alle
domande:

<tscreen><verb>
Enhanced IDE/MFM/RLL disk/cdrom/tape support (CONFIG_BLK_DEV_IDE)
[Y/n/?]
Include IDE/ATAPI CDROM support (CONFIG_BLK_DEV_IDECD) [Y/n/?]
</verb></tscreen>

Per drive CD-ROM SCSI, abilitate queste opzioni:

<tscreen><verb>
SCSI support (CONFIG_SCSI) [Y/n/m/?]
SCSI CDROM support (CONFIG_BLK_DEV_SR) [Y/n/m/?]
</verb></tscreen>

Abilitate anche il supporto per l'adattatore SCSI quando viene richiesto,
per esempio:

<tscreen><verb>
Adaptec AHA152X/2825 support (CONFIG_SCSI_AHA152X) [Y/n/m/?]
</verb></tscreen>

Per drive CD-ROM con interfaccia proprietaria, abilitate il driver
appropriato. Potete usare la tabella precedente per determinare il driver
da usare per il vostro modello.

Virtualmente tutti i CD-ROM usano il file system ISO-9660, perciò dovete
abilitare anche:

<tscreen><verb>
ISO 9660 CDROM filesystem support (CONFIG_ISO9660_FS) [Y/n/m/?]
</verb></tscreen>

Sebbene non sia richiesto per far funzionare il CD-ROM, se avete una
scheda audio supportata da Linux a questo punto potreste anche voler
abilitare e configurare il driver del kernel per il supporto audio. Il
<url url="http://metalab.unc.edu/LDP/HOWTO/Sound-HOWTO.html" name=
"Sound HOWTO"> può essere un riferimento valido.

Dovete quindi seguire la procedura normale per compilare il kernel e
installarlo. Non fate il boot del nuovo kernel finché non avete creato tutti i
file di dispositivo richiesti e non avete impostato i parametri di boot come
descritto nella prossima sezione.

Il filesystem ISO-9660 e quasi tutti i driver CD-ROM possono essere
compilati come <idx>moduli del kernel</idx> caricabili. Questa
modalità permette ai driver del kernel di essere caricati e scaricati
senza riavviare il kernel, liberando memoria. Raccomando di avviare
l'installazione del CD-ROM dapprima usando driver compilati
all'interno del kernel. Nella documentazione dei moduli e nel <url
url="http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html" name=
"Kernel HOWTO"> potete trovare descritto come usare i moduli.

Se un drive elencato non è supportato dal vostro kernel, probabilmente
avrete bisogno di aggiornare quest'ultimo a una nuova versione.

È possibile che vi serva usare un driver che è distribuito
separatamente dai sorgenti del kernel. Di nuovo, il <url url=
"http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html" name=
"Kernel HOWTO"> spiega come farlo.

Notate che c'è una modalità di <idx>configurazione del kernel</idx>
basata su menu, richiamata da ``make menuconfig'' e una configurazione
grafica basata su X11 richiamata da ``make xconfig''. Tutti e tre i metodi
di configurazione offrono l'aiuto in linea.

<sect1>Creare i file di dispositivo e impostare i parametri del boot<p>

Il kernel usa i file di dispositivo (device file) per identificare
quale driver di dispositivo (device driver) usare. Se state avviando
una distribuzione Linux standard, potete aver già creato i file
necessari durante l'installazione. Nella Slackware, per esempio, c'è
uno strumento di <tt>setup</tt> basato su menu che comprende
l'impostazione del CD-ROM, e la maggior parte dei sistemi hanno uno
script <file>/dev/MAKEDEV</file>. Se non usate uno di questi metodi,
raccomando almeno di verificare i file di dispositivo rispetto alle
informazioni di questa sezione.

Potete creare i file di dispositivo avviando i comandi di shell indicati
per il vostro tipo di drive. Questo dovrebbe essere fatto come utente <tt
>root</tt>. Nota che alcune distribuzioni Linux possono usare nomi di
dispositivi CD-ROM leggermente diversi da quelli elencati qui.

È raccomandabile anche la creazione di un link simbolico al dispositivo
CD-ROM per renderlo più facile da ricordare. Per esempio, per un drive
CD-ROM IDE che è il dispositivo secondario sull'interfaccia
secondaria, il link potrebbe essere creato usando

<tscreen><verb>
# ln -s /dev/hdd /dev/cdrom
</verb></tscreen>

Se volete riprodurre CD audio, dovrete impostare la protezione sul file
di dispositivo (il file vero, non il link simbolico a esso) per
permettere a tutti gli utenti di leggerlo, per esempio

<tscreen><verb>
# chmod 664 /dev/hdd
# ls -l /dev/hdd
brw-rw-r--   1 root     disk      22,  64 Feb  4  1995 /dev/hdd
</verb></tscreen>

Quando avviate Linux, i driver di dispositivo tentano di determinare se
sono presenti i dispositivi appropriati, tipicamente provando
indirizzi specifici. Molti dei driver provano automaticamente su diversi
indirizzi, ma a causa delle differenze nella configurazione, di
possibili conflitti o di limitazioni hardware, alcune volte
hanno bisogno di aiuto per identificare gli indirizzi e altri
parametri. La maggior parte supporta una opzione nella riga di comando
del kernel per ottenere queste informazioni. Questo può essere fatto
interattivamente o, più comunemente, configurato nel <idx>boot
loader</idx>. Con LILO, per esempio, dovreste aggiungere un comando
<tt>append</tt> come il seguente al file <file>/etc/lilo.conf
</file>:

<tscreen><verb>
append = "sbpcd=0x230,SoundBlaster"
</verb></tscreen>

Controllate la documentazione di LILO per maggiori informazioni.

Nella prossima sezione discuterò argomenti specifici per particolari
driver di dispositivo, inclusi file di dispositivo, parametri di boot,
e le caratteristiche supportate da quei driver. Probabilmente vi
servirà solo leggere la sezione specifica al vostro particolare tipo di
drive. I file di documentazione sono di solito rintracciabili nella
directory <file>/usr/src/linux/Documentation/cdrom</file>.

<sect2>Il driver Sbpcd<p>

<verb>
                   Principale autore: Eberhard Moenkeberg (emoenke@gwdg.de)
              Supporto multisessione: sì (ma non tutti i drive)
         Supporto per drive multipli: sì
      Supporto per moduli caricabili: sì
                 Legge i frame audio: sì (ma solo CR-562, CR-563 e CD-200)
                        Auto-probing: yes
                 File di dispositivo: /dev/sbpcd, numero primario 25
              File di configurazione: sbpcd.h
Opzioni di configurazione nel Kernel: Matsushita/Panasonic CDROM support?
           File della documentazione: sbpcd
</verb>

Questo driver accetta una linea di comando del kernel nella forma:

<tscreen><verb>
sbpcd=<indirizzo io>,<tipo di interfaccia>
</verb></tscreen>

Dove il primo parametro è l'indirizzo base del dispositivo (per esempio
0x230) e il secondo è uno tra ``SoundBlaster'', ``LaserMate'' o ``SPEA''.
Leggete il file <file>sbpcd.h</file> per suggerimenti su che tipo di
interfaccia utilizzare. L'uso di <tt>sbpcd=0</tt> disabilita la prova
automatica (auto-probing), disabilitando il driver.

Il file di dispositivo può essere creato utilizzando:

<tscreen><verb>
# mknod /dev/sbpcd b 25 0
</verb></tscreen>

Sono supportati fino a quattro drive per controller. I successivi tre
driver sul primo controller useranno il numero secondario di
dispositivo da 1 a 3. Se avete più di un controller, aggiungete
dispositivi con numero primario 26, 27 e 28, fino a un massimo di
quattro controller (questo fa 16 drive in totale; si spera siano
abbastanza per la maggior parte degli utenti :-).

Leggete il file <file>sbpcd</file> per maggiori informazioni su questo
driver.

<em>Se avete acquistato un drive CD-ROM di recente, non credete che se è
connesso a una SoundBlaster  debba per forza usare questo driver. La
maggior parte dei CD-ROM venduti dalla Creative Labs sono ora
EIDE/ATAPI.</em>

<sect2>Il driver Sonycdu535<p>

<verb>
                   Principale autore: Ken Pizzini (ken@halcyon.com)
              Supporto multisessione: no
         Supporto per drive multipli: no
      Supporto per moduli caricabili: sì
                 Legge i frame audio: no
                        Auto-probing: no
                 File di dispositivo: /dev/sonycd535, numero primario 24
              File di configurazione: sonycd535.h
Opzioni di configurazione nel Kernel: Sony CDU535 CDROM support?
           File della documentazione: sonycd535
</verb>

Questo driver accetta una linea di comando del kernel nella forma:

<tscreen><verb>
sonycd535=<indirizzo io>
</verb></tscreen>

dove il parametro è l'indirizzo base del controller (per esempio 0x320). In
alternativa potete impostare l'indirizzo nel file <file>sonycd535.h
</file> e compilarlo al suo interno.

Il file di dispositivo può essere creato utilizzando:

<tscreen><verb>
# mknod /dev/sonycd535 b 24 0
</verb></tscreen>

Alcune distribuzioni Linux usano <file>/dev/sonycd</file> per questi
dispositivi. Versioni più vecchie del driver usavano come numero
primario 21; assicuratevi che il vostro file di dispositivo sia corretto.

Questo driver era dapprima distribuito come una patch, ma ora è parte
del kernel standard. Leggete il file <file>sonycd535</file> per maggiori
informazioni su questo driver.

<sect2>Il driver Cdu31a<p>

<verb>
                   Principale autore: Corey Minyard (minyard@-rch.cirr.com)
              Supporto multisessione: sì
         Supporto per drive multipli: no
      Supporto per moduli caricabili: sì
                 Legge i frame audio: sì
                        Auto-probing: no
                 File di dispositivo: /dev/cdu31a, numero primario 15
              File di configurazione: cdu31a.h
Opzioni di configurazione nel Kernel: Sony CDU31A/CDU33A CDROM support?
           File della documentazione: cdu31a
</verb>

Questo driver accetta una linea di comando del kernel nella forma:

<tscreen><verb>
cdu31a=<indirizzo io>,<interrupt>,PAS
</verb></tscreen>

Il primo numero è l'indirizzo I/O base della scheda (ad es. 0x340). Il
secondo è il numero di interrupt da usare (0 significa usare un I/O
gestito in polling). Il terzo parametro opzionale è ``PAS'' se il drive
è connesso a una scheda audio Pro Audio Spectrum 16, altrimenti va
tralasciato.

Se il driver è caricato come modulo, usa un formato lievemente
diverso. Quando caricate il driver usando i comandi modprobe o insmod,
i parametri prendono la forma:

<tscreen><verb>
cdu31a_port=<indirizzo io> cdu31a_irq=<interrupt>
</verb></tscreen>

L'indirizzo I/O è richiesto, mentre il numero di interrupt è
opzionale.

Il file di dispositivo può essere creato utilizzando:

<tscreen><verb>
# mknod /dev/cdu31a b 15 0
</verb></tscreen>

Leggete il file <file>cdu31a</file> per maggiori informazioni su questo
driver.

Leggete anche la pagina Web scritta da Jeffrey Oxenreider (<htmlurl url=
"mailto:zureal@infinet.com" name="zureal@infinet.com">) che copre
molti problemi comuni con questi drive. Può essere trovata a <url url=
"http://lemures.shinma.symix.com/~zureal/cdu31a.html">.

<sect2>Il driver Aztcd<p>

<verb>
                   Principale autore: Werner Zimmermann (zimmerma@rz.fht-esslingen.de)
              Supporto multisessione: sì
         Supporto per drive multipli: no
      Supporto per moduli caricabili: sì
                 Legge i frame audio: no
                        Auto-probing: no
                 File di dispositivo: /dev/aztcd0, numero primario 29
              File di configurazione: aztcd.h
Opzioni di configurazione nel Kernel: Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support?
           File della documentazione: aztcd
</verb>

Questo driver accetta una linea di comando del kernel nella forma:

<tscreen><verb>
aztcd=<indirizzo io>
</verb></tscreen>

dove il parametro è l'indirizzo I/O base della scheda (per esempio 0x340).

Il file di dispositivo può essere creato utilizzando:

<tscreen><verb>
# mknod /dev/aztcd0 b 29 0
</verb></tscreen>

Nota che questo driver è solo per il CDA268-01A. Altri modelli,
compresi il CDA268-03I e il CDA269-031SE non sono proprietari e usano
il driver IDECD (ATAPI) del kernel.

Si veda il file <file>aztcd</file> per maggiori informazioni su questo
driver.

<sect2>Il driver Gscd<p>

<verb>
                   Principale autore: Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de)
              Supporto multisessione: no
         Supporto per drive multipli: no
      Supporto per moduli caricabili: sì
                 Legge i frame audio: no
                        Auto-probing: no
                 File di dispositivo: /dev/gscd0, numero primario 16
              File di configurazione: gscd.h
Opzioni di configurazione nel Kernel: Goldstar R420 CDROM support?
           File della documentazione: gscd
</verb>

Questo driver accetta una linea di comando del kernel nella forma:

<tscreen><verb>
gscd=<indirizzo io>
</verb></tscreen>

specificando l'indirizzo I/O base della scheda (per esempio 0x340).

Il file di dispositivo può essere creato utilizzando:

<tscreen><verb>
# mknod /dev/gscd0 b 16 0
</verb></tscreen>

Leggete il file <file>gscd</file> e il sito Web <url url=
"http://linux.rz.fh-hannover.de/~raupach/"> per maggiori informazioni
su questo driver.

<sect2>Il driver Mcd<p>

<verb>
		           Principale autore: Martin  (martin@bdsi.com)
              Supporto multisessione: no
         Supporto per drive multipli: no
      Supporto per moduli caricabili: sì
                 Legge i frame audio: no
                        Auto-probing: no
                 File di dispositivo: /dev/mcd, numero primario 23
              File di configurazione: mcd.h
Opzioni di configurazione nel Kernel: Standard Mitsumi CDROM support?
           File della documentazione: mcd
</verb>

Questo è il driver più vecchio di quelli Mitsumi; è stato disponibile
per un certo tempo. Potreste provare il driver più recente
<tt>mcdx</tt>, che ha alcune caratteristiche in più ma potrebbe essere
meno stabile.

Questo driver accetta una linea di comando del kernel nella forma:

<tscreen><verb>
mcd=<indirizzo io>,<irq>
</verb></tscreen>

specificando l'indirizzo I/O base della sceda (per esempio 0x340) e il
numero di richiesta IRQ usato.

Il file di dispositivo può essere creato utilizzando:

<tscreen><verb>
# mknod /dev/mcd b 23 0
</verb></tscreen>

Vedi il file <file>mcd</file> per maggiori informazioni su questo
driver.

<sect2>Il driver Mcdx<p>

<verb>
                   Principale autore: Heiko Schlittermann
              Supporto multisessione: sì
         Supporto per drive multipli: sì
      Supporto per moduli caricabili: sì
                 Legge i frame audio: no (non supportato dall'hardware)
                        Auto-probing: no
                 File di dispositivo: /dev/mcdx0, numero primario 20
              File di configurazione: mcdx.h
Opzioni di configurazione nel Kernel: Experimental Mitsumi support?
           File della documentazione: mcdx
</verb>

Questo è un driver nuovo per i drive Mitsumi. Il più vecchio e forse
più stabile driver <tt>mcd</tt> è ancora disponibile.

Questo driver accetta una linea di comando del kernel nella forma:

<tscreen><verb>
mcdx=<indirizzo io>,<irq>
</verb></tscreen>

specificando l'indirizzo base I/O della scheda (ad es. 0x340) e il
numero di richiesta IRQ usato.

Il file di dispositivo può essere creato utilizzando:

<tscreen><verb>
# mknod /dev/mcdx0 b 20 0
</verb></tscreen>

Se avete acquistato di recente un drive CD-ROM Mitsumi, non date per
scontato che usi questi driver. I nuovi drive Mitsumi sono ora
compatibili EIDE/ATAPI e usano il driver idecd del kernel.

Si veda il file <file>mcdx</file> per maggiori informazioni su questo
driver.

<sect2>Il driver Cm206<p>

<verb>
                   Principale autore: David A. van Leeuwen (david@tm.tno.)
             Supporto Multi-sessione: sì
         Supporto per drive multipli: no
      Supporto per moduli caricabili: sì
                 Legge i frame audio: no
                        Auto-probing: sì
                 File di dispositivo: /dev/cm206cd, numero primario 32
              File di configurazione: cm206.h
Opzioni di configurazione nel Kernel: Philips/LMS CM206 CDROM support?
           File della documentazione: cm206
</verb>

Questo driver accetta una linea di comando del kernel nella forma:

<tscreen><verb>
cm206=<indirizzo io>,<interrupt>
</verb></tscreen>

ove il primo numero è l'indirizzo base I/O della scheda (per esempio
0x340). Il secondo è il canale d'interrupt.

Il file di dispositivo può essere creato utilizzando:

<tscreen><verb>
# mknod /dev/cm206cd b 32 0
</verb></tscreen>

Consultate il file <file>cm206</file> per maggiori informazioni su
questo driver.

<sect2>Il driver Optcd<p>

<verb>
                   Principale autore: Leo Spiekman (spiekman@dutette.et.tudelft.nl)
              Supporto multisessione: sì
         Supporto per drive multipli: no
      Supporto per moduli caricabili: sì
                 Legge i frame audio: no
                        Auto-probing: no
                 File di dispositivo: /dev/optcd0, numero primario 17
              File di configurazione: optcd.h
Opzioni di configurazione nel Kernel: Experimental Optics Storage ... CDROM support?
           File della documentazione: optcd
</verb>

Questo driver accetta una linea di comando del kernel nella forma:

<tscreen><verb>
optcd=<indirizzo io>
</verb></tscreen>

per fornire l'indirizzo I/O base della scheda (per esempio 0x340).

Il file di dispositivo può essere creato utilizzando:

<tscreen><verb>
# mknod /dev/optcd0 b 17 0
</verb></tscreen>

Si veda il file <file>optcd</file> per maggiori informazioni su questo
driver.

<sect2>Il driver Sjcd<p>

<verb>
                   Principale autore: Vadim V. Model (vadim@rbrf.msk.su)
              Supporto multisessione: no
         Supporto per drive multipli: no
      Supporto per moduli caricabili: sì
                 Legge i frame audio: no
                        Auto-probing: no
                 File di dispositivo: /dev/sjcd, numero primario 18
              File di configurazione: sjcd.h
Opzioni di configurazione nel Kernel: Experimental Sanyo H94A CDROM support?
           File della documentazione: sjcd
</verb>

Questo driver accetta una linea di comando del kernel nella forma:

<tscreen><verb>
sjcd=<indirizzo io>,<interrupt>,<DMA>
</verb></tscreen>

indicando l'indirizzo base, l'interrupt e il canale DMA da usare (per esempio sjcd=0x340,10,5).

Il file di dispositivo può essere creato utilizzando:

<tscreen><verb>
# mknod /dev/sjcd b 18 0
</verb></tscreen>

Consultare il file <file>sjcd</file> per maggiori informazioni su questo
driver.

<sect2>Il driver Paride<p>

<verb>
                   Principale autore: Grant R. Guenther (grant@torque.net)
             Supporto Multi-sessione: no
         Supporto per drive multipli: sì
      Supporto per moduli caricabili: sì
                 Legge i frame audio: no
                        Auto-probing: sì
                 File di dispositivo: /dev/pcd0, numero primario 46
              File di configurazione: bpcd.h
Opzioni di configurazione nel Kernel: Parallel port IDE device support?
           File della documentazione: paride.txt
</verb>

Questo è un driver per vari tipi di dispositivi di memorizzazione che
si collegano alla porta parallela. Normalmente il driver riconoscerà
automaticamente il dispositivo per porta parallela. La documentazione
descrive i parametri da usare nel caso il riconoscimento automatico
fallisca.

Il file di dispositivo può essere creato utilizzando:

<tscreen><verb>
# mknod /dev/pcd0 b 46 0
</verb></tscreen>

Vedi il file <file>/usr/src/linux/Documentation/paride.txt</file> per
maggiori informazioni su questo driver. Nota che questo sostituisce il
vecchio driver bpcd che era presente nei vecchi kernel.

<sect2>Il driver SCSI<p>

<verb>
                   Principale autore: David Giller
              Supporto multisessione: sì (dipende dal drive)
         Supporto per drive multipli: sì
      Supporto per moduli caricabili: sì
                 Legge i frame audio: no
                        Auto-probing: sì
                 File di dispositivo: /dev/scd0, numero primario 11
              File di configurazione: cdrom.h
Opzioni di configurazione nel Kernel: SCSI CDROM support?
           File della documentazione: scsi.txt
</verb>

Ci sono opzioni da riga di comando del kernel specifiche per ogni tipo
di controller SCSI. Vedi lo <htmlurl url=
"ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/unmaintained/SCSI-HOWTO"
name="SCSI HOWTO"> per maggiori informazioni.

Sono supportati drive multipli (fino al limite del numero massimo di
dispositivi sul bus SCSI). Create i file di dispositivo con il numero
primario impostato a 11 e il secondario a partire da zero:

<tscreen><verb>
# mknod /dev/scd0 b 11 0
# mknod /dev/scd1 b 11 1
</verb></tscreen>

Mentre il driver del kernel in sè e per sè non supporta la lettura di
audio digitale, alcuni drive SCSI ne hanno la possibilità e
funzioneranno con programmi come cdda2wav (che usano l'interfaccia
generica SCSI del kernel).

Si veda anche la disamina dell'<idx>emulatore SCSI per IDE</idx> più
sopra in questo documento.

<sect2>Il driverIDECD<p>

<verb>
                   Principale autore: Scott Snyder
                          (snyder@fnald0.fnal.gov)
              Supporto multisessione: sì
         Supporto per drive multipli: sì
      Supporto per moduli caricabili: no
                 Legge i frame audio: sì (sui drive che supportino tale funzione)
                        Auto-probing: sì
                 File di dispositivo: /dev/hd{a,b,c,d}, numero primario 22
              File di configurazione: cdrom.h
Opzioni di configurazione nel Kernel: Include support for IDE/ATAPI CDROMs?
           File della documentazione: ide-cdgscd
</verb>

Questo è il driver per i CD-ROM ATAPI. Accetta una linea di comando
del kernel nella forma:

<tscreen><verb>
hdx=cyls,heads,sects,wpcom,irq
  o
hdx=cdrom
</verb></tscreen>

dove <tt>hdx</tt> può essere uno tra {hda,hdb,hdc,hdd} o
semplicemente hd, per il drive ``successivo'' nella sequenza. Solo i
primi tre parametri sono richiesti (cyls,heads,sects). Per esempio,
<tt>hdc=1050,32,64 hdd=cdrom</tt>.

Convincere il driver IDE a riconoscere il vostro CD-ROM può essere
difficoltoso, specialmente se avete più di due dispositivi su più di un
controller. Di solito tutto ciò che serve è passare le giuste opzioni
da riga di comando usando LILO. Il file <file>
/usr/src/linux/Documentation/cdrom/ide-cd</file> spiega come fare.
Leggetelo con attenzione.

I kernel di Linux più recenti hanno un migliore supporto per
dispositivi IDE multipli. Se avete problemi con un vecchio kernel,
aggiornarlo può aiutare.

Alcuni controller IDE hanno problemi hardware che il driver del kernel
può aggirare. Potete aver bisogno di passare parametri aggiuntivi al
driver per abilitare queste modalità. Si veda la documentazione per
maggiori dettagli.

<sect1>Avviare il kernel<p>

Adesso potete riavviare il nuovo kernel. Controllate i messaggi di boot
cercandone uno come il seguente, che indica che il CD-ROM è stato
trovato dal driver (il messaggio varierà a seconda del tipo di drive):

<tscreen><verb>
hdd: NEC CD-ROM DRIVE:282, ATAPI CDROM drive
</verb></tscreen>

Se i messaggi passano troppo veloci per essere letti, potete riguardarli
usando <tt>dmesg</tt> o <tt>tail /var/log/messages</tt>.

Se il drive non viene trovato, c'è un problema. Consultate la sezione sulla
risoluzione di problemi.

<sect1>Montare il dispositivo<p>

Per montare (mount) un CD-ROM, inserite un disco nel drive, e avviate
il comando <tt>mount</tt> come <tt>root</tt> (l'esempio seguente dà
per scontato che abbiate creato un link simbolico al file di
dispositivo come descritto prima e che esista una directory vuota
<file>/mnt/cdrom</file>):

<tscreen><verb>
# mount -t iso9660 -r /dev/cdrom /mnt/cdrom
</verb></tscreen>

Si può ora accedere al CD nella cartella <file>/mnt/cdrom</file>.

Ci sono altre opzioni per il comando <idx>mount</idx> che potete aver
bisogno di usare. Si veda la pagina man <tt>mount(8)</tt> per maggiori
dettagli.

Potete aggiungere una voce a <file>/etc/fstab</file> per montare
automaticamente un CD-ROM al boot o per specificare i parametri da
usare quando viene montato; consultate la pagina man <tt>fstab(5)</tt>.

Nota che per riprodurre CD audio <em>non</em> occorre montarli.

Per smontare (unmount) un CD-ROM, usate il comando <tt>umount</tt> come
<tt>root</tt>:

<tscreen><verb>
# umount /mnt/cdrom
</verb></tscreen>

Il disco può essere smontato solo se nessun processo sta attualmente
accedendo al drive (incluso se hanno le loro directory di default
settate sul drive stesso). Potete quindi espellere il disco. La maggior
parte dei drive hanno un pulsante di espulsione; c'è anche un programma
<htmlurl url="http://www.pobox.com/~tranter/eject.html" name="eject">
che permette di espellere il CD-ROM via software.

Nota che non si dovrebbe espellere un disco mentre è montato (questo può
essere possibile o no a seconda del tipo di drive). Alcuni CD-ROM
possono automaticamente espellere un CD-ROM quando viene smontato e
caricare il carrello quando viene montato (potete disabilitare questa
funzione compilando il kernel o usando un comando software).

È possibile che dopo aver riprodotto un CD audio non siate più in
grado di montare un CD-ROM. Dovete allora mandare un comando CD audio
``STOP'' (usando un programma per la riproduzione di CD) prima di
riprovare a montare. Questo problema sembra presentarsi solo col driver
SBPCD.

I kernel più recenti supportano un <idx>automounter</idx> basato sul
kernel che fornisce un montaggio trasparente all'utente di media
rimovibili, inclusi i CD-ROM. Potete trovare gli strumenti che servono
su <url url="ftp://ftp.kernel.org/pub/linux/daemons/autofs/">.

<sect1>Risoluzione di problemi<p>

Se incontrate ancora problemi dopo aver seguito le istruzioni
nell'HOWTO, qui ci sono alcune cose che potete controllare. I controlli
sono elencati in ordine crescente di complessità. Se un controllo non
dà esito positivo, risolvete il problema prima di passare al successivo.

<sect2>Passo 1: assicuratevi di stare realmente avviando il kernel che
avete compilato<p>

Controllate la data del kernel per vedere se state avviando quello che
avete compilato col supporto per CD-ROM. Potete farlo col comando <tt>
uname</tt>:

<tscreen><verb>
% uname -a
Linux fizzbin 2.2.4 #1 Tue Mar 232 11:23:21 EST 1999 i586 unknown
</verb></tscreen>

o visualizzando il file <file>/proc/version</file>:

<tscreen><verb>
% cat /proc/version
Linux version 2.2.4 (root@fizzbin) (gcc version 2.7.2.3) #1 Tue
Mar 23 11:23:21 EST 1999
</verb></tscreen>

Se la data non corrisponde a quando avete compilato il kernel, ne state
avviando uno vecchio. Vi siete ricordati di riavviare? Se usate LILO,
l'avete reinstallato (tipicamente lanciando<file >/sbin/lilo</file>)? Se
state facendo il boot da floppy, ne avete creato uno nuovo e lo state
usando?

<sect2>Passo 2: assicuratevi che i driver del kernel appropriati siano
compilati<p>

Potete verificare quali driver sono compilati nel kernel consultando
<file>/proc/devices</file>:

<tscreen><verb>
% cat /proc/devices
Character devices:
 1 mem
 2 pty
 3 ttyp
 4 ttyS
 5 cua
 7 vcs

Block devices:
 3 ide0
22 ide1
</verb></tscreen>

Per prima cosa cercate il vostro driver di dispositivo CD-ROM. Quelli elencati
sopra sono tutti dispositivi a blocchi, in questo caso possiamo vedere
che il driver <tt>idecd</tt> con numero primario 22 era presente.

Assicuratevi anche che il supporto per il filesystem ISO-9660 sia
compilato, guardando in <file>/proc/filesystems</file>:

<tscreen><verb>
% cat /proc/filesystems
        ext2
nodev   proc
nodev   devpts
        vfat
        iso9660
</verb></tscreen>

Potete anche vedere quali indirizzi di porta i/o sono utilizzati da un
driver con il file <file>/proc/ioports</file>:

<tscreen><verb>
howto % cat /proc/ioports
 ...
0230-0233 : sbpcd
 ...
</verb></tscreen>

Se qualcuno dei driver che pensavate di aver compilato nel kernel non
è visualizzato, allora qualcosa è andato storto al momento di
configurare o compilare il kernel. Ricominciate il processo di
installazione, cominciando dalla configurazione e compilazione del
kernel.

<sect2>Passo 3: il kernel ha trovato il drive al momento del boot?<p>

Assicuratevi che il dispositivo CD-ROM sia stato trovato quando il
kernel si è avviato. Se i messaggi sono passati troppo velocemente,
potete di solito richiamarli usando il comando <tt>dmesg</tt>:

<tscreen><verb>
% dmesg
</verb></tscreen>

o

<tscreen><verb>
% tail /var/log/messages
</verb></tscreen>

Se il driver non è stato trovato allora qualcosa è andato storto.
Assicuratevi che l'alimentazione sia collegata e che tutti i cavi siano
inseriti correttamente. Se il vostro drive ha jumper hardware per
l'indirizzamento, controllate che siano impostati correttamente (per esempio
come drive 0 se avete un solo drive). I CD-ROM ATAPI devono essere
impostati come ``single'' o ``master'' e non come ``slave'' quando un solo
dispositivo è collegato a una interfaccia. Se il drive funziona sotto
DOS allora potete essere relativamente certo che l'hardware sia
impostato correttamente.

Molti driver del kernel usano l'<idx>auto-probing</idx>, ma alcuni no,
e in ogni caso la prova automatica non è sempre attendibile. Potete aver
bisogno di provare numerosi valori differenti se non siete sicuro
dell'indirizzo di I/O o degli altri parametri. LILO può essere (e di
solito lo è) configurato per permettere di inserire i parametri
manualmente al boot.

Un'altra possibilità è che abbiate usato il driver del kernel
sbagliato per il tuo drive CD-ROM. Certa documentazione può riferirsi
a interfacce proprietarie come IDE, portando alcuni a credere,
sbagliando, di essere in possesso di drive ATAPI.

Un'altra possibilità è che il vostro drive (o scheda di interfaccia) sia
uno dei tipi ``compatibili'' che richiedono inizializzazione dal driver
DOS. Provate ad avviare DOS e caricare il driver per DOS fornito dal
produttore. Poi riavviate Linux facendo un soft boot con
<tt>Control-Alt-Canc</tt>.

Se il vostro drive non è nominato in questo documento, è possibile che
non ci siano driver disponibili per esso sotto Linux. Potete controllare
presso alcuni dei riferimenti elencati alla fine di questo documento
per avere assistenza.

<sect2>Passo 4: potete leggere dati dal drive?<p>

Provate a leggere dal drive CD-ROM. L'immissione dei seguenti comandi
dovrebbe provocare l'accensione della spia di attività (se presente) e
nessun errore dovrebbe essere riportato. Usate il file di dispositivo
appropriato per il drive e assicuratevi che un CD-ROM sia inserito;
usate Control-C per uscire.

<tscreen><verb>
# dd if=/dev/cdrom of=/dev/null bs=2048
^C
124+0 records in
124+0 records out
</verb></tscreen>

Se questo funziona, allora il kernel comunica col drive e potete passare
al punto 5.

Altrimenti, una possibile causa è il file di dispositivo. Assicuratevi
che il file nella directory  <file>/dev</file> abbia i numeri primario
e secondario corretti come elencato prima per il vostro tipo di driver.
Controllate che i permessi per tale file ne permettano la lettura e
scrittura.

Una possibilità remota è che abbiate un problema hardware. Provate il
drive sotto un altro sistema operativo, se possibile, per determinare
se questo è il vostro caso.

<sect2>Passo 5: potete montare il drive?<p>

Se potete leggere dal drive ma non montarlo, prima verificate di aver
compilato nel kernel il supporto per il filesystem ISO-9660 leggendo
<file>/proc/filesystems</file>, come descritto prima.

Assicuratevi di aver montato il drive con le opzioni ``-t iso9660'' e ``-r''
e che nel lettore sia inserito un CD-ROM ISO9660 (non un CD audio) che
sapete essere valido. Normalmente dovete montare i drive solo come utente
<tt>root</tt>.

Assicuratevi che il mount point esista e sia una directory vuota.

Se state montando automaticamente il CD-ROM al boot, assicuratevi di
avere le voci corrette nel file <file>/etc/fstab</file>.

Se state eseguendo il demone syslog, ci può essere un messaggio di
errore dal kernel che non riuscite a vedere. Usate il comando ``dmesg'':

<tscreen><verb>
% dmesg
SBPCD: sbpcd_open: no disk in drive
</verb></tscreen>

Ci potrebbero anche essere messaggi di errore registrati in qualche
file in <file>/var/log</file>, a seconda di come è configurato il
sistema.

<sect2>Fare il debug per problemi audio<p>

Se il drive funziona coi CD-ROM, ma non riproduce CD audio, queste
possono essere alcune possibili soluzioni.

Vi serve un programma per riprodurre CD audio. Alcune applicazioni
possono essere difettose, o possono non essere compatibili col vostro
drive. Provate altre applicazioni e/o ricompilatele. Un buon
posto dove cercare software può essere <url url=
"ftp://metalab.unc.edu/pub/Linux/apps/sound/cdrom/">.

Pochi drive CD-ROM non supportano la riproduzione di CD audio.
Controllate i file di documentazione o i sorgenti per vedere se questo è
il vostro caso.

Controllate se l'audio può essere riprodotto mediante la presa per
cuffie sul frontalino del drive. Se è così, probabilmente il problema
è legato alla scheda audio. Usate un programma mixer per impostare il
dispositivo di input e i livelli di volume. Assicuratevi di aver
installato il cavo di collegamento dal drive CD-ROM alla scheda.
Assicuratevi anche che il driver del kernel per la scheda audio sia
installato e funzionante (si veda il <htmlurl url=
"http://metalab.unc.edu/LDP/HOWTO/Sound-HOWTO.html"
name="Sound HOWTO">).

<sect2>Quando tutto il resto fallisce<p>

Se avete ancora problemi, qui ci sono alcuni suggerimenti finali su
soluzioni che potete ancora provare:

<itemize>
<item>Rileggete con attenzione questo HOWTO
<item>Leggete i riferimenti posti alla fine di questo documento,
specialmente i file sorgente del kernel rilevanti
<item>Inviate via e-mail una domanda a uno tra <tt>comp.os.linux</tt> o
altri newsgroup usenet
<item>Inviate una domanda a una mailing list di Linux
<item>Provate a usare il kernel più recente
<item>Contattate il vostro rivenditore
<item>Contattate il produttore del drive CD-ROM
<item>Inviate una e-mail al gestore del driver del kernel che vi
interessa (guardate nel file <file>/usr/src/linux/MAINTAINERS</file>)
<item>Speditemi una e-mail
<item>Avviate emacs e digitate <tt>Esc-x doctor</tt> :-)
</itemize>

<sect>Applicazioni<p>

Questa sezione elenca brevemente alcune delle molte <idx>applicazioni
</idx> legate ai CD-ROM disponibili sotto Linux. Controllate la Linux
Software Map per le ultime versioni e i siti dove procurarsele.

<sect1>Riproduttori CD audio<p>

Sono disponibili molti programmi per riprodurre <idx>CD audio</idx>,
per mezzo della presa per le cuffie o di una scheda audio collegata.

<descrip>
<tag>workman</tag> Un riproduttore grafico che funziona sotto X11 e
supporta un database dei CD e molte altre caratteristiche.
<tag>workBone</tag> Un riproduttore interattivo in modalità testo.
<tag>xcdplayer</tag> Un semplice riproduttore basato su X11.
<tag>cdplayer</tag> Un riproduttore molto semplice basato su linea di
comando.
<tag>xmcd</tag> Un riproduttore basato su X11/Motif.
<tag>xmitsumi</tag> Un altro riproduttore basato su X11 per driver
Mitsumi.
<tag>xplaycd</tag> Un altro riproduttore basato su X11, con cui viene
fornito un mixer sonoro e un VU meter.
<tag>cdtool</tag> Strumenti da linea di comando per riprodurre CD.
</descrip>

Alcune di queste applicazioni sono programmate usando uno specifico
file di dispositivo per il CD-ROM (per esempio <file>/dev/cdrom</file>).
Potreste essere in grado di passare il file corretto come parametro o
creare un link simbolico nella directory <file>/dev</file>. Se
inviate l'output del CD alla scheda audio, potreste voler usare un
programma mixer per regolare i settaggi del volume o selezionare
l'input CD-ROM per la registrazione.

<sect1>PhotoCD<p>

I <idx>PhotoCD</idx> usano un filesystem ISO-9660 che contiene file di
immagini in un formato proprietario. Non tutti i drive CD-ROM ne
supportano la lettura.

Il programma <tt>hpcdtoppm</tt> di Hadmut Danisch converte i file
PhotoCD nel portable pixmap format (PPM). Può essere ottenuto da <url
url="ftp://ftp.gwdg.de/pub/linux/hpcdtoppm"> o come parte delle PBM
(portable bit map) utilities, disponibili su molti siti archivio
(cercare ``pbm'' o ``netpbm'').

Il programma <tt>photocd</tt> di Gerd Knorr (<htmlurl url=
"mailto:kraxel@cs.tu-berlin.de" name="kraxel@cs.tu-berlin.de">) può
convertire immagini PhotoCD in file Targa o Windows/OS2 bitmap.

Lo stesso autore ha scritto il programma <tt>xpcd</tt>, uno strumento
basato su X11 per gestire immagini PhotoCD. Potete selezionare le
immagini con un mouse, visionare un'anteprima dell'immagine in una
piccola finestra, e caricare l'immagine in una delle cinque possibili
risoluzioni. Potete anche selezionare una parte dell'immagine e caricare
solo quella parte. Cercate questi pacchetti su <url url=
"ftp://ftp.cs.tu-berlin.de/pub/linux/Local/misc/">.

Anche il programma di manipolazione delle immagini ImageMagick supporta i
file PhotoCD. È disponibile su <url url=
"ftp://ftp.x.org/contrib/applications/ImageMagick/">.

<sect1>Mkisofs<p>

Il pacchetto <tt>mkisofs</tt> di Eric Youngdale permette di creare un
filesystem ISO-9660 su una partizione dell'hard disk. Questa può poi
essere utilizzata nella creazione e verifica del
filesystem per masterizzarlo su CD-R.

Gli strumenti per scrivere dati su <idx>drive CD-ROM registrabili</idx>
tendono a essere specifici per ogni produttore. Essi richiedono
inoltre di scrivere i dati senza interruzioni, per cui un sistema
operativo multitasking come Linux non è propriamente indicato.

<sect1>Le ISO-9660 Utilities<p>

Ci sono alcune utility per verificare il formato dei dischi ISO-
9660; potete trovarle utili per controllare CD sospetti. Il pacchetto
può essere reperito su <url url=
"ftp://ftp.cdrom.com/pub/unixfreeware/archive/">. Sono state scritte
da Bill Siegmund e Rich Morin.

<sect>Risposte alle domande più frequenti (FAQ)<p>

<sect1>Come fa un utente non-root a montare e smontare dischi?<p>

La maggior parte dei comandi <tt>mount</tt> supportano l'opzione <em>
user</em>. Se aggiungete una voce come la seguente in <file>/etc/fstab
</file>:

<tscreen><verb>
/dev/sbpcd  /mnt/cdrom   iso9660     user,noauto,ro
</verb></tscreen>

allora un utente normale sarà abilitato a montare e smontare il drive
con questi comandi:

<tscreen><verb>
% mount /mnt/cdrom
% umount /mnt/cdrom
</verb></tscreen>

Di default il disco sarà montato con alcune opzioni che aiutano ad
aumentare la sicurezza (per esempio i programmi non possono essere
eseguiti, i file di dispositivo sono ignorati). Se questo è troppo
restrittivo potete usare opzioni aggiuntive (per esempio l'opzione ``exec''
abiliterà l'esecuzione dei programmi). Controllate la pagina man
mount(8) per maggiori dettagli.

Un altro metodo è di procurarsi il pacchetto <tt>usermount</tt> che
permette a utenti non-root di montare e smontare dispositivi
rimovibili come floppy o CD-ROM, ma restringe l'accesso ad altri
dispositivi (come le partizioni di un hard disk). È disponibile sui
maggiori siti archivio.

Il sito archivio <tt>ftp.cdrom.com</tt> contiene il file sorgente <tt>
mount.c</tt> che permette di montare/smontare (solo) CD-ROM come
utente normale. Si avvia come un eseguibile setuid.

<sect1>Perché ottengo il messaggio ``device is busy'' (il dispositivo è
occupato) quando smonto un CD-ROM?<p>

Il disco non può essere smontato se qualche processo sta accedendo al
drive. Questo comprende i processi che hanno la propria directory di
default impostata nel filesystem montato. Se non siete in grado di identificare il
processo che usa il disco, potete usare il comando <tt>fuser</tt>, come
indicato nell'esempio seguente.

<tscreen><verb>
% umount /cdrom
umount: /dev/hdd: device is busy
% fuser -v /cdrom
                     USER       PID ACCESS COMMAND
/mnt/cdrom           tranter    133 ..c..  bash
</verb></tscreen>

Su alcuni sistemi avete bisogno di essere root quando avviate il comando
<tt>fuser</tt> per vedere i processi degli altri utenti.

<sect1>Come posso esportare un CD-ROM su altri host con NFS?<p>

Dovrete aggiungere una voce nel file <file>/etc/exports</file>. Gli
utenti su altre macchine saranno quindi in grado di montare il drive.
Si veda la pagina man <tt>exports(5)</tt> per dettagli.

<sect1>Posso fare il boot di Linux da CD-ROM?<p>

Quando installate Linux da zero il metodo più comune è utilizzare un
disco di boot. Alcune distribuzioni permettono di avviare un kernel
Linux su CD direttamente da DOS.

Se possedete un disco CD-ROM, il BIOS e il drive CD-ROM corretti, ossia
se sono tutti e tre predisposti, potete fare il boot direttamente da CD.
L'ultima versione di <tt>mkisofs</tt> supporta la creazione di tali
dischi usando lo standard El Torito per CD avviabili.

<sect1>Come posso leggere audio digitale da un CD audio?<p>

Heiko Eissfeldt (<htmlurl url="mailto:heiko@colossus.escape.de" name=
"heiko@colossus.escape.de">) e Olaf Kindel hanno scritto una utility
che legge dati audio e li salva in file sonori in formato <tt>.wav</tt>.
Il pacchetto si chiama <tt>cdda2wav.tar.gz</tt> e può essere
reperito su <tt>metalab.unc.edu</tt>.

Un'altra utility per estrarre audio digitale è <tt>cdparanoia</tt>
disponibile a <url url=
"http://www.mit.edu/afs/sipb/user/xiphmont/cdparanoia">.

Poiché i drive CD-ROM cambiano molto velocemente, è difficile elencare
quali modelli supportino la lettura di <idx>dati digitali</idx>. La
cosa migliore che potete fare è procurarvi gli ultimi pacchetti di <tt>
cdda2wav</tt> o <tt>cdparanoia</tt> e leggerne la documentazione.

Per maggiori informazioni su questo argomento, si veda il sito Web
<htmlurl url="http://www.tardis.ed.ac.uk/~psyche/cdda/" name=
"http://www.tardis.ed.ac.uk/~psyche/cdda/"> e le FAQ di alt.cd-rom
elencate nella sezione ``riferimenti''.

<sect1>Perché il comando find non funziona correttamente?<p>

Su dischi ISO-9660 senza le estensioni Rock Ridge, occorre aggiungere
l'opzione <tt>-noleaf</tt> al comando <tt>find</tt>. Si veda la pagina
man find(1) per maggiori dettagli.

(Nella mia esperienza virtualmente tutti i recenti CD di Linux usano
le estensioni Rock Ridge, quindi questo problema dovrebbe presentarsi
molto raramente.)

<sect1>Linux supporta drive CD-ROM registrabili?<p>

Il pacchetto X-CD-Roast per Linux è un front-end grafico per usare
registratori di CD. Il pacchetto può essere reperito su
metalab.unc.edu in /pub/Linux/utils/disk-management/xcdroast-
0.95.tar.gz

Si veda anche il Linux CD-Writing HOWTO, che si trova su <url url=
"ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/CD-Writing-HOWTO"> o <url
url="http://metalab.unc.edu/LDP/HOWTO/CD-Writing-HOWTO.html">.

<sect1>Perché ottengo il messaggio ``mount: Read-only file system''
(filesystem a sola lettura) quando monto un CD-ROM?<p>

Il CD-ROM è un supporto a sola lettura. Con alcuni kernel vecchi era possibile
montare un CD-ROM in lettura/scrittura; i tentativi di scrivere dati
sul CD erano semplicemente ignorati. Dalla versione 1.1.33 questo è
stato corretto cosicché ora i CD-ROM possono essere montati in sola
lettura (per esempio, usando l'opzione -r).

<sect1>Perché il carrello del drive si apre quando chiudo il sistema?
<p>

Il driver sbpcd supporta l'espulsione automatica del CD quando viene
smontato. In alcuni vecchi kernel questo era il comportamento
predefinito. Se chiudete il sistema, un CD montato sarà smontato,
causando l'espulsione.

Questa caratteristica è inserita per facilitare il cambio dei dischi.
Se il carrello è aperto quando montate o leggete un CD, verrà chiuso
automaticamente.

Ho trovato che questo costituisce un problema per alcuni programmi (per esempio
cdplay e workbone). Dal kernel 1.1.60 potete controllare questa
caratteristica via software. Un programma di esempio è incluso nel file
di documentazione di sbpcd (o usate il programma <htmlurl url=
"http://www.pobox.com/~tranter/eject.html" name="eject">). Potete anche
controllare il comportamento predefinito modificando il file sorgente
del kernel <file>sbpcd.h</file>.

<sect1>Ho un CD ``speciale'' che non riesco a montare<p>

Tale CD ``speciale'' è probabilmente un disco XA (come tutti i PhotoCD o
uno eventualmente creato in questa modalità con un masterizzatore). La
maggior parte dei driver CD-ROM del kernel di Linux non supportano
dischi XA, sebbene si possa trovare una patch per aggiungere questo
supporto in uno dei siti archivio.

Il driver sbpcd <em>supporta</em> l'XA. Se usate questo driver potete
vedere se un disco è XA con la seguente procedura: andate nel file
sbpcd.c e abilitate la visualizzazione della ``Table of Contents''
(TOC, sotto DBG&lowbar;TOC). Compilate,
installate il nuovo kernel e avviatelo. Ogni volta che montate un disco, le
informazioni sulla TOC saranno stampate (o sulla console o in un file
di log). Se il primo valore visualizzato nell'header della TOC è ``20'',
allora si tratta di un disco XA. Quel byte è ``00'' nei dischi normali.
Se la TOC mostra diverse tracce, anche questo è un segnale che si
tratta di un disco XA.

(Grazie a Eberhard Moenkeberg per queste informazioni)

Altre possibilità per un CD illeggibile sono:

<enum>
<item>Il disco non usa un filesystem ISO-9660 (per esempio, alcuni usano
SunOS o HFS)
<item>È un CD audio
<item>Il CD è danneggiato o difettoso
<item>È stato messo nel drive capovolto :-)
</enum>

<sect1>I drive CD-ROM multi-disco funzionano con Linux?<p>

Molti utenti hanno riportato successi con CD-ROM multi-disco SCSI
a caricamento automatico.
Probabilmente avrete bisogno di abilitare l'opzione di
configurazione del kernel ``Probe all LUNs on each SCSI device'' (``prova
tutti i LUN su ogni dispositivo SCSI'', questo non è necessario se il
vostro caricatore di CD è già noto al driver SCSI. Date un'occhiata a
<file>/usr/src/linux/drivers/scsi.c</file>).

Almeno un utente ha anche dovuto aumentare il valore del timeout SCSI
nel driver del kernel. Un sintomo di questo è un messaggio di errore
del tipo ``wrong fs type, bad option, bad superblock on /dev/sr5, or
too many mounted file systems'' (tipo sbagliato di filesystem, opzione
errata, superblock non valido su /dev/sr5, o troppi filesystem
montati) quando si prova a montare un CD-ROM per la prima volta,
mentre un secondo tentativo subito dopo ha successo. Per alzare il
timeout aumentate il valore di IOCTL_TIMEOUT all'inizio di <file>
/usr/src/linux/drivers/scsi/sr_ioctl.c</file> e ricompilate il kernel.
Mi si dice che un valore di 10000 al posto del predefinito 3000
funziona col NEC Multispin 4Xc.

Potrebbe essere necessario creare file speciali a blocchi in più,
cosicché tutti i LUN possano essere acceduti. È richiesto un file di
dispositivo per ogni LUN. Così, per un caricatore a 7 dischi, devono
essere presenti da <tt>/dev/sr0</tt> a <tt>/dev/sr6</tt> (di più se
avete drive CD-ROM SCSI in più). Per creare questi file speciali eseguite
<tt>mknod /dev/sr? b 11 ?</tt> come root dove ? sta per il numero
richiesto.

Mi dicono che funzionano i caricatori Nakamichi MBR-7 7, NEC
Multispin 4Xc e Pioneer 12.

Sono pure disponibili caricatori a più dischi EIDE/ATAPI. Il kernel
ha il supporto per alcuni drive usando la funzione CDROM_SELECT_DISC
di ioctl. Il file di documentazione del driver del kernel include i
sorgenti per un programma per selezionare gli alloggiamenti del
caricatore da attivare, o potete usare varie utility come il programma
<tt>eject</tt> descritto più sopra.

<sect1>Ricevo un messaggio di errore che dice ``/cdrom: Permission
denied'' (/cdrom: permesso negato)<p>

Alcuni CD hanno i permessi dei file della root directory impostati in
modo tale da permettere solo all'utente <tt>root</tt> di leggerli.
Questo è un errore da parte del produttore del CD e un reale
inconveniente. Una eventualità più comune è il fatto che alcuni file o
directory non siano leggibili da tutti. Alcune persone hanno creato una
patch per i loro kernel per aggirare il problema.

Si veda anche, a riguardo, la domanda sui file nascosti, più oltre in
questo documento.

<sect1>Come posso interpretare i messaggi di errore del kernel per
l'IDE CD?<p>

Cosa significa quando ricevo un messaggio dal driver IDE CD-ROM tipo
``hdxx: code: xx key: x asc: xx ascq: x''?

Questo è un messaggio di stato/errore dal drive IDE CD-ROM. Di
default, il driver IDECD visualizza le informazioni in forma criptica
al posto di sprecare spazio del kernel con messaggi di errore. Potete
cambiare l'impostazione per visualizzare i messaggi di errore completi
andando in <file>/usr/src/linux/drivers/block/ide-cd.c</file>,
cambiando il valore di VERBOSE_IDE_CD_ERRORS to 1 e ricompilando il
kernel.

<sect1>Come posso stabilire che velocità ha il mio CD-ROM?<p>

Questo è un modo. Il comando che segue misura quanto ci vuole per leggere
1500K di dati da un CD:

<tscreen><verb>
% time -p dd if=/dev/cdrom of=/dev/null bs=1k count=1500
1500+0 records in
1500+0 records out
real 5.24
user 0.03
sys 5.07
</verb></tscreen>

Il <idx>transfer rate</idx> di un drive a singola velocità è di 150
kilobytes al secondo, per cui dovrebbe impiegarci circa 10 secondi. A
doppia velocità 5, a quadrupla 2,5, ecc.

Il tempo ``real'' sopra indicato è probabilmente il miglior numero da guardare --
in questo caso indica un drive a doppia velocità. Potete aumentare la
quantità di dati per effettuare misurazioni più accurate (nel caso ve
lo stiate chiedendo, i dati letti non vanno nella cache). Dovrete
probabilmente avviare il comando un po' di volte e fare la media.

Ho scritto un piccolo programma in C che misura e riporta il transfer
rate di un CD-ROM; posso inviarvelo su richiesta.

<sect1>Il mio CD-ROM ha smesso di funzionare dopo che Linux è stato
installato<p>

Il sintomo di solito indica che il boot disk che avete usato per
l'installazione riconosceva il drive CD-ROM, ma dopo che Linux è stato
installato su un hard disk o su un altro floppy e riavviato non lo
riconosce più.

Il motivo più comune è che con alcune distribuzioni Linux il kernel
installato sull'hard disk non è necessariamente lo stesso che
si trova sul dischetto di boot. Potreste aver selezionato un disco di boot
che si adattava al vostro hardware CD-ROM, mentre il kernel installato
potrebbe essere un kernel ``generico'' a cui manca il supporto CD-ROM.
Potete verificare questo seguendo le linee-guida per la risoluzione dei
problemi discusse più sopra in questo documento.

La soluzione è ricompilare il kernel, assicurandosi che i driver per
il drive CD-ROM e ogni altro driver richiesto (per esempio il
controller SCSI, il filesystem ISO-9660) siano inclusi. Consultate il
<url url="http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html" name=
"Kernel HOWTO"> se non sapete come fare.

Se avete passato qualche opzione da linea di comando al disco di boot
(per esempio ``hdc=cdrom'') avrete bisogno di aggiungerle al file di
configurazione del programma di boot (tipicamente /etc/lilo.conf).

<sect1>Ci sono file ``nascosti'', in un CD, che non riesco a leggere<p>

Alcuni CD hanno file con il bit ``hidden'' (nascosto) impostato.
Normalmente questi file non sono visibili. Se montate il CD con
l'opzione ``unhide'' allora i file dovrebbero essere accessibili (questo
non sembra essere documentato da altre parti).

<sect1>Dove sono documentate le API per i CD-ROM?<p>

Se volete scrivere le vostre applicazioni, come un riproduttore di CD audio,
dovrete padroneggiare le interfacce di programmazione di
applicazioni (API) fornite da Linux.

Originariamente i driver del kernel per i CD-ROM usavano le loro
proprie funzioni ioctl() per supportare funzionalità specifiche per
ogni drive. I file header come <file>/usr/include/linux/sbpcd.h</file>
descrivono queste funzioni. Poiché molti driver erano basati su altri
driver, le interfacce, sebbene non identiche, hanno molto in comune.

Più recentemente c'è stata un'iniziativa portata avanti da David van
Leeuwen (<htmlurl url="mailto:david@tm.tno.nl"
name="david@tm.tno.nl">) per standardizzare le <idx>API per drive CD-
ROM</idx>, individuando e adottando del codice comune e
assicurandosi che tutti i driver si comportino allo stesso modo.
Questo è documentato nel file <file>
/usr/src/linux/Documentation/cdrom/cdrom-standard.tex</file>.
Molti driver del kernel supportano questo standard. Dal kernel 2.0
tutti i driver CD-ROM si sono conformati a questa API.

Il mio libro <em>Linux Multimedia Guide</em>, si addentra un po'
nell'argomento di programmare per i drive CD-ROM, specialmente per
funzioni audio. Si veda la fine della sezione Riferimenti.

<sect1>Perché non vedo i nomi lunghi in questo CD-ROM per Windows?<p>

Se avete un CD-ROM che ha <idx>nomi di file lunghi</idx> sotto Windows
ma non sotto Linux, può essere stato formattato usando il filesystem
proprietario Joliet di Microsoft. Si veda la prossima domanda per una
soluzione.

<sect1>È supportato il filesystem Joliet di Microsoft?<p>

Microsoft ha creato un'estensione al formato ISO chiamata <idx>Joliet
</idx>. Aggiunge il supporto per nomi di file lunghi codificati usando
il formato UNICODE 16-bit.

Dalla versione 2.0.34 il kernel di Linux prevede il supporto per le
estensioni Joliet. Dovete abilitare tale supporto nel kernel.

Se volete visualizzare i nomi di file con caratteri del linguaggio
nativo correttamente, dovete abilitare nel kernel il supporto per
l'appropriato set di caratteri NLS ISO8859.

<sect1>Linux supporta gli ``enhanced'' CD?<p>

Alcuni CD audio sono ``enhanced'' (migliorati) con dati aggiuntivi.
Tipicamente troverete che questi CD hanno le solite tracce audio insieme con
una traccia dati che può essere montata come un filesystem
ISO9660.

Un CD enhanced che ho potuto esaminare aveva applicazioni Microsoft
Windows e Apple Macintosh (che ovviamente non funzionavano
direttamente sotto Linux, sebbene abbia avuto un parziale successo
avviando l'applicazione Windows con l'emulatore WINE). C'erano anche
alcune immagini GIF che potevano essere visualizzate usando un
programma standard come <tt>xv</tt> e alcune animazioni in formato
QuickTime, eseguibili con <tt>xanim</tt>. Era un CD multisessione, di
cui alcuni drive CD-ROM molto vecchi non supportano la lettura. Sul
disco v'era un file <tt>readme.txt</tt> contenente delle FAQ sugli
Enhanced CD.

<sect1>Linux supporta i DVD-ROM?<p>

I DVD-ROM compatibili SCSI e ATAPI dovrebbero funzionare sotto Linux
per la lettura di dischi formattati col filesystem ISO-9660. In altre
parole funzioneranno come un lettore CD-ROM (eventualmente molto più capiente).

Molti dischi DVD-ROM usano il filesystem UDF. Al momento della stesura
questo documento, questo aspetto era ancora in fase sviluppo. Le patch per
il kernel sono disponibili su <url url=
"http://trylinux.com/projects/udf/">.

Comunque, non sono a conoscenza di alcun supporto per riprodurre video
DVD codificati in MPEG-2 sia via software sia in unione a un decoder
hardware. Apparentemente la documentazione per il formato di codifica
può essere ottenuta solo ad alto costo e sottostando a un accordo di
non diffusione. Un altro aspetto è che la decodifica MPEG tipicamente
usa hardware proprietario per il quale i produttori potrebbero non
essere diaposti a rilasciare le specifiche per la programmazione.
Questi fattori possono precludere la produzione di qualsiasi software per
i video DVD per linux che voglia essere disponibile gratuitamente e
liberamente.

<sect1>Linux supporta i CD-RW?<p>

I CD-RW che rispettano le specifiche SCSI ed ATAPI dovrebbero
funzionare sotto Linux per dischi formattati con un filesystem ISO-
9660. Questo include la possibilità di scrivere sul disco.

Molti dischi CD-RW usano il filesystem UDF. Al momento della stesura di
questo documento, questo aspetto era ancora in sviluppo. Le patch per
il kernel sono disponibili su <url url=
"http://trylinux.com/projects/udf/">.

<sect>Riferimenti<p>

Ho già nominato i file di documentazione, di solito installati in
<file>/usr/src/linux/Documentation/cdrom</file>. Sono una miniera
d'oro di informazioni utili.

Le seguenti <idx>FAQ</idx> <idx>Usenet</idx> sono inviate
periodicamente a <htmlurl url="news:news.answers" name="news.answers">
e archiviate su siti FTP Internet come <url
url="ftp://rtfm.mit.edu/">:

<itemize>
<item>alt.cd-rom FAQ
<item>comp.periphs.scsi FAQ
<item>Enhanced IDE/Fast-ATA/ATA-2 FAQ
</itemize>

Molti altri HOWTO di Linux hanno informazioni utili sui CD-ROM:

<itemize>

<item><url
url="http://metalab.unc.edu/LDP/HOWTO/unmaintained/SCSI-HOWTO.html"
name="SCSI HOWTO">

<item><url url="http://metalab.unc.edu/LDP/HOWTO/Hardware-HOWTO.html"
name="Hardware Compatibility HOWTO">

<item><url url="http://metalab.unc.edu/LDP/HOWTO/Sound-HOWTO.html"
name="Sound HOWTO">

<item><url url="http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html"
name="Kernel HOWTO">

<item><url url=
"http://metalab.unc.edu/LDP/HOWTO/Distribution-HOWTO.html"
name="Distribution HOWTO">

<item><url url="http://metalab.unc.edu/LDP/HOWTO/CD-Writing.html"
name="CD Writing HOWTO">

</itemize>

Almeno una dozzina di società vendono distribuzioni Linux su CD-ROM;
molte di esse sono elencate nel Distribution HOWTO.

I seguenti newsgroup Usenet trattano argomenti correlati ai CD-ROM:

<itemize>
<item><htmlurl url="news:comp.publish.cdrom.hardware"
name="comp.publish.cdrom.hardware">
<item><htmlurl url="news:comp.publish.cdrom.multimedia"
name="comp.publish.cdrom.multimedia">
<item><htmlurl url="news:comp.publish.cdrom.software"
name="comp.publish.cdrom.software">
<item><htmlurl url="news:comp.sys.ibmpc.hardware.cd-rom"
name="comp.sys.ibm.pc.hardware.cd-rom">
<item><htmlurl url="news:alt.cd-rom" name="alt.cd-rom">
<item><htmlurl url="news:alt.cd-rom.reviews" name="alt.cd-rom.reviews"
>
</itemize>

Anche i newsgroup <tt>comp.os.linux</tt> rappresentano valide fonti di
informazioni, specifiche per Linux.

Un grosso archivio di informazioni sui CD-ROM e sul software si trova
a <url url="ftp://ftp.cdrom.com/pub/cdrom/">.

Potete trovare un documento di FAQ sui dispositivi IDE e ATA a <url
url=
"ftp://rtfm.mit.edu/pub/usenet/news.answers/pc-hardware-faq/enhanced-
IDE/"> e a <url url=
"http://www.seagate.com/techsuppt/faq/faqlist.html">.

Western Digital, la società che per prima ha usato il protocollo IDE,
mette a disposizione informazioni su di esso nel proprio sito FTP a
<url url="ftp://fission.dt.wdc.com/pub/standards/atapi">.

Potete trovare un sito Web dedicato al multimedia a <url url=
"http://viswiz.gmd.de/MultimediaInfo/">. Creative Labs ha il suo sito
Web a <url url="http://www.creaf.com/">.

La <em><idx>Linux Software Map</idx></em> (LSM) è un riferimento
inestimabile per reperire software per Linux. La LSM può essere
trovata in vari siti FTP anonimi, come <url url=
"ftp://metalab.unc.edu/pub/Linux/docs/LSM/"> (conosciuto in passato
come sunsite). Ci sono anche molti siti Web che mantengono un database
delle applicazioni Linux. Uno di essi è <url url=
"http://www.freshmeat.net">.

La <idx>mailing list</idx> di Linux ha un gran numero di ``canali''
dedicati ad argomenti diversi. Per individuare a quale unirsi, inviate
un'e-mail a  <htmlurl url="mailto:majordomo@vger.rutgers.edu" name=
"majordomo@vger.rutgers.edu"> con la parola ``help'' come corpo del
messaggio.

Il Linux Documentation Project ha prodotto numerosi <idx>libri</idx>
su Linux, tra cui <em>Linux Installation and Getting Started</em>.
Questi sono liberamente disponibili via FTP anonimo presso i maggiori
archivi Linux o possono essere acquistati in copie stampate (N.d.T: per
versioni in italiano di alcuni di essi, verificate il sito <htmlurl
url="http://www.pluto.linux.it" name="ILDP">).

Per finire, un suggerimento spudorato: se desiderate saperne molto di più
sul multimedia sotto Linux (specialmente le applicazioni e la
programmazione per CD-ROM e schede audio), date un'occhiata al mio
libro <em><idx>Linux Multimedia Guide</idx></em>, ISBN 1-56592-219-0,
edito da O'Reilly and Associates. Assieme all'edizione originale in
inglese, sono ora in stampa traduzioni in Francese e Giapponese. Per
maggiori dettagli, chiamate dal Nord America il numero 800-998-9938 o
consultate la pagina Web <url url=
"http://www.ora.com/catalog/multilinux/noframes.html"> o la mia home
page <url url="http://www.pobox.com/~tranter/">.

</article>
