jeff_tranter@pobox.com
uov00655@correo.uniovi.es
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.
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.
Primera versión de este documento disponible al público.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Traducción al Polaco; el documento CD-Writing ya no es un mini-HOWTO; dos puntos acerca del sistema de ficheros Joliet.
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
.
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.
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.
"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.
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.
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.
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.
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:
ftp://sunsite.unc.edu/pub/Linux/kernel/patches/cdrom/lmscd0.4.tar.gz
mcd
" es el original. "mcdx
",
el más moderno, soporta más características (pero puede que sea menos
estable).
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.
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
.
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
.
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 :-)
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).
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.
reproductor en modo gráfico bajo las X11 con soporte para base de datos de CDs y otras muchas características.
reproductor interactivo en modo texto
sencillo reproductor basado en las X11
sencillo reproductor desde la línea de comandos
reproductor basado en las X11 y Motif
otro reproductor basado en las X11 para unidades Mitsumi
otro reproductor basado en las X11, con utilidades de mezcla y control de volumen
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.
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/
.
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.
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.
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.
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
Para ello es preciso añadir una línea al archivo /etc/exports
.
Para más detalles, consulte la página man exports(5)
.
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.
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).
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.)
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
.
mount: Read-only file system
(sistema deficheros 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
).
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
.
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:
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.
/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.
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.
¿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.
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.
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
Problemillas
(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
).
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).
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 Referencias .
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.
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/
.
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/
:
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/
.
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.
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
.