CDROM-COMO

Jeff Tranter, jeff tranter@pobox.com

Traducido por Carlos Fernández Moro, uov00655@correo.uniovi.es v1.12, 1 November 1997 Esta es la traducción del CD-ROM-HOWTO. En este documento se explica la manera de instalar, configurar y utilizar unidades de CD-ROM bajo Linux. Incluye una lista de los modelos soportados y las respuestas a las PUFs (Preguntas de Uso Frecuente). La intención no es otra que la de capacitar a los usuarios noveles a un nivel básico y aligerar la correspondencia en los grupos de noticias de Usenet y listas de correo.

Índice General

1 Introducción 3 1.1 Fuentes de Información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Repaso Histórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Versiones nuevas de este documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Contacto con el autor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5 Política de Distribución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 La Tecnología CD-ROM 6

3 Hardware Soportado 6 3.1 Unidades ATAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2 Unidades SCSI (Small Computer Systems Interface) . . . . . . . . . . . . . . . . . . . . . . . 7 3.3 Unidades Propietarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4 Unidades Vía Puerto Paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.5 Unidades Alternativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Instalación 9 4.1 Instalación del Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2 Configuración y Construcción del Núcleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.3 Creación de los Ficheros de Dispositivo (device files) y Ajuste de los Parámetros Temporales

de Arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.3.1 Controlador sbpcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.3.2 Controlador Sonycdu535 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.3.3 Controlador Cdu31a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.3.4 Controlador Aztcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.3.5 Controlador Gscd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.3.6 Controlador Mcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.3.7 Controlador Mcdx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.3.8 Controlador Cm206 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.3.9 Controlador Optcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.3.10 Controlador Sjcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.3.11 Controlador Bpcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.3.12 Controlador SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.3.13 Controlador IDECD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.4 Arrancando el Núcleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.5 Montando, Desmontando y Extrayendo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.6 Problemillas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.6.1 Primero: Asegúrese de haber arrancado con el núcleo recién compilado . . . . . . . . . 20 4.6.2 Segundo: Compruebe que los controladores estén incluidos en el núcleo. . . . . . . . . 20 4.6.3 Tercero: Compruebe que el núcleo detecta la unidad durante el arranque . . . . . . . 21 4.6.4 Cuarto: Compruebe si puede leer información desde la unidad . . . . . . . . . . . . . 21 4.6.5 Quinto: Pruebe a montar un CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.6.6 Problemas con el sonido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.6.7 Nada, Que sigue fallando... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5 Aplicaciones 23 5.1 Reproductores de CDs de Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 PhotoCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.3 mkisofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.4 Utilidades ISO-9660 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6 Respuestas a las Preguntas de Uso más Frecuente (PUFs) 24 6.1 ¿Cómo hacer que cualquier usuario (no root) pueda montar y desmontar los CDs? . . . . . . 24 6.2 ¿Por qué obtengo ”device is busy (dispositivo ocupado)” a la hora de desmontar el CD-ROM? 25 6.3 ¿Cómo puedo exportar un CD-ROM a otra máquina vía NFS? . . . . . . . . . . . . . . . . . 25 6.4 ¿Es posible arrancar Linux desde un CD-ROM? . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.5 ¿Cómo puedo leer la información digital de un CD-Audio? . . . . . . . . . . . . . . . . . . . . 25 6.6 ¿Por que el comando find no funciona correctamente? . . . . . . . . . . . . . . . . . . . . . . 26 6.7 ¿Soporta Linux alguna unidad grabadora de CD-ROM? . . . . . . . . . . . . . . . . . . . . . 26 6.8 ¿Por qué obtengo ”mount: Read-only file system (sistema de ficheros de solo-lectura)”

al montar un CD-ROM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.9 ¿Por qué se abre la bandeja de la unidad cuando apago el sistema? . . . . . . . . . . . . . . . 26 6.10 Tengo un CD ”quiquilloso” que no consigo montar . . . . . . . . . . . . . . . . . . . . . . . . 26 6.11 ¿Funcionan bajo Linux las unidades de CD-ROM multi-disco? . . . . . . . . . . . . . . . . . . 27 6.12 Obtengo ”/cdrom: Permission denied” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.13 ¿Cómo he de interpretar los mensajes de error del núcleo referentes al CD IDE? . . . . . . . . 28 6.14 ¿Cómo puedo comprobar la velocidad de mi CD-ROM? . . . . . . . . . . . . . . . . . . . . . 28 6.15 Mi CD-ROM dejó de funcionar después de completar la instalación de Linux . . . . . . . . . 29 6.16 No puedo leer los ficheros ocultos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.17 ¿Dónde se encuentra la documentación de la API del CDROM? . . . . . . . . . . . . . . . . . 29

6.18 ¿Por qué no leo los nombres de fichero largos de este CDROM de Windows? . . . . . . . . . . 30

6.19 Es soportado el sistema de ficheros de Microsoft Joliet? . . . . . . . . . . . . . . . . . . . . . 30

7 Referencias 30

8 Anexo: El INSFLUG 31

1 Introducción

Este es el CDROM-COMO. Pretende ser una guía de referencia rápida, abarcando todo lo que Vd. necesita saber para poder instalar y configurar una unidad de CD-ROM bajo Linux. También se da respuesta a las preguntas más comunes acerca de el CD-ROM, y se incluyen notas de referencia a otras fuentes de información relacionadas con las aplicaciones del CD-ROM y su tecnología.

1.1 Fuentes de Información

La mayor parte de esta información proviene de los archivos de código y documentación suministrados con el núcleo de Linux, las FAQ del grupo de noticias de Usenet alt.cd-rom y colaboraciones de usuarios linuxer*s.

Gracias al paquete ftp://sunsite.unc.edu/pub/Linux/utils/text/sgml-tools-0.99.0.tar.gz, este

COMO está disponible en numerosos formatos, todos ellos generados a partir de un mismo fichero de texto.

1.2 Repaso Histórico

Versión 1.0 Primera versión de este documento disponible al público.

Versión 1.1 A partir de la versión 1.1.20 del núcleo, queda soportada de manera explícita la unidad CDU33A; Reveal FX; acerca de la lectura de pistas de audio; versiones alfa de algunos controladores (drivers); añadida la sección Problemillas; otros añadidos de menor importancia.

Versión 1.2 A partir del núcleo 1.1.33, el sistema de ficheros ISO-9660 ha de ser montado en modo sólo-lectura; queda aclarado que la SB16 SCSI sí está soportada, mientras que las unidades Aztech no lo están; referencias a los programas photocd y xpcd; comentarios acerca de la nueva característica de auto-extracción del controlador SBPCD.

Versión 1.3 Notas sobre la auto-extracción del controlador SBPCD a partir del núcleo 1.1.49; acerca de los discos XA y su identificación.

Versión 1.4 Traducciones de este documento a otros idiomas; el SBPCD ofrece soporte para unidades IBM y Longshine; versión alfa del controlador para unidades Aztech; controlador CDU-33 sin auto-prueba, y con soporte para PhotoCD y audio; soporte para más de 2 unidades SCSI; nuevo controlador para unidades IDE; se recomienda comprobar las posiciones de los jumpers de la unidad; control de la auto-extracción del controlador SBPCD a través de las funciones ioctl(); lista de los controladores con soporte para multi-sesión; pregunta acerca de el piloto parpadeante de la CDU-33.

Versión 1.5 Esta nueva versión del documento viene con retraso (he estado ocupado); el documento se sitúa bajo licencia pública GPL; nuevos controladores; más información sobre configuración y problemas; montones de enlaces a documentos HTML; otros cambios de menor importancia.

Versión 1.6 Enlace al programa eject (extracción); parche para los permisos de ficheros; enlace a la página Web de Creative Labs; referencia al FTP y FAQs de ATA/EIDE; nótese que muchas de las unidades Creative Labs y Mitsumi más recientes son EIDE; supermount; la lista de unidades con soporte para la lectura de CD-Audio está obsoleta, con relación al cdda2wav; escritura de CDs; unidad EIDE multi-disco.

Versión 1.7 Nueva versión del núcleo; muchos de los archivos README (léame) son trasladados al directorio /usr/src/linux/Documentation; finaliza la fase experimental de algunos controladores; nuevas unidades soportadas; insistencia en que casi todas las unidades comercializadas hoy en día son IDE/ATAPI; se añade un apartado sobre el soporte Plug and Play (Enchufar y Listo) e identificación de la velocidad de la unidad; cierre de las listas de correo vger; otros pequeños añadidos, miscelánea.

Versión 1.8 Por qué el CD-ROM deja de funcionar después de finalizar la instalación de Linux; el controlador aztcd ofrece soporte para dos unidades CyCDROM; se ruega no utilizar el controlador SBPCD con unidades IDE; soporte para alguna intercambiadora multi-disco ATAPI; nótese la carencia de soporte para unidades vía puerto paralelo; el último núcleo estable es el 2.0; miscelánea y añadidos de menor importancia.

Versión 1.9 Han sido eliminadas una serie de cuestiones muy antiguas y actualmente obsoletas; nueva dirección de correo electrónico del autor; ya está disponible la traducción al Chino; enlaces a puntos donde encontrar los paquetes de software más recientes; más información en el libro multimedia; correcciones de sintaxis y ortografía.

Versión 1.10 Queda aclarado que las nuevas unidades Aztech son ATAPI; CDU31A como controlador modular; opción de mount para la lectura de ficheros ocultos; nueva URL de la página web del libro; correcciones sintácticas y ortográficas.

Versión 1.11 Unidades vía puerto paralelo; controlador bpcd; nueva URL de la traducción al Chino; controlador alternativo CR-56x; CDs de arranque; la API del CDROM; la Guía Linux Multimedia (Linux Multimedia Guide) ya está disponible en Francés y Japonés.

Versión 1.12 Traducción al Polaco; el documento CD-Writing ya no es un mini-HOWTO; dos puntos acerca del sistema de ficheros Joliet.

1.3 Versiones nuevas de este documento

Las versiones nuevas de este documento serán enviadas periódicamente al grupo de noticias comp.os.linux.answers . También se subirán a varios puntos de ftp anónimo, incluído

ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/.

Las versiones hipertexto de éste y otros HOWTOs/COMOs de Linux se encuentran disponibles en numerosos servidores de la World-Wide-Web, incluido http://sunsite.unc.edu/LDP/HOWTO/. Muchas de las distribuciones de Linux en CDROM incluyen los HOWTOs, normalmente en el directorio /usr/doc, y también los puede adquirir en formato impreso. A veces los HOWTOs incluidos en CDROMs, ftps y copias impresas vienen desfasados. Si la fecha de este COMO tiene más de 6 meses, es probable que haya disponible una versión más reciente a través de Internet.

La traducción al Francés de este documento, realizada por Bruno Cornec (cornec@stna7.stna.dgac.fr)

se encuentra en ftp://ftp.ibp.fr/pub2/linux/french/docs/HOWTO/.

La traducción al Japonés de este documento, realizada por Itsushi Minoura

(minoura@uni.zool.s.u-tokyo.ac.jp) se encuentra en http://jf.linux.or.jp/JF/JF.html/.

La traducción al Chino de este documento (en código BIG-5), realizada por Yung-kang Wu

(yorkwu@ms4.hinet.net) se encuentra en http://linux.ntcic.edu.tw/~yorkwu/linux/howto/cdrom/.

La traducción al Polaco, realizada por Bartosz Maruszewski (b.maruszewski@zsmeie.torun.pl), se

encuentra en http://www.jtz.org.pl/Html/CDROM-HOWTO.pl.html.

Las traducciones de éste y otros HOWTOs de Linux también se pueden encontrar en

http://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/ y
ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/ . Las traducciones al castellano, los
COMOs, se encuentran, entre otros puntos, en http://www.insflug.org y http://www.infor.es/LUCAS.

1.4 Contacto con el autor

Le confío a Vd, lector o lectora, la utilidad y provecho de este COMO. Si tiene alguna sugerencia, corrección o comentario, por favor, hágamelo saber, jeff tranter@pobox.com, e intentaré incluirlo en una futura revisión.

Responderé asimismo a toda pregunta general acerca del manejo del CD-ROM bajo Linux, tan bien como me sea posible. Antes de hacerlo, por favor, lea atentamente todo el documento y entonces, envíeme la información detallada de su problema. Por favor, no me consulten sobre la utilización de unidades de CD-ROM bajo otros sistemas operativos distintos de Linux.

Si publica este documento en un CDROM u otro tipo de almacenamiento, agradeceré una copia del mismo; puede mandarme un e-mail para pedirme la dirección postal. Considere también la posibilidad de hacer una donación al Linux Documentation Project (Proyecto de Documentación de Linux). Contacte con el coordinador de los HOWTOs de Linux, Greg Hankins (gregh@sunsite.unc..edu), para más información al respecto.

1.5 Política de Distribución

Copyright 1995-1997 Jeff Tranter.

Este COMO se distribuye gratuitamente; Vd. puede redistribuirlo y/o modificarlo bajo los términos de la GNU General Public License, tal como ha sido publicado por la Free Software Foundation; a partir de la versión 2 de dicha Licencia, o (a su elección) posteriores.

Este documento se distribuye con la esperanza de que será de utilidad, pero sin garantía alguna; carece de licencia mercantil o de beneficio particular. Consulte la GNU General Public License para más detalles.

Puede obtener una copia de la GNU General Public License escribiendo a la la siguiente dirección: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

2 La Tecnología CD-ROM

     "El CD-ROM es una memoria de solo-lectura, y el sistema de audio de discos
     compactos se halla en forma de paquetes de datos digitales para este
     proposito. Para escuchar CD-Audio, por favor, inserte la clavija del
     auricular."  --- extraido del manual de instrucciones de un CD-ROM

¡No se desespere! El mundo de la tecnología del CD-ROM no es tan incomprensible como el manual de instrucciones de su unidad.

CD-ROM es el acrónimo de Compact Disc Read-Only Memory. Es un medio de almacenamiento masivo de datos que se sirve de un láser óptico para la lectura de unas oquedades microscópicas que están estampadas en la superficie de un disco de aluminio recubierto de policarbonato.

Se basa en el mismo sistema que emplean los CDs de audio. Gracias a su alta capacidad de almacenamiento, seguridad y bajo coste, el CD-ROM se está convirtiendo en un medio de almacenamiento cada vez más popular.

La capacidad de almacenamiento de un disco compacto es de unos 650 megabytes, o el equivalente a algo más de 500 discos de 3.5” de alta densidad... algo así como la friolera de unas 250.000 páginas de texto mecanografiado.

Las unidades de primera generación (conocidas como de velocidad sencilla; (single speed) proporcionaban una velocidad de transferencia de aproximadamente 150 kilobytes/segundo. Luego los fabricantes de hardware empezaron a desarrollar unidades de doble velocidad (2x, a 300Kb/seg.), de cuádruple velocidad (4x, a 600Kb/seg.) y así... A la hora de escribir este documento, ya se están fabricando unidades de 24x y su precio es bastante asequible.

Casi todas las unidades de CD-ROM emplean una de las siguientes interfases: SCSI (Small Computer Systems Interface), IDE/ATAPI, o alguna interfase propietaria del fabricante. Por lo general, pueden reproducir CDs de audio. La salida del audio tiene lugar bien por medio de una clavija (jack) que se inserta en un conector externo, a través de la tarjeta de sonido, u otro medio similar. Algunos CDROM permiten la extracción de los datos de audio en formato digital.

Los CD-ROM suelen venir formateados con el sistema de ficheros ISO-9660 (también llamado High Sierra). En dicho formato, los nombres de ficheros siguen el estándar del DOS (es decir, 8+3 caracteres). Una extensión del mismo, denominada Rock Ridge Extensions, se vale de una serie de campos indefinidos dentro del estándar ISO-9660 para poder dar soporte a los nombres de ficheros más largos e informaciones adicionales que se utilizan en Unix (p.e. permisos de lectura, escritura y ejecución, enlaces simbólicos, etc).

El PhotoCD es un estándar desarrollado por Kodak para almacenar imágenes fotográficas en CDROM. Con las aplicaciones adecuadas, Vd. podrá ver las imágenes, manipularlas, imprimirlas, etc. La posibilidad de añadir datos a un PhotoCD a posteriori se conoce como multi-sesión.

Las grabadoras de CD-ROM (CD-R) van siendo (poco a poco) cada vez más asequibles para nuestros bolsillos. Utilizan un sistema diferente y disponen de un hardware muy complejo para realizar la grabación, pero los discos resultantes son legibles con cualquier unidad de CDROM.

En el futuro, se desarrollarán nuevas tecnologías que multiplicarán la capacidad de almacenamiento de los dispositivos actuales.

3 Hardware Soportado

A continuación se listan los controladores (drivers) e interfases que actualmente son soportados por Linux. Dicha información esta basada en el último núcleo estable, que a la hora de escribir este documento va por la versión 2.0.31. También se encuentran disponibles los núcleos de desarrollo 2.1.x, pero su estabilidad no está garantizada.

Los datos que siguen a continuación son válidos únicamente para sistemas Linux funcionando sobre plataformas Intel y compatibles. Aunque en su mayor parte debería poder extrapolarse a procesadores basados en otras arquitecturas, no tengo de ello información ni experiencia de primera mano.

3.1 Unidades ATAPI

ATAPI (ATA Packet Interface) es un protocolo diseñado para controlar y gestionar dispositivos de almacenamiento masivo. Está basado en la interfase ATA (AT Attachment), que es la denominación oficial según el estándar ANSI de las interfases IDE desarrolladas para las unidades de disco duro. Los CDROM, discos duros y otros sistemas de alta capacidad de almacenamiento suelen ser ATAPI. Además de ser hoy en día la interfase de más amplia difusión, ofrece unas prestaciones similares a la SCSI sin tener que desembolsar grandes cantidades de dinero en una controladora y cables especiales.

En el núcleo de Linux viene incluido un controlador que debería funcionar con cualquier unidad de CDROM ATAPI. Otros fabricantes de unidades compatibles son Aztech, Mitsumi, NEC, Sony, Creative Labs, y Vertos. Si Vd. ha adquirido recientemente un CDROM, y especialmente si es de 4x o mayor, seguramente será IDE/ATAPI.

3.2 Unidades SCSI (Small Computer Systems Interface)

Las principales ventajas radican en su elevada velocidad de transferencia, compatibilidad con gran cantidad de plataformas y soporte para múltiples unidades. Algunas desventajas del SCSI son la necesidad de una controladora y cables que resultan relativamente caros...

Cualquier CDROM SCSI con un tamaño de bloque (block size) de 512 o 2048 bytes debería funcionar correctamente bajo Linux; esto incluye a la mayor parte de las unidades del mercado.

Tenga en cuenta que va a necesitar una controladora SCSI que sea soportada; consulte el

http://sunsite.unc.edu/LDP/HOWTO/SCSI-HOWTO.html para más información.

Algunos CDROM vienen con una controladora propietaria cuya interfase no es 100% SCSI compatible (p.e. sin soporte para más unidades SCSI en el bus). Es probable que dichas unidades no funcionen bajo Linux.

3.3 Unidades Propietarias

Sí que están soportadas muchas unidades de CDROM basadas en interfases propietarias; a menudo la interfase suele venir junto con la tarjeta de sonido. Las tarjetas de interfase sencilla (o single), como las suministradas con la tarjeta de sonido, también están disponibles. El precio de dichas unidades suele ser más bajo que el de las SCSI. Su desventaja estriba en la imposibilidad de expansión y falta de estandarización.

Cuidado: hay interfases propietarias que vienen catalogadas erróneamente como IDE porque, al igual que los discos duros IDE, emplean una interfase sencilla basada en el bus PC/AT. Por si fuera poco, algunos fabricantes, en particular Creative Labs, han lanzado al mercado diferentes tipos de unidades, ofreciendo con sus tarjetas de sonido interfases ATAPI, SCSI y propietarias.

A continuación tenemos una lista de las unidades propietarias que sabemos que Sí son soportadas bajo Linux. Los controladores correspondientes están disponibles en las últimas versiones de desarrollo del

núcleo o bien como parches: en ftp://sunsite.unc.edu/pub/Linux/kernel/patches/cdrom/. Revise

asimismo los ficheros README que incluidos en la distribución del núcleo; habitualmente se encuentran

instalados en el directorio /usr/src/linux/Documentation/cdrom.

                   Unidades de CD-ROM Propietarias
   Fabricante      Modelo          Controlador     Comentarios
   ----------      ------          -----------     -----------
   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             External ISA    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        Notas 7, 8
   Mitsumi         FX001           mcd/mcdx        Notas 7, 8
   Optics Storage  Dolphin 8000AT  optcd
   Lasermate       CR328A          optcd
   Sanyo           H94A            sjcd
   various         various         isp16           Nota 9
   MicroSolutions  Backpack        bpcd

Comentarios:

1. Estas unidades deben estar comercializadas exclusivamente por Creative Labs, Panasonic, Matsushita, o Kotobuki.

2. Se trata de la misma unidad que la Panasonic CR-562.

3. También podemos encontrarla con el nombre de Procomm.

4. Este controlador sólo funciona con la unidad CDA268-01A. Los otros modelos, incluyendo el CDA268-03I y el CDA269-031SE no son propietarios, por lo que deben usar el controlador del núcleo IDECD (ATAPI).

5. Se puede encontrar formando parte del Kit Reveal Multimedia.

6. Este controlador no soporta la unidad Philips CM205, pero ya existe para la misma un controlador en versión alfa que se puede obtener vía

  ftp://sunsite.unc.edu/pub/Linux/kernel/patches/cdrom/lmscd0.4.tar.gz

7. También la podemos encontrar con el nombre de Radio Shack.

8. Existen dos controladores. ”mcd” es el original. ”mcdx”, el más moderno, soporta más características (pero puede que sea menos estable).

9. Este controlador funciona con las unidades conectadas a la interfase de una tarjeta de sonido ISP16, MAD16 o Mozart.

Si su núcleo no soporta alguna de las unidades referidas probablemente necesite actualizarse a una versión mas reciente.

Si su unidad no coincide con ninguno de los modelos señalados, más aun si ésta es de reciente adquisición y de cuádruple velocidad o más, es muy probable que emplee la interfase IDE/ATAPI, que ya hemos comentado en el apartado anterior.Uno de los errores más frecuentes entre los usuarios de Linux es creer que cualquier unidad conectada a una tarjeta de sonido SoundBlaster debe utilizar el controlador SBPCD. Creative Labs y otros muchos fabricantes están dejando de producir unidades de interfases propietarias para seguir el estándar ATAPI/IDE.

3.4 Unidades Vía Puerto Paralelo

La única unidad de estas características que está soportada actualmente en el núcleo de Linux es la MicroSolutions Backpack.

Hay también disponibles controladores para muchas más unidades, en forma de parches del núcleo o como módulos cargables. Mas información al respecto en http://www.torque.net/linux-pp.html.

3.5 Unidades Alternativas

Existe un controlador alternativo para las unidades Panasonic/Matsushita CR-56x, escrito por Zoltan

Vorosbaranyi. Puede encontrarse en ftp://ftp.tarki.hu/pub/linux/pcd/pcd-0.29.tar.gz.

4 Instalación

La instalación de un CD-ROM bajo Linux incluye los siguientes pasos:

1. Instalar el hardware

2. Configurar y recompilar el núcleo

3. Crear los ficheros de dispositivo (device files) y ajustar los parámetros temporales de arranque (boot time parameters)

4. Arrancar con el nuevo núcleo

5. Montar la unidad

Vamos a seguir paso a paso este proceso:

4.1 Instalación del Hardware

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).

4.2 Configuración y Construcción del Núcleo

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:

1. Instalar Linux a través de una red.

2. Arrancar el DOS, y volcar los ficheros de Linux al disco duro.

3. Arrancar DOS, y crear una serie de discos que utilizará para instalar Linux.

4. Encontrar a alguien que le construya un disco de arranque con el controlador que Vd. necesita.

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:

• para el habilitar el soporte del CDROM y demás hardware

• para actualizarse a una nueva versión del núcleo

• para liberar recursos de memoria, minimizando el tamaño del núcleo

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.

4.3 Creación de los Ficheros de Dispositivo (device files) y Ajuste de los Parámetros Temporales de Arranque

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.

4.3.1 Controlador 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.

4.3.2 Controlador Sonycdu535

          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.

4.3.3 Controlador Cdu31a

          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.

4.3.4 Controlador Aztcd

         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

4.3.5 Controlador Gscd

          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/.

4.3.6 Controlador Mcd

         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.

4.3.7 Controlador Mcdx

          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

4.3.8 Controlador Cm206

          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.

4.3.9 Controlador Optcd

          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.

4.3.10 Controlador Sjcd

          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.

4.3.11 Controlador Bpcd

          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.

4.3.12 Controlador SCSI

          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).

4.3.13 Controlador IDECD

           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.

4.4 Arrancando el Núcleo

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 4.6.

4.5 Montando, Desmontando y Extrayendo

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/.

4.6 Problemillas

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.

4.6.1 Primero: Asegúrese de haber arrancado con el núcleo recién compilado

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?

4.6.2 Segundo: Compruebe que los controladores estén incluidos en el núcleo.

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.

4.6.3 Tercero: Compruebe que el núcleo detecta la unidad durante el arranque

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.

4.6.4 Cuarto: Compruebe si puede leer información desde la unidad

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.

4.6.5 Quinto: Pruebe a montar un CD-ROM

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.

4.6.6 Problemas con el sonido

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.

4.6.7 Nada, Que sigue fallando...

Si aún tiene problemas, puede:

• releer meticulosamente el documento.

• consultar las referencias que hay al final de este escrito, especialmente las que se refieren a los archivos README de los fuentes del núcleo.

• enviar una pregunta a alguno de los grupos de noticias comp.os.linux, (en castellano

     es.comp.os.linux)

• enviar una pregunta a la Lista de Correo de Linux

• probar con la última versión del núcleo

• contactar con su distribuidor (del equipo)

• contactar con el distribuidor del CD-ROM

• enviar un mensaje al responsable del controlador del núcleo (busque en el archivo

     /usr/src/linux/MAINTAINERS)

• enviarme un mensaje

• cargar el Emacs y teclear Esc-x doctor :-)

5 Aplicaciones

En esta sección se describen brevemente algunas de las aplicaciones relacionadas con el CD-ROM que hay disponibles para Linux. Vea también el Mapa de Software de Linux (LSM).

5.1 Reproductores de CDs de Audio

Hay muchos programas que sirven para la reproducción de discos compactos, bien a través de unos auriculares, o por la tarjeta de sonido.

Workman reproductor en modo gráfico bajo las X11 con soporte para base de datos de CDs y otras muchas características.

WorkBone

reproductor interactivo en modo texto xcdplayer

sencillo reproductor basado en las X11 cdplayer

sencillo reproductor desde la línea de comandos Xmcd

reproductor basado en las X11 y Motif xmitsumi

otro reproductor basado en las X11 para unidades Mitsumi xplaycd

otro reproductor basado en las X11, con utilidades de mezcla y control de volumen cdtool

reproductor de CDs desde la línea de comandos Alguno de estos programas vienen diseñados para utilizar algún fichero de dispositivo concreto (p.e. /dev/cdrom). Deberá introducir el adecuado como parámetro, o bien crear un enlace simbólico en el directorio /dev. Si la salida se realiza desde el CDROM a una tarjeta de sonido, quizás quiera usar un programa mezclador para ajustar el volumen y seleccionar la entrada del CDROM cuando desee grabar.

5.2 PhotoCD

Los PhotoCD emplean el sistema ISO-9660. Los archivos de imágenes vienen en formato propietario. No todos los lectores de CDROM soportan la lectura de PhotoCD.

hpcdtoppm es un programa escrito por Hadmut Danisch para la conversión de archivos de PhotoCD a mapa de pixels (pixmap). Se encuentra disponible vía ftp en ftp://ftp.gwdg.de/pub/linux/hpcdtoppm o bien incluído en el paquete de utilidades PBM (Portable Bit Map) , disponible en muchos bancos de archivos (búsquelo por ”pbm” o ”netpbm”).

photocd, un programa de Gerd Knorr, kraxel@cs.tu-berlin.de para la conversión de PhotoCDs en archivos de mapa de bits: Targa, Windows y OS/2.

Del mismo autor es el programa xpcd, basado en las X11, diseñado para la gestión de imágenes de PhotoCD. Vd. puede seleccionar las imágenes con el ratón, hacer previsualizaciones en una pequeña ventana y cargar la imagen en alguna de las cinco resoluciones posibles. También puede cargar un

determinado área de la imagen: ftp://ftp.cs.tu-berlin.de/pub/linux/Local/misc/.

ImageMagick permite la manipulación de archivos de imágenes, también soporta el formato PhotoCD. Lo

puede encontrar vía ftp ftp://ftp.x.org/contrib/applications/ImageMagick/.

5.3 mkisofs

Con el paquete mkisofs, de Eric Youngdale’s, podrá crear una partición del disco duro con el sistema de ficheros ISO-9660. Ello puede serle de gran utilidad a la hora de desarrollar y verificar sistemas de archivos de CD-ROM antes de hacer los masters.

Las utilidades para la escritura de CD-ROM suelen ser suministradas por el fabricante. El proceso de escritura tiene que realizarse sin que haya interrupciones, característica para la cual un sistema multitarea como Linux está particularmente bien dotado.

5.4 Utilidades ISO-9660

Aquí encontrara algunas utilidades para la verificación del sistema de ficheros ISO-9660 en discos formateados. Le será de gran interés a la hora de hacer comprobaciones de CDs que puedan estar defectuosos. Puede conseguir el paquete vía ftp ftp://ftp.cdrom.com/pub/cdrom/ptf/. Está escrito por Bill Siegmund y Rich Morin.

6 Respuestas a las Preguntas de Uso más Frecuente (PUFs)

6.1 ¿Cómo hacer que cualquier usuario (no root) pueda montar y desmontar los CDs?

Prácticamente todos los comandos mount soportan la opción user. Introduciendo una línea como la que sigue en el fichero /etc/fstab:

     /dev/sbpcd  /mnt/cdrom   iso9660     user,noauto,ro

...cualquier usuario podrá montar y desmontar la unidad, de la siguiente manera:

     mount /mnt/cdrom
     umount /mnt/cdrom

El disco, por razones de seguridad, será montado con algunas limitaciones (p.e. los programas no podrán ser ejecutados, los archivos de dispositivo se ignorarán...); esto puede resultar demasiado restrictivo en algunos casos.

Otra opción es conseguir el paquete usermount, que habilita para los usuarios normales el montado y desmontado de dispositivos extraíbles, tales como discos y CDROM, pero que restringe el acceso a otros (como las particiones del disco duro). Se puede encontrar en casi todos los bancos de archivos.

En ftp://ftp.cdrom.com se halla el código fuente mount.c, que permite el montado y desmontado de CD-ROM (únicamente) por usuarios normales.

6.2 ¿Por qué obtengo ”device is busy (dispositivo ocupado)” a la hora de desmontar el CD-ROM?

Un disco no puede ser desmontado mientras haya algún proceso accediendo a la unidad, lo que incluye el hecho de que nos encontremos en alguno de los directorios asignados a la misma. Si no puede identificar el proceso que la esta usando, puede emplear el comando fuser, tal y como se muestra a continuación:

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

6.3 ¿Cómo puedo exportar un CD-ROM a otra máquina vía NFS?

Para ello es preciso añadir una línea al archivo /etc/exports. Para más detalles, consulte la página man

exports(5).

6.4 ¿Es posible arrancar Linux desde un CD-ROM?

Para instalar Linux, el método más común es utilizar un disco de arranque. Algunas distribuciones vienen preparadas para arrancar el núcleo de Linux utilizando un CDROM directamente desde el DOS.

Michael Fulbright (msf@redhat.com) explica cómo, con un CDROM, la ROM-BIOS y una unidad ATAPI es posible arrancar directamente desde el CD. La última version de mkisofs también soporta la creación de dichos CDRoms. Para ello, se ha tenido que añadir una serie parches para soportar el estándar de discos de arranque El Torito.

6.5 ¿Cómo puedo leer la información digital de un CD-Audio?

Heiko Eissfeldt (heiko@colossus..escape.de) y Olaf Kindel han escrito una utilidad que lee y graba los datos de audio archivos de formato .wav. El paquete se llama cdda2wav.tar.gz y se encuentra en

sunsite.unc.edu.

A consecuencia del rápido desarrollo que están experimentando las unidades de CD-ROM, es casi imposible hacer una lista completa de los modelos que soportan la extracción digital de audio. Lo mejor será que consiga la última versión de paquete cdda2wav y lea la documentación.

Para más información al respecto, visite la página web http://www.tardis.ed.ac.uk/~psyche/cdda/ y las FAQ de alt.cdrom (sección de Referencias).

6.6 ¿Por que el comando find no funciona correctamente?

Al utilizar discos formateados con el sistema ISO-9660, pero que carecen de las Extensiones Rock Ridge, hay que añadir la opción -noleaf al comando find. Consulte la página del manual find(1) para más detalles.

(Hoy en día todos los CDs de Linux emplean las Extensiones Rock Ridge, por lo que este problema se planteará raras veces.)

6.7 ¿Soporta Linux alguna unidad grabadora de CD-ROM?

El paquete X-CD-Roast es una aplicación gráfica diseñada para la utilización de grabadoras de CD-ROM bajo Linux. Se puede encontrar en

ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/xcdroast-0.95.tar.gz

Consulte también el CD-Writing HOWTO, que está disponible en

ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/CD-Writing.html ó
http://sunsite.unc.edu/LDP/HOWTO/CD-Writing.html.

6.8 ¿Por qué obtengo ”mount: Read-only file system (sistema de ficheros de solo-lectura)” al montar un CD-ROM?

El CD-ROM es un medio de almacenamiento de sólo-lectura. Con alguno de los núcleos más antiguos se podía montar CDROM para lectura/escritura; los intentos de escribir datos en el CDROM eran ignorados. Esto ha sido corregido a partir del núcleo 1.1.33, con el que los CDROM han de montarse como de sólo-lectura (con la opción -r del comando mount).

6.9 ¿Por qué se abre la bandeja de la unidad cuando apago el sistema?

A partir de la versión 1.1.38 del núcleo, el controlador sbpcd realiza automáticamente la extracción del CD al ser desmontado. Al apagar el sistema, se desmonta el CD, lo que provoca su extracción. Esta característica resulta de utilidad a la hora de cambiar los CDs. Si la bandeja está abierta, cuando monte un CD se cerrará automáticamente.

He comprobado que esto ocasiona algunos problemas al utilizar algunos programas (p.ej. el cdplay y el workbone). A partir del núcleo 1.1.60 es posible controlar dicha característica por medio de software. Un programa de ejemplo viene incluído con el archivo de documentación del sbpcd (o también puede usar el

programa ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/eject-1.4.tar.gz.

6.10 Tengo un CD ”quiquilloso” que no consigo montar

Ese disco “quisquilloso” seguramente sea un disco XA (como todos los PhotoCD y los “one-offs” generados con unidades CD-R). La mayor parte de los controladores del núcleo no soportan discos XA, pero seguramente podrá encontrar algún parche para añadir dicho soporte en alguno de los múltiples bancos de archivos. El sbpcd sí que soporta discos XA. Si utiliza dicho controlador, podrá comprobar si el disco es efectivamente XA, de la siguiente manera: Edite el fichero sbpcd y active la visualización de la ”Tabla de Contenidos” (Table of Contents) (TOC). Compile, instale y arranque de nuevo el núcleo. Ahora, cada vez que monte un disco, podrá leer la información de la Tabla de Contenidos (bien en la pantalla o en un fichero log). Si el primer valor que aparece en la primera linea es un ”20”, quiere decir que se trata de un disco XA. Dicho valor sera ”00” cuando monte discos normales. Si en la Tabla de Contenidos hay varias pistas, significa también que se trata de un disco XA.

(gracias a Eberhard Moenkeberg por esta información)

Otras posibilidades que pueden imposibilitar la lectura de CDs:

1. El disco no utiliza el sistema de ficheros ISO-9660 (p.e. algunos utilizan SunOS o HFS)

2. Se trata de un CD-Audio

3. El CD esta dañado o es defectuoso

4. Lo ha insertado del revés :-)

6.11 ¿Funcionan bajo Linux las unidades de CD-ROM multi-disco?

Hay much*s usuarios satisfech*s del funcionamiento de las intercambiadoras de CD-ROM multi-disco SCSI. Es probable que deba activar la opción ”Probe all LUNs on each SCSI device” durante la configuración del núcleo. Al menos un usuario ha tenido que incrementar el valor SCSI timeout en el controlador del núcleo. Las intercambiadoras Nakamichi MBR-7 de 7 discos y la Pioneer de 12 discos funcionan correctamente. También están soportadas las intercambiadoras multi-disco EIDE/ATAPI. El soporte implementado para algunas unidades (utilizando la función CDROM SELECT DISC ioctl) con el núcleo 2.0 resulta un tanto rudimentario. En el archivo de documentación del controlador del núcleo IDE-CD viene incluído el código fuente de un programa para seleccionar el plato, o también puede utilizar una versión reciente del programa eject, descrito anteriormente.

6.12 Obtengo ”/cdrom:  Permission denied”

Algunos CDs poseen archivos que se encuentran en directorios cuyo permiso de lectura está restringido al modo root. Algo así ocurría con la edición de InfoMagic de Marzo de 1995.

El siguiente parche, cortesía de Christoph Lameter (clameter@waterf.org) permite solventar el problema.

     From: clameter@waterf.org (Christoph Lameter)
     Newsgroups: comp.os.linux.setup
     Subject: InfoMagic Developers Set: Fix for CD-ROM permissions
     Date: 12 Apr 1995 20:32:03 -0700
     Organization: The Water Fountain - Mining for streams of Living Water
     NNTP-Posting-Host: waterf.org
     X-Newsreader: TIN [version 1.2 PL2]

En la edición de InfoMagic Developers CD-ROM Set de Marzo de 1995 se plantean una serie de problemas con la información almacenada en directorios cuyos permisos quedan restringidos al root.

1. En el Disco1 los valores de propietario/grupo están fijados con los valores 5101/51 y tienen permiso de escritura (?)

2. El Disco2 y 3 vienen con permisos rwx para root y ningún permiso para grupo/usuario. ¡Sólo como root es posible acceder a ellos! Yo mantengo una BBS y necesito tenerlos disponibles para otr*s.

Hay varias soluciones. El problema estriba en que, por lo común, estos arreglos cambian los permisos de todos los directorios del CD. El parche que viene a continuación sólo cambia los permisos para el directorio root del CD-ROM. Si quiere hacer correr partes de Linux directamente desde el CD-ROM, probablemente se vea en un aprieto tanto si todos los directorios pueden ser accedidos para lectura por todos los usuarios como si son propiedad del root.

Con este parche, los permisos del directorio root quedarán fijados como r-xr-xr-x, y los valores de propietario/grupo serán los indicados a través de las opciones uid y gid del comando mount.

Para aplicarlo:

      cd /usr/src/linux/fs/isofs
      patch < parche

...y recompile el núcleo (puede que tenga que aplicar el parche a mano, dependiendo de su versión del núcleo).

Este es el fichero parche:

     --- inode.c.ORIG        Wed Apr 12 17:24:36 1995
     +++ inode.c     Wed Apr 12 17:59:12 1995
     @@ -552,7 +552,15 @@
         numeros de la estructura de inodos */
             if (!high_sierra)
     -         parse_rock_ridge_inode(raw_inode, inode);
     +       {  parse_rock_ridge_inode(raw_inode, inode);
     +           /*comprobacion de los permisos de acceso de propietario CL al directorio root*/
     +          if((inode->i_sb->u.isofs_sb.s_firstdatazone) == inode->i_ino)
     +           { /*sustitucion de los permisos de propietario por los introducidos mediante el comando mount*/
     +             inode->i_uid = inode->i_sb->u.isofs_sb.s_uid;
     +             inode->i_gid = inode->i_sb->u.isofs_sb.s_gid;
     +            inode->i_mode = S_IRUGO | S_IXUGO | S_IFDIR;
     +           }
     +        }
      #ifdef DEBUG
             printk("Inode: %x extent: %x\n",inode->i_ino, inode->u.isofs_i.i_first_extent);
     @@ -805,4 +813,3 @@
      }
      #endif
     -

Tenga en cuenta que este parche es algo antiguo y probablemente no podrá aplicarse tal cual a versiones más recientes del núcleo (a partir de la 2.0). Consulte también la sección referente a los ficheros ocultos.

6.13 ¿Cómo he de interpretar los mensajes de error del núcleo referentes al CD IDE?

¿Qué significa cuando obtengo un mensaje del controlado IDE de la manera hdxx: code: xx key: x

asc:  xx ascq:  x?

Se trata de un mensaje de status/error de la unidad IDE. Por defecto el controlador IDECD envía a una salida las informaciones, en vez de gastar espacio del núcleo con mensajes de error. Esto puede cambiarse, para poder visualizar los mensajes de error directamente, editando el archivo

/usr/src/linux/drivers/block/ide-cd.c, cambiando el valor de VERBOSE IDE CD ERRORS a 1, y

recompilando el núcleo.

6.14 ¿Cómo puedo comprobar la velocidad de mi CD-ROM?

He aquí un método. Estas instrucciones miden el tiempo que se tardan en leer 1500K desde el CD:

     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

El rango de transferencia a velocidad sencilla es de 150kb/segundo, osea, que tardará unos 10 segundos. A doble velocidad, tardará 5 segundos; a cuádruple, 2.5 segundos...etc

El valor más fiable es el de ”real”, que en nuestro ejemplo indica una unidad de doble velocidad. Vd puede incrementar la cantidad de datos transferidos para así obtener un valor más exacto (los datos no se almacenan). Lo mejor sería ejecutar varias veces el comando y, a continuación, hallar la media.

6.15 Mi CD-ROM dejó de funcionar después de completar la instalación de Linux

Lo más seguro es que el disco de arranque utilizado para instalar Linux haya reconocido su unidad de CD-ROM. Pero una vez terminado el proceso de instalación en el disco duro o en floppy y tras reinicializar el ordenador, el CD-ROM deja de ser reconocido.

Esto suele ser debido a que, con algunas distribuciones de Linux, el núcleo que se instala en el disco duro o floppy no es necesariamente el mismo del disco de arranque. Vd seleccionó un disco de arranque adecuado al hardware de su CD-ROM, mientras que el núcleo que acaba de instalar es un núcleo ”genérico” sin soporte para CD-ROM. Puede comprobarlo siguiendo los pasos detallados en la sección 4.6 (p.e. empiece comprobando el archivo /proc/devices).

La solución pasa por recompilar el núcleo, asegurarse de incluir los controladores necesarios para su unidad y todo lo demás (p.e. controlador SCSI, sistema de ficheros ISO-9660). Consulte

http://www.insflug.org/howtos/online/kernel/Kernel-Como.html.

Si ha pasado alguna opción desde la línea de comandos al disco de arranque (boot disk) (p.e. ”hdc=cdrom”), deberá añadirla a su fichero de configuración de arranque (/etc/lilo.conf).

6.16 No puedo leer los ficheros ocultos

Algunos CDs tienen archivos que están determinados como “ocultos”. Normalmente, no son visibles. Si monta el CD-ROM con la opción “unhide”, deberían de hacerse accesibles (esto parece no estar documentado en lugar alguno).

6.17 ¿Dónde se encuentra la documentación de la API del CDROM?

Si pretende escribir su propia aplicación, p.e. un reproductor de CDs, necesitará entender la API (Interfase para la Programación de Aplicaciones) del Linux.

En un principio, los controladores de CD-ROM usaban sus propias funciones ioctl() para dar soporte a las características específicas de cada unidad.

Esto se describe en los archivos de cabecera, p.e. en /usr/include/linux/sbpcd.h. Puesto que muchos controladores estaban basados en otros controladores, las interfases, aunque no idénticas, sí tenían mucho que ver.

Recientemente ha surgido una iniciativa encabezada por David van Leeuwen (david@tm.tno.nl) dirigida a la estandarización de la API de las unidades de CDROM. Se trata de asegurar el que todos los controladores presenten el mismo comportamiento. Esto se detalla en el archivo

/usr/src/linux/Documentation/cdrom/cdrom-standard.tex. Muchos controladores del núcleo ya lo

soportan. Se espera que para futuras versiones del núcleo (3.0?) todos los controladores de CDROM empleen la API estándar.

En mi libro, Linux Multimedia Guide (Guia Linux Multimedia), entro en detalle acerca de la programación de unidades de CDROM, especialmente de cara a las funciones de audio. Vea la sección 7.

6.18 ¿Por qué no leo los nombres de fichero largos de este CDROM de Windows?

Si tiene un CDROM con nombres de fichero largos bajo Windows, pero no bajo Linux, es que ha sido formateado empleando el sistema de ficheros Joliet, sistema propietario de Microsoft. Siga leyendo.

6.19 Es soportado el sistema de ficheros de Microsoft Joliet?

Microsoft ha creado una extensión del formato ISO-9660 llamada Joliet. A la hora de escribir este documento, el soporte para Joliet se encuentra bastante avanzado y los parches se pueden obtener en

http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html o
ftp://www-plateau.cs.berkeley.edu/pub/multimedia/linux/joliet/.

7 Referencias

Ya he mencionado los archivos README, que suelen venir instalados en el directorio

/usr/src/linux/Documentation/cdrom. ¡Son un tesoro de información!

Las FAQs de los siguientes grupos de usenet se envían periódicamente a news.answers y son archivadas en diversos servidores de ftp, p.e. ftp://rtfm.mit.edu/:

• alt.cd-rom FAQ

• comp.periphs.scsi FAQ

• Enhanced IDE/Fast-ATA/ATA-2 FAQ

En otros HOWTOs también encontrara información relacionada con el CD-ROM:

   • http://sunsite.unc.edu/LDP/HOWTO/SCSI-HOWTO.html
   • http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO.html
   • http://www.insflug.org/howtos/online/Sonido-Como.html
   • http://www.influg.org/howtos/online/Kernel-Como.html
   • http://sunsite.unc.edu/LDP/HOWTO/Distribution-HOWTO.html
   • http://sunsite.unc.edu/LDP/HOWTO/CD-Writing.html

Hay más de una docena de compañías que venden distribuciones de Linux en CD-ROM; casi todas se encuentran referidas en el Distribution-HOWTO.

Los siguientes grupos de noticias se ocupan de temas relacionados con el CD-ROM:

   • comp.publish.cdrom.hardware

   • comp.publish.cdrom.multimedia
   • comp.publish.cdrom.software
   • comp.sys.ibm.pc.hardware.cd-rom
   • alt.cd-rom
   • alt.cd-rom.reviews

Los grupos de noticias comp.os.linux, (junto con su homónima en castellano, es.comp.os.linux) también son una valiosa fuente de información.

Existe un gran archivo de software e información relacionada con el CD-ROM en

ftp://ftp.cdrom.com/pub/cdrom/.

Hay un documento con las FAQ para unidades IDE y ATAPI en

ftp://rtfm.mit.edu/pub/usenet/news.answers/pc-hardware-faq/enhanced-IDE/ y en
http://www.seagate.com/techsuppt/faq/faqlist.html.

Western Digital, la compañía precursora del protocolo IDE, ofrece información sobre dicho protocolo en su

FTP: ftp://fission.dt.wdc.com/pub/standards/atapi.

Página Web dedicada a multimedia: http://viswiz.gmd.de/MultimediaInfo/. Creative Labs tiene su

Web en http://www.creaf.com/.

El Proyecto de Documentación de Linux ha dado como fruto muchos libros sobre Linux, como la Linux Installation and Getting Started. Puede conseguirlos vía FTP, o también comprarlos impresos. La traducción al castellano de los mismos está en http://www.infor.es/LUCAS.

El Mapa de Software para Linux (Linux Software Map) (LSM) es una referencia de máximo interés: p.e.

ftp://sunsite.unc.edu/pub/Linux/docs/LSM/.

Las listas de correo de linux tienen muchos canales dedicados a diferentes temas. Para averiguar cómo subscribirse, envíe un e-mail con la palabra ”help” en el cuerpo del mensaje a majordomo@vger.rutgers.edu (Nota: a la hora de escribir este documento, las listas de correo estaban muy sobrecargadas, y pendientes de reeestructuración).

Consejo final: Si desea aprender mucho más sobre multimedia bajo Linux (en concreto sobre aplicaciones y programación del CD-ROM y la tarjeta de sonido), consulte mi libro Linux Multimedia Guide, ISBN 1-56592-219-0, publicado por la firma O’Reilly and Associates.

Se encuentran impresas tanto la versión original en Inglés, como las traducciones al Francés y Japonés. Para más detalles, puede telefonear al 800-998-9938 de Norte América, consultar la pagina Web

http://www.ora.com/catalog/multilinux/noframes.html o también mi página personal
http://www.pobox.com/~tranter/.

8 Anexo: El INSFLUG

El INSFLUG forma parte del grupo internacional Linux Documentation Project, encargándose de las traducciones al castellano de los Howtos (Comos), así como la producción de documentos originales en aquellos casos en los que no existe análogo en inglés.

En el INSFLUG se orienta preferentemente a la traducción de documentos breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs. :) ), etc.

Diríjase a la sede del INSFLUG para más información al respecto.

En la sede del INSFLUG encontrará siempre las últimas versiones de las traducciones: www.insflug.org. Asegúrese de comprobar cuál es la última versión disponible en el Insflug antes de bajar un documento de un servidor réplica.

8. Anexo: El INSFLUG 32 Se proporciona también una lista de los servidores réplica (mirror) del Insflug más cercanos a Vd., e información relativa a otros recursos en castellano. Francisco José Montilla, pacopepe@insflug.org.