La instalación de un CD-ROM bajo Linux incluye los siguientes pasos:
Vamos a seguir paso a paso este proceso:
Siga detenidamente la guía de instalación del fabricante o consiga que su distribuidor, o algún amigo, le instale la unidad. Los detalles variarán dependiendo de si la unidad es interna o externa, y según el tipo de interfase empleada. Linux no requiere ningún tipo de instalación especial. Asegúrese de ajustar correctamente los jumpers (puentes) de la unidad y/o de la interfase; algunos controladores del núcleo proporcionan información al respecto en sus archivos README.
Tal y como viene explicado en el fichero ide-cd
, las unidades
ATAPI deben de estar configuradas como "single" o "master", y nunca como
"slave" cuando solamente hay un dispositivo IDE conectado a la interfase
(aunque esta limitación desaparece con los núcleos más recientes).
Para instalar Linux desde un CDROM, seguramente emplee un disco llamado "boot" y otro llamado "root" (o similares) que vienen incluidos en la distribución. Si es posible, escoja un disco de arranque (boot) que posea el controlador adecuado para su unidad. Si le resulta imposible encontrar un disco de arranque con el controlador preciso, tiene varias opciones:
En
http://sunsite.unc.edu/LDP/HOWTO/Installation-HOWTO.html
encontrará más información sobre la instalación de Linux.
Si ha adquirido una distribución de Linux en CDROM, seguramente incluirá las instrucciones precisas para su instalación (impresas en el folletín de la caja y/o en algún fichero del disco).
Una vez que Linux ha sido instalado, probablemente querrá recompilar el núcleo. Hay varias razones para ello:
Consulte el
http://sunsite.unc.edu/LDP/HOWTO/Kernel-HOWTO.html
o su
traducción al castellano, el
http://www.insflug.org/howtos/online/kernel/Kernel-Como.html
para más información al respecto. Aquí nos limitaremos a los aspectos
relacionados con el CDROM.
Obviamente, deberá compilar el soporte para su unidad de CD-ROM al hacer
"make config
".
Si tiene una unidad ATAPI, deberá contestar afirmativamente, es decir,
y(es)
a las siguientes preguntas:
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/?]
Para unidades SCSI CD-ROM, serán las opciones:
SCSI support (CONFIG_SCSI) [Y/n/m/?]
SCSI CD-ROM support (CONFIG_BLK_DEV_SR) [Y/n/m/?]
No olvide configurar el soporte para la controladora SCSI, p.e:
Adaptec AHA152X support (CONFIG_SCSI_AHA152X) [Y/n/m/?]
Para las unidades propietarias, seleccione el controlador correspondiente. Puede servirse de la tabla anterior para determinar el controlador que ha de emplear.
Virtualmente, todos los CDROM trabajan con el sistema de ficheros ISO-9660, por lo que será imprescindible habilitar la opción:
ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [Y/n/m/?]
Aunque no es imprescindible (en lo que al funcionamiento del CDROM
respecta), si tiene una tarjeta de sonido soportada por Linux,
probablemente deseará habilitarla y configurar el controlador de sonido.
Para ello, le será de gran interés y utilidad consultar el
http://sunsite.unc.edu/LDP/HOWTO/Sound-HOWTO.html
; o su
traducción,
http://www.insflug.org/howtos/online/sonido/Sonido-Como.html
.
Luego, continúe con el procedimiento habitual de compilación e instalación del núcleo. No arranque el nuevo núcleo hasta que haya creado los ficheros de dispositivo y ajustado los parámetros temporales de arranque, tal y como se describe en la siguiente sección.
El sistema de ficheros ISO-9660 y la práctica totalidad de los
controladores se pueden compilar como módulos cargables. Ello hará que los
controladores se carguen y descarguen de la memoria sin tener que
reinicializar el sistema, con lo que liberaremos memoria. Al principio,
recomendaría incluir los controladores de CD-ROM compilados en el núcleo.
Para más información acerca de cómo utilizar los módulos, le vuelvo a
referir al
http://www.insflug.org/howtos/online/kernel/Kernel-Como.html
.
Si su núcleo no soporta alguna de las unidades detalladas, quizás debería actualizarse a una versión más reciente.
Si necesita alguno de los controladores que no vienen incluidos con el
núcleo, seguramente lo podrá encontrar como parche: de nuevo le remito al
http://www.insflug.org/howtos/online/kernel/Kernel-Como.html
Hay un programa que le ayudará a configurar el núcleo por medio de menús:
make menuconfig
. Y otro basado en las X11: make xconfig
. Los
tres métodos proporcionan las indicaciones oportunas.
El núcleo utiliza los ficheros de dispositivo para identificar el
controlador con el que va a trabajar. En una distribución de Linux
estándar, dichos ficheros de dispositivo se crean durante el proceso de
instalación. En la distribución Slackware hay una utilidad de
configuración por medio de menús que incluye la configuración del
CD-ROM. Casi todos los sistemas cuentan con el script
/dev/MAKEDEV
. O puede seguir el procedimiento que se detalla a
continuación. Si emplea alguno de los métodos anteriores, también le sera
de gran utilidad confrontar sus ficheros de dispositivo con la información
de esta sección.
Para crear los ficheros de dispositivo, tendrá que introducir desde el la
línea de comandos las órdenes adecuadas para su unidad. Esta tarea habrá
de ser realizada en modo root
(superusuario). Téngase en cuenta
que algunas distribuciones utilizan nombres distintos a los citados para
los dispositivos de CD-ROM.
También es recomendable que cree un enlace simbólico a la unidad; así, le será más fácil acordarse. Por ejemplo, para una unidad IDE que sea el segundo dispositivo y se halle conectada a la interfase secundaria, el enlace se haría de la siguiente manera:
ln -s /dev/hdd /dev/cdrom
Si va a reproducir CDs de audio, bueno será que proteja el fichero de dispositivo (no el enlace simbólico) antes de permitir su lectura a todos los usuarios, así:
chmod 664 /dev/hdd
ls -l /dev/hdd
brw-rw-r-- 1 root disk 22, 64 Feb 4 1995 /dev/hdd
Cuando arranca Linux, los distintos controladores tratan de determinar si
los dispositivos correspondientes se encuentran disponibles. Por lo
general, lo hacen probando diferentes direcciones. La mayoría realizan la
autoprueba (autoprobe) con muchas direcciones, pero a causa de las
diferentes configuraciones posibles, conflictos entre dispositivos y
limitaciones del hardware, los controladores necesitan a veces ayuda para
poder identificar las direcciones y demás parámetros. Casi todos los
controladores soportan alguna opción en la línea de comandos del núcleo,
desde la cual se transfiere dicha información al controlador. Esta
operación podemos realizarla de manera interactiva o, más frecuentemente,
a través del gestor de arranque (boot loader). Si utiliza LILO, deberá
añadir el comando append
, tal y como sigue, en el fichero
/etc/lilo.conf
:
append = "sbpcd=0x230,SoundBlaster"
Consulte la documentación de LILO para mas información.
A continuación se detallan los aspectos relativos a los diferentes
controladores, incluyendo los ficheros de dispositivo, los parámetros de
arranque y las posibilidades de éstos. Es probable que sólo necesite leer
el apartado referido a su unidad. Los archivos README se encuentran
habitualmente en el directorio
/usr/src/linux/Documentation/cdrom
.
sbpcd
Autor principal: Eberhard Moenkeberg (emoenke@gwdg.de) Soporta Multi-sesion: si (pero no todas las unidades) Soporta Varias Unidades: si Soporta Carga en Modulo: si Lectura de Audio: si (la CR-562, CR-563 y CD-200 unicamente) Auto-prueba: si Fichero de Dispositivo: /dev/sbpcd, mayor 25 Fichero de Configuracion: sbpcd.h Opcion del Nucleo: Matsushita/Panasonic CDROM support? Archivo README: sbpcd
Línea de comandos del núcleo:
sbpcd=<direccion-E/S>,<tipo-de-interfase>
El primer parámetro es la dirección base del dispositivo (p.e.
0x230
), y el tipo-de-interfase podrá ser "SoundBlaster
",
"LaserMate
", o "SPEA
". Consulte el archivo sbpcd.h
para más información acerca del tipo de interfase empleada. Con
sbpcd=0
desactivará la auto-prueba, así como la unidad.
Creación del Fichero de Dispositivo:
# mknod /dev/sbpcd b 25 0
El SBPCD es capaz de soportar hasta cuatro unidades por controlador. Las otras tres unidades del primer controlador utilizarán por orden los números 1, 2 y 3 (en vez de 0). Con más de un controlador, los archivos de dispositivo tendrán como número máximo 26, 27, y 28, así hasta un máximo de cuatro controladores (osea, 16 CDROM en total; afortunadamente, suele ser suficiente para la mayor parte de los usuarios :-).
Más información acerca de este controlador en el archivo sbpcd
.
Si ha comprado su CDROM recientemente, no presuponga que ha de emplear este controlador sólo porque se conecte a una tarjeta SoundBlaster. Casi todas las unidades que se venden actualmente son IDE/ATAPI.
Autor Principal: Ken Pizzini (ken@halcyon.com) Soporta Multi-Sesion: no Soporta Varias Unidades: no Soporta Carga en Modulo: si Lectura de Audio: no Auto-Prueba: no Fichero de Dispositivo: /dev/sonycd535, mayor 24 Fichero de Configuracion: sonycd535.h Opcion del Nucleo: Sony CDU535 CDROM support? Archivo README: sonycd535
Línea de comandos del núcleo:
sonycd535=<direccion-E/S>
donde direccion-E/S es la dirección base del controlador (p.e..
0x320
). También puede fijarla dentro del fichero
sonycd535.h
y compilarlo con ella.
Fichero de Dispositivo:
mknod /dev/sonycd535 b 24 0
Algunas distribuciones utilizan /dev/sonycd
para dicha unidad.
Las versiones más antiguas del controlador usan como mayor de dispositivo
21; compruebe si el fichero de dispositivo está correctamente fijado.
Antiguamente, este controlador se distribuía como parche, pero ahora se
incluye en el núcleo estándar. Para más información, lea el archivo
sonycd535
.
Autor Principal: Corey Minyard (minyard@-rch.cirr.com) Soporta Multi-Sesion: si Soporta Varias Unidades: no Soporta Carga en Modulo: si Lectura de Audio: si Auto-Prueba: no Fichero de Dispositivo: /dev/cdu31a, mayor 15 Fichero de Configuracion: cdu31a.h Opcion del Nucleo: Sony CDU31A/CDU33A CDROM support? Archivo README: cdu31a
Línea de comandos del núcleo:
cdu31a=<direccion-E/S>,<interrupcion>,PAS
El primer número es la dirección base E/S de la tarjeta (p.e. 0x340
).
El segundo es el número de interrupción empleada (0 para polled E/S). El
tercer parámetro, opcional, deberá ser "PAS
" si la unidad esta
conectada a una tarjeta Pro-Audio Spectrum 16; si no, déjese en blanco.
Si carga el controlador como módulo, el formato variará ligeramente. Para
cargarlo, mediante el comando modprobe
o insmod
, los parámetros
serán:
cdu31a_port=<direccion-E/S> cdu31a_irq=<interrupcion>
La dirección base de E/S es imprescindible. El número de interrupción es opcional.
Fichero de Dispositivo:
mknod /dev/cdu31a b 15 0
Para más información, consulte el fichero cdu31a
.
También puede visitar la página de Jeffrey Oxenreider (
zureal@infinet.com
), donde se
describen los problemas más frecuentes que suelen ocurrir con unidades:
http://www.infinet.com/~zureal/cdu31a.html
.
Autor Principal: Werner Zimmermann (zimmerma@rz.fht-essliwgen.de) Soporta Multi-Sesion: si Soporta Varias Unidades: no Soporta Carga en Modulo: si Lectura de Audio: no Auto-Prueba: no Fichero de Dispositivo: /dev/aztcd0, mayor 29 Fichero de Configuracion: aztcd.h Opcion del Nucleo: Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support? Archivo README: aztcd
Línea de comandos del núcleo:
aztcd=<direccion-E/S>
...donde el parámetro no es otro que la dirección base de E/S de la
tarjeta (p.e. 0x340
).
Fichero de Dispositivo:
mknod /dev/aztcd0 b 29 0
Téngase en cuenta que este controlador funciona exclusivamente con la unidad CDA268-01A. Otros modelos, como el CDA268-03I y CDA269-031SE no son propietarios, y emplean el controlador del núcleo IDECD (ATAPI).
Para mas información, consulte el archivo aztcd
Autor Principal: Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de) Soporta Multi-Sesion: no Soporta Varias Unidades: no Soporta Carga en Modulo: si Lectura de Audio: no Auto-Prueba: no Fichero de Dispositivo: /dev/gscd0, mayor 16 Fichero de Configuracion: gscd.h Opcion del Nucleo: Goldstar R420 CDROM support? Archivo README: gscd
Línea de comandos del núcleo:
gscd=<direccion-E/S>
...especificando la dirección base de E/S de la tarjeta (e.g. 0x340
).
Fichero de Dispositivo:
mknod /dev/gscd0 b 16 0
Más información en el archivo gscd
y en la página Web:
http://linux.rz.fh-hannover.de/~raupach/
.
Autor Principal: Martin (martin@bdsi.com) Soporta Multi-Sesion: no Soporta Varias Unidades: no Soporta Carga en Modulo: si Lectura de Audio: no Auto-Prueba: no Fichero de Dispositivo: /dev/mcd, mayor 23 Fichero de Configuracion: mcd.h Opcion del Nucleo: Standard Mitsumi CDROM support? Archivo README: mcd
Este es el controlador más antiguo para unidades Mitsumi. Quizás prefiera
probar otro más reciente, mcdx
, que ofrece más prestaciones,
aunque probablemente sea menos estable.
Línea de comandos del núcleo:
mcd=<direccion-E/S>,<irq>
...especificando la dirección base de E/S de la tarjeta (e.g. 0x340
)
y el número de la interrución IRQ.
Fichero de Dispositivo:
mknod /dev/mcd b 23 0
Encontrará más información en el archivo mcd
.
Autor Principal: Heiko Schlittermann Soporta Multi-Sesion: si Soporta Varias Unidades: si Soporta Carga en Modulo: si Lectura de Audio: no (el hardware lo soporta) Auto-Prueba: no Fichero de Dispositivo: /dev/mcdx0, mayor 20 Fichero de Configuracion: mcdx.h Opcion del nucleo: Experimental Mitsumi support? Archivo README: mcdx
Es el controlador más reciente para unidades Mitsumi. El antiguo,
seguramente más estable, es el mcd
.
Línea de comandos del núcleo:
mcdx=<direccion-E/S>,<irq>
...especificando la dirección base de E/S de la tarjeta (e.g. 0x340
)
y el número IRQ.
Fichero de dispositivo:
mknod /dev/mcdx0 b 20 0
Si ha comprado recientemente un CD-ROM Mitsumi, no presuponga que tenga
que usar este controlador. Hay muchos modelos Mitsumi que son EIDE/ATAPI,
por lo que emplean controlador idecd
.
Más información en el archivo mcdx
Autor Principal: David A. van Leeuwen (david@tm.tno.) Soporta Multi-Sesion: si Soporta Varias Unidades: no Soporta Carga en Modulo: si Lectura de Audio: no Auto-Prueba: si Fichero de Dispositivo: /dev/cm206cd, mayor 32 Fichero de Configuracion: cm206.h Opcion del Nucleo: Philips/LMS CM206 CDROM support? Archivo README: cm206
Línea de comandos del núcleo:
cm206=<direccion-E/S>,<interrupcion>
...donde el primer número es la dirección base de E/S de la tarjeta (e.g.
0x340
) y el segundo, el canal de interrupción.
Fichero de Dispositivo:
mknod /dev/cm206cd b 32 0
Más información en el archivo cm206
.
Autor Principal: Leo Spiekman (spiekman@dutette.et.tudelnt.nl) Soporta Multi-Sesion: si Soporta Varias Unidades: no Soporta Carga en Modulo: si Lectura de Audio: no Auto-Prueba: no Fichero de Dispositivo: /dev/optcd0, mayor 17 Fichero de Configuracion: optcd.h Opcion del Nucleo: Experimental Optics Storage ... CDROM support? Archivo README: optcd
Línea de comandos del núcleo:
optcd=<direccion-E/S>
...donde especificará la dirección base de E/S de la tarjeta (p.e.
0x340
).
Fichero de Dispositivo:
mknod /dev/optcd0 b 17 0
Más información acerca de este controlador en el archivo optcd
.
Autor Principal: Vadim V. Model (vadim@rbrf.msk.su) Soporta Multi-Sesion: no Soporta Varias Unidades: no Soporta Carga en Modulo: si Lectura de Audio: no Auto-Prueba: no Fichero de Dispositivo: /dev/sjcd, mayor 18 Fichero de Configuracion: sjcd.h Opcion del Nucleo: Experimental Sanyo H94A CDROM support? Archivo README : sjcd
Línea de comandos del núcleo:
sjcd=<direccion-E/S>,<interrupcion>,<dma>
...indicando la dirección base, interrupción, y canal DMA (p.e.
sjcd=0x340,10,5
).
Fichero de Dispositivo:
mknod /dev/sjcd b 18 0
Lea el archivo sjcd
para más información.
Autor Principal: Grant R. Guenther (grant@torque.net) Soporta Multi-sesion: desconocido Soporta Varias Unidades: no Soporta Carga en Modulo: si Lectura de Audio: no Auto-Prueba: si Fichero de dispositivo: /dev/bpcd, mayor 41 Fichero de Configuracion: bpcd.h Opcion del Nucleo: MicroSolutions backpack CDROM support? Archivo README file: bpcd
Línea de comandos del núcleo:
bpcd=<direccion-E/S>
...indicando la dirección base empleada (p.e. bpcd=0x3bc
).
Fichero de Dispositivo:
mknod /dev/bpcd b 41 0
Este controlador se incluye con la versión 2.1 del núcleo. Consulte
asimismo el archivo bpcd
.
Autor Principal: David Giller Soporta Multi-Sesion: si (dependiendo de la unidad) Soporta Varias Unidades: si Soporta Carga en Modulo: si Lectura de Audio: no Auto-Prueba: si Fichero de Dispositivo: /dev/scd0, mayor 11 Fichero de Configuracion: cdrom.h Opcion del Nucleo: SCSI CDROM support? Archivo README: inexistente
Hay una línea de comandos del núcleo específica para cada tipo de
controladora SCSI. Más información en el documento
http://sunsite.unc.edu/LDP/HOWTO/SCSI-HOWTO.html
.
Sí se soportan múltiples unidades (el número máximo de dispositivos dependerá de la capacidad del bus). Determine los ficheros de dispositivo con un numero máximo de 11 y los mínimos empezando desde cero:
mknod /dev/scd0 b 11 0
mknod /dev/scd1 b 11 1
Aunque el controlador de por sí no tiene capacidad de lectura de audio,
hay unidades SCSI que sí poseen dicha característica y funcionarán con el
programa cdda2wav
o readcdda
(empleando la interfase SCSI
genérica del núcleo).
Autor Principal: Scott Snyder (snyder@fnald0.fnal.gov) Soporta Multi-Sesion: si Soporta Varias Unidades: si Soporta Carga en Modulo: no Lectura de Audio: si (si la unidad lo soporta) Auto-Prueba: si Fichero de Dispositivo: /dev/hd{a,b,c,d}, mayor 22 Fichero de Configuracion: cdrom.h Opcion del Nucleo: Include support for IDE/ATAPI CDROMs? Archivo README: ide-cd
Este es el controlador para unidades ATAPI. Su línea de comandos del núcleo será de la forma:
hdx=cilindros,cabezas,sectores,wpcom,irq
o
hdx=cdrom
...donde hdx
será una de las siguientes: hda,hdb,hdc,hdd
, o
"hd
", para la "siguiente" unidad (en dicha secuencia). Sólo son
imprescindibles los tres primeros parámetros (cilindros,
cabezas,sectores). Por ejemplo hdc=1050,32,64 hdd=cdrom
.
A veces puede ser complicado el que el controlador reconozca su unidad,
especialmente si posee más de 2 dispositivos o más de una controladora
IDE. Por lo general, basta con pasar la línea de comandos correcta desde
LILO. Cómo hacer esto se explica en el archivo
/usr/src/linux/Documentation/ide-cd
. Léalo atentamente.
El soporte para múltiples dispositivos IDE ha ido mejorando con las últimas versiones del núcleo. Si tiene problemas con su antiguo núcleo, le puede ser de ayuda actualizarlo.
Algunas controladoras IDE presentan problemas de hardware que el controlador del núcleo es capaz de solucionar. Para ello deberá introducir más parámetros adicionales. Le remito a la documentación.
Ahora ya puede reinicializar el sistema con el nuevo núcleo. Debería leer un mensaje indicando que el controlador ha identificado a la unidad (el mensaje variará con cada modelo):
hdd: NEC CD-ROM DRIVE:282, ATAPI CDROM drive
Si los mensajes del arranque se suceden demasiado rápido para poder
leerlos, puede revisarlos tecleando dmesg
o tail
/var/adm/messages
.
Si no ha identificado la unidad, algo falla. Consulte la sección Problemillas.
Para montar un CD-ROM, inserte el disco en la unidad y ejecute el comando
mount
siendo root
(asumo que ya ha creado el enlace
simbólico a su fichero de dispositivo, como recomendaba anteriormente, y
que existe el directorio donde montarlo llamado /mnt/cdrom
):
mount -t iso9660 -r /dev/cdrom /mnt/cdrom
Ahora ya puede acceder al CD, en el directorio /mnt/cdrom
.
El comando mount soporta más opciones. Consulte la página
mount(8)
del manual.
Puede añadir una línea en archivo /etc/fstab
para que el CD-ROM
se monte automáticamente al arrancar o para especificar los parámetros a
emplear cuando se monte; consulte la página man fstab(5)
.
Ojo: para reproducir CDs de audio, no monte la unidad.
Para desmontar un CD-ROM, utilice el comando umount
en modo
root
:
umount /mnt/cdrom
El disco podrá ser desmontado únicamente si no hay ningún proceso
accediendo a la unidad (lo que incluye el hecho de que el directorio en
que se encuentre sea del CD-ROM). Entonces ya podrá extraer el disco. Casi
todas las unidades tienen un botón de extracción; también hay un programa
que realiza esta tarea. Se llama eject
:
ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/eject-1.4.tar.gz
.
No intente extraer el disco mientras la unidad esté montada (lo cual será o no posible, dependiendo del tipo de unidad). Algunos controladores pueden extraer automáticamente el CD-ROM cuando se desmonta, e introducir la bandeja cuando se monta. Esta característica puede desactivarse a la hora de compilar el núcleo, o bien mediante los comandos adecuados.
Es posible que no pueda montar ningún CD-ROM después de haber reproducido un disco de audio. Debe antes enviar un comando "stop" mediante un programa reproductor de CDs. Esto sólo parece ocurrir con el controlador SBPCD.
Stephen Tweedie (
sct@dcs.ed.ac.uk
) ha escrito el paquete Supermount
,
para gestionar de manera transparente el montado de dispositivos
extraíbles, incluyendo CD-ROM. Lo puede encontrar vía ftp:
ftp://sunsite.unc.edu/pub/Linux/patches/diskdrives/
.
Si después de seguir las instrucciones detalladas, aún tiene problemas con su unidad, es hora de hacer una serie de comprobaciones. Vienen descritas en orden creciente de complejidad. Si detecta fallos a la hora de realizar alguna de las comprobaciones, solucione ese problema antes de pasar a la siguiente.
Puede verificar la fecha del núcleo para asegurarse de estar corriendo el
núcleo que ha compilado con soporte para CD-ROM, con el comando
uname
:
uname -a
Linux fizzbin 2.0.18 #1 Fri Sep 6 10:10:54 EDT 1996 i586
...o también leyendo el archivo /proc/version
:
cat /proc/version
Linux version 2.0.18 (root@fizzbin) (gcc version 2.7.2) #1 Fri Sep 6 10:10:54 EDT 1996
Si ve que la fecha no coincide con la de construcción y compilación del
núcleo, es que todavía esta corriendo la versión antigua. ¿Seguro que ha
reinicializado el sistema? Si utiliza LILO, ¿lo ha reinstalado (ejecutando
/sbin/lilo
)? Si arranca desde un disco, ¿ha creado un nuevo disco
de arranque y lo ha estrenado?
Puede ver una lista de los controladores compilados en el archivo
/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
En primer lugar, busque el controlador de dispositivo de su CD-ROM: en la
columna Block devices
. En el ejemplo, vemos el controlador
idecd
cuyo número mayor es 22.
Asegúrese de que también ha compilado el soporte para el sistema de
ficheros ISO-9660, leyendo el archivo /proc/filesystems
:
cat /proc/filesystems
ext2
msdos
nodev proc
iso9660
En el archivo /proc/ioports
encontrará las direcciones (E/S) de
los puertos utilizados por los controladores:
cat /proc/ioports
...
0230-0233 : sbpcd
...
Si alguno de los controladores que Ud. creía haber compilado no aparece, es que algo ha ido mal durante el proceso de configuración y/o construcción del núcleo. Tendrá que comenzar de nuevo.
Cerciórese de que el CD-ROM fue detectado durante el proceso de arranque
del núcleo. Debiera leer algún mensaje al respecto. Si los mensajes se
suceden y salen de la pantalla, puede revisarlos con el comando
dmesg
:
dmesg
o
tail /var/adm/messages
Si la unidad no fue detectada, algo ha fallado... Houston :)
Compruebe que está enchufada y que los cables están bien conectados. Si
dispone de jumpers para las direcciones, verifique sus posiciones (p.e.
drive 0 si sólo tiene una unidad). Los CD-ROM ATAPI deben tener los
jumpers en modo "single" o "master", y nunca en "slave" cuando solamente
hay un dispositivo IDE conectado a la interfase. Si la unidad funciona
bajo DOS, es que no hay fallos en el hardware.
Muchos controladores llevan a cabo auto-prueba, pero los hay que no. En cualquier caso, no es infalible. Tendrá que utilizar la línea de comandos detallada para su unidad. Puede que tenga que probar con muchos valores de direcciones de E/S si no está seguro. Se puede configurar LILO (es lo más frecuente) para poder introducir los parámetros manualmente al arrancar.
Otra posibilidad es que no esté utilizando el controlador adecuado. Algunos manuales refieren sus interfases propietarias como IDE, induciendo al error de suponer que se trata de unidades ATAPI.
También es posible que su unidad (o la interfase de la tarjeta) sea una de
esas del tipo "compatible" que precisa inicializarse con el controlador
del DOS. Inténtelo arrancando el DOS y cargando el controlador
suministrado con la unidad. Luego, arranque Linux presionando
Control-Alt-Suprimir
.
Si su unidad no es ninguna de las citadas, puede que no haya ningún controlador disponible bajo Linux. Para más información al respecto, lea las Referencias que encontrará al final de este documento.
Vamos a intentarlo. Los siguientes comandos deberían provocar el encendido de la lucecita de la unidad (si la hay, claro) y no debería haber mensajes de error. Utilice el fichero de dispositivo adecuado para su unidad y asegúrese de haber insertado un CD;
salga con Control-C.
dd if=/dev/cdrom of=/dev/null bs=2048
^C
124+0 records in
124+0 records out
Si ha funcionado, es que el núcleo se está comunicando con la unidad y puede pasar a la siguiente comprobación.
Si no, puede que haya algún error en el fichero de dispositivo. Asegúrese
de que éste se encuentra en el directorio /dev
y que sus números
mayor y menor son correctos. Los permisos del fichero deben de estar
fijados tanto para lectura como para escritura.
Existe una posibilidad remota de fallo del hardware. Si es posible, evalúela desde el DOS.
Si puede leer desde la unidad, pero no puede montarla, compruebe antes de
nada que ha compilado el sistema de ficheros ISO-9660, leyendo el archivo
/proc/filesystems
, tal y como se ha descrito anteriormente.
Ha de montar la unidad con los parámetros "-t iso9660
" y la opción
"-r
". El CD debe estar formateado con el sistema de ficheros
ISO-9660. El montado de CDs ha de hacerse en siendo root
.
Compruebe que el directorio en el cual se monta la unidad existe. Si
monta la unidad durante el arranque, asegúrese de que las instrucciones
del archivo /etc/fstab
son correctas. Si ha cargado el demonio
syslog
, es probable que haya mensajes de error del núcleo que no ha
visto. Pruebe con "dmesg
":
dmesg
SBPCD: sbpcd_open: no disk in drive
Quizás hay algún mensaje de error en los ficheros en /var/adm/
,
dependiendo de cómo esté configurado su sistema.
Si la unidad funciona bien con CD-ROMs, pero no reproduce CDs de audio,
aquí encontrará algunas de las soluciones posibles. En primer lugar,
necesitará un programa para la reproducción de CDs de audio. Es posible
que no todos los programas sean compatibles con su unidad. Pruebe con otra
aplicación, o intente recompilarla. Un buen sitio para buscar software es
ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/
.
Unos pocos controladores no tienen soporte para audio. Compruebe el archivo README o el código fuente para ver si se da el caso.
Compruebe si se escucha el audio por medio de unos auriculares conectados
a la salida externa de la unidad. Si se escucha, el problema está en la
tarjeta de sonido. Con un programa mezclador (mixer) podrá ajustar tanto
la entrada como el volumen. Asegúrese de que tiene instalado el cable de
audio que conecta el CD-ROM con la tarjeta de sonido. Verifique el
correcto funcionamiento del controlador de la tarjeta de sonido. Más
información al respecto en
http://www.insflug.org/howtos/online/sonido/Sonido-Como.html
.
Si aún tiene problemas, puede:
comp.os.linux
, (en castellano es.comp.os.linux
)
/usr/src/linux/MAINTAINERS
)
Esc-x doctor :-)