L'installazione di un CD-ROM sotto Linux si compone dei seguenti passi:
La prossima sezione coprirà ognuno di questi punti in dettaglio.
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 ide-cd, 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).
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 driver CD-ROM necessari, ci sono parecchie strade per risolvere il problema:
Il 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:
Dovreste dare un'occhiata al Linux Kernel HOWTO per avere maggiori dettagli sulla compilazione del kernel. 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 yes
(sì) alle
domande:
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/?]
Per drive CD-ROM SCSI, abilitate queste opzioni:
SCSI support (CONFIG_SCSI) [Y/n/m/?]
SCSI CDROM support (CONFIG_BLK_DEV_SR) [Y/n/m/?]
Abilitate anche il supporto per l'adattatore SCSI quando viene richiesto, per esempio:
Adaptec AHA152X/2825 support (CONFIG_SCSI_AHA152X) [Y/n/m/?]
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:
ISO 9660 CDROM filesystem support (CONFIG_ISO9660_FS) [Y/n/m/?]
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 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 moduli del kernel 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 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 Kernel HOWTO spiega come farlo.
Notate che c'è una modalità di configurazione del kernel 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.
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 setup
basato su menu che comprende
l'impostazione del CD-ROM, e la maggior parte dei sistemi hanno uno
script /dev/MAKEDEV. 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 root
. 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
# ln -s /dev/hdd /dev/cdrom
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
# chmod 664 /dev/hdd
# ls -l /dev/hdd
brw-rw-r-- 1 root disk 22, 64 Feb 4 1995 /dev/hdd
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 boot
loader. Con LILO, per esempio, dovreste aggiungere un comando
append
come il seguente al file /etc/lilo.conf:
append = "sbpcd=0x230,SoundBlaster"
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 /usr/src/linux/Documentation/cdrom.
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
Questo driver accetta una linea di comando del kernel nella forma:
sbpcd=<indirizzo io>,<tipo di interfaccia>
Dove il primo parametro è l'indirizzo base del dispositivo (per esempio
0x230) e il secondo è uno tra ``SoundBlaster'', ``LaserMate'' o ``SPEA''.
Leggete il file sbpcd.h per suggerimenti su che tipo di
interfaccia utilizzare. L'uso di sbpcd=0
disabilita la prova
automatica (auto-probing), disabilitando il driver.
Il file di dispositivo può essere creato utilizzando:
# mknod /dev/sbpcd b 25 0
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 sbpcd per maggiori informazioni su questo driver.
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.
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
Questo driver accetta una linea di comando del kernel nella forma:
sonycd535=<indirizzo io>
dove il parametro è l'indirizzo base del controller (per esempio 0x320). In alternativa potete impostare l'indirizzo nel file sonycd535.h e compilarlo al suo interno.
Il file di dispositivo può essere creato utilizzando:
# mknod /dev/sonycd535 b 24 0
Alcune distribuzioni Linux usano /dev/sonycd 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 sonycd535 per maggiori informazioni su questo driver.
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
Questo driver accetta una linea di comando del kernel nella forma:
cdu31a=<indirizzo io>,<interrupt>,PAS
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:
cdu31a_port=<indirizzo io> cdu31a_irq=<interrupt>
L'indirizzo I/O è richiesto, mentre il numero di interrupt è opzionale.
Il file di dispositivo può essere creato utilizzando:
# mknod /dev/cdu31a b 15 0
Leggete il file cdu31a per maggiori informazioni su questo driver.
Leggete anche la pagina Web scritta da Jeffrey Oxenreider ( zureal@infinet.com) che copre molti problemi comuni con questi drive. Può essere trovata a http://lemures.shinma.symix.com/~zureal/cdu31a.html.
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
Questo driver accetta una linea di comando del kernel nella forma:
aztcd=<indirizzo io>
dove il parametro è l'indirizzo I/O base della scheda (per esempio 0x340).
Il file di dispositivo può essere creato utilizzando:
# mknod /dev/aztcd0 b 29 0
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 aztcd per maggiori informazioni su questo driver.
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
Questo driver accetta una linea di comando del kernel nella forma:
gscd=<indirizzo io>
specificando l'indirizzo I/O base della scheda (per esempio 0x340).
Il file di dispositivo può essere creato utilizzando:
# mknod /dev/gscd0 b 16 0
Leggete il file gscd e il sito Web http://linux.rz.fh-hannover.de/~raupach/ per maggiori informazioni su questo driver.
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
Questo è il driver più vecchio di quelli Mitsumi; è stato disponibile
per un certo tempo. Potreste provare il driver più recente
mcdx
, che ha alcune caratteristiche in più ma potrebbe essere
meno stabile.
Questo driver accetta una linea di comando del kernel nella forma:
mcd=<indirizzo io>,<irq>
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:
# mknod /dev/mcd b 23 0
Vedi il file mcd per maggiori informazioni su questo driver.
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
Questo è un driver nuovo per i drive Mitsumi. Il più vecchio e forse
più stabile driver mcd
è ancora disponibile.
Questo driver accetta una linea di comando del kernel nella forma:
mcdx=<indirizzo io>,<irq>
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:
# mknod /dev/mcdx0 b 20 0
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 mcdx per maggiori informazioni su questo driver.
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
Questo driver accetta una linea di comando del kernel nella forma:
cm206=<indirizzo io>,<interrupt>
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:
# mknod /dev/cm206cd b 32 0
Consultate il file cm206 per maggiori informazioni su questo driver.
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
Questo driver accetta una linea di comando del kernel nella forma:
optcd=<indirizzo io>
per fornire l'indirizzo I/O base della scheda (per esempio 0x340).
Il file di dispositivo può essere creato utilizzando:
# mknod /dev/optcd0 b 17 0
Si veda il file optcd per maggiori informazioni su questo driver.
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
Questo driver accetta una linea di comando del kernel nella forma:
sjcd=<indirizzo io>,<interrupt>,<DMA>
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:
# mknod /dev/sjcd b 18 0
Consultare il file sjcd per maggiori informazioni su questo driver.
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
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:
# mknod /dev/pcd0 b 46 0
Vedi il file /usr/src/linux/Documentation/paride.txt per maggiori informazioni su questo driver. Nota che questo sostituisce il vecchio driver bpcd che era presente nei vecchi kernel.
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
Ci sono opzioni da riga di comando del kernel specifiche per ogni tipo di controller SCSI. Vedi lo 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:
# mknod /dev/scd0 b 11 0
# mknod /dev/scd1 b 11 1
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'emulatore SCSI per IDE più sopra in questo documento.
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
Questo è il driver per i CD-ROM ATAPI. Accetta una linea di comando del kernel nella forma:
hdx=cyls,heads,sects,wpcom,irq
o
hdx=cdrom
dove hdx
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,
hdc=1050,32,64 hdd=cdrom
.
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 /usr/src/linux/Documentation/cdrom/ide-cd 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.
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):
hdd: NEC CD-ROM DRIVE:282, ATAPI CDROM drive
Se i messaggi passano troppo veloci per essere letti, potete riguardarli
usando dmesg
o tail /var/log/messages
.
Se il drive non viene trovato, c'è un problema. Consultate la sezione sulla risoluzione di problemi.
Per montare (mount) un CD-ROM, inserite un disco nel drive, e avviate
il comando mount
come root
(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
/mnt/cdrom):
# mount -t iso9660 -r /dev/cdrom /mnt/cdrom
Si può ora accedere al CD nella cartella /mnt/cdrom.
Ci sono altre opzioni per il comando mount che potete aver
bisogno di usare. Si veda la pagina man mount(8)
per maggiori
dettagli.
Potete aggiungere una voce a /etc/fstab per montare
automaticamente un CD-ROM al boot o per specificare i parametri da
usare quando viene montato; consultate la pagina man fstab(5)
.
Nota che per riprodurre CD audio non occorre montarli.
Per smontare (unmount) un CD-ROM, usate il comando umount
come
root
:
# umount /mnt/cdrom
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 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 automounter basato sul kernel che fornisce un montaggio trasparente all'utente di media rimovibili, inclusi i CD-ROM. Potete trovare gli strumenti che servono su ftp://ftp.kernel.org/pub/linux/daemons/autofs/.
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.
Controllate la data del kernel per vedere se state avviando quello che
avete compilato col supporto per CD-ROM. Potete farlo col comando uname
:
% uname -a
Linux fizzbin 2.2.4 #1 Tue Mar 232 11:23:21 EST 1999 i586 unknown
o visualizzando il file /proc/version:
% 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
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/sbin/lilo)? Se state facendo il boot da floppy, ne avete creato uno nuovo e lo state usando?
Potete verificare quali driver sono compilati nel kernel consultando /proc/devices:
% cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 ttyS
5 cua
7 vcs
Block devices:
3 ide0
22 ide1
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 idecd
con numero primario 22 era presente.
Assicuratevi anche che il supporto per il filesystem ISO-9660 sia compilato, guardando in /proc/filesystems:
% cat /proc/filesystems
ext2
nodev proc
nodev devpts
vfat
iso9660
Potete anche vedere quali indirizzi di porta i/o sono utilizzati da un driver con il file /proc/ioports:
howto % cat /proc/ioports
...
0230-0233 : sbpcd
...
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.
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 dmesg
:
% dmesg
o
% tail /var/log/messages
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'auto-probing, 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
Control-Alt-Canc
.
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.
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.
# dd if=/dev/cdrom of=/dev/null bs=2048
^C
124+0 records in
124+0 records out
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 /dev 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.
Se potete leggere dal drive ma non montarlo, prima verificate di aver compilato nel kernel il supporto per il filesystem ISO-9660 leggendo /proc/filesystems, 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
root
.
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 /etc/fstab.
Se state eseguendo il demone syslog, ci può essere un messaggio di errore dal kernel che non riuscite a vedere. Usate il comando ``dmesg'':
% dmesg
SBPCD: sbpcd_open: no disk in drive
Ci potrebbero anche essere messaggi di errore registrati in qualche file in /var/log, a seconda di come è configurato il sistema.
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 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 Sound HOWTO).
Se avete ancora problemi, qui ci sono alcuni suggerimenti finali su soluzioni che potete ancora provare:
comp.os.linux
o
altri newsgroup usenetEsc-x doctor
:-)