Página siguiente Página anterior Índice general

3. Configuración del Kernel

El primer paso es configurar el kernel para que Linux vea nuestras grabadoras y/o lectores correctamente, tanto si son SCSI como IDE, ATAPI por puerto paralelo o USB.

En los dos últimos casos hay que hacer ciertos «chanchullos», aunque el que más pueda resultar dificultoso sea configurar el kernel para grabadoras IDE, ya que no basta conectarla, decirle que es un dispositivo IDE/ATAPI CD-ROM y directo a grabar como un poseso; hay que recompilar el kernel con una serie de opciones y modificaciones que se describen y explican en su apartado correspondiente.

Hay que saber cómo configurar el kernel, para ello entramos en el directorio /usr/src/linux, donde normalmente se encuentran los fuentes. Para asegurarnos de que nada raro pueda pasar, ejecutaremos make mrproper lo que elimina todos los binarios, incluso las configuraciones anteriores; es decir, una limpieza exhaustiva que asegure que no haya ninguna interferencia de nada de lo anterior que pueda hacer que el nuevo kernel no compile o nos dé errores.

Una vez hecho esto, teclearemos make menuconfig si queremos interfaz ncurses para el shell o make xconfig desde un terminal de X-Window para hacer lo mismo en X con interfaz TCL/TK, lo que quiere decir que si no tiene dichas librerías no podrá compilar los programas respectivos.

Podrá recurrir en última instancia al viejo programa de configuración, un script que se invoca desde la consola con make config y en el que tendrá que poner y (si), n (no) y/o m (módulo) en los lugares en donde corresponda en el prompt, ya que éste no permite volver hacia atrás; si quiere hacerlo tiene dos opciones, una pulsar Control+C y cancelar la configuración volviendo a empezar, o terminar de configurar y volver a empezar, (lo configurado anteriormente se mantiene), y rectificar lo que haya dejado o haya puesto mal.

Si tiene mas dudas sobre cómo configurar el núcleo del sistema le remito al documento Kernel Como que se encuentra en http://www.insflug.org.

3.1 Configurar el Kernel para grabadoras SCSI

Voy a suponer que no tiene ni la más remota idea de qué es el sistema SCSI, cosa en la que tampoco voy a profundizar, ya que para eso hay un hermoso documento llamado SCSI-HOWTO al cual puede referirse en caso de dudas y o problemas de configuración del dispositivo SCSI.

El caso es que se ha comprado un equipo cuya placa madre trae SCSI integrada, o una controladora SCSI en la que ha puesto la unidad grabadora, y el dichoso windows lo ha configurado a la primera o los amables chicos de la tienda de informática en donde acaba de comprarlo han instalado y configurado todo.

Lo primero es saber qué tipo de controladora SCSI es, me refiero a su chip principal; las controladoras más comunes son Adaptec, Advansys y las basadas en los chip Symbios 53c8xx (NCR), pero si no tiene ninguna de éstas no se preocupe, el kernel lleva soporte para muchas más. Puede saber qué controladora tiene mirando simplemente los manuales, mirando el chip principal de la tarjeta, mirando la información que nos proporciona el kernel en el /proc/pci o el nombre del controlador de windows (sólo en última instancia).

Un ejemplo de la información que se puede obtener del /proc/pci es:

...
...
  Bus  0, device  14, function  0:
    SCSI storage controller: NCR 53c810 (rev 18).
      Medium devsel.  IRQ 10.  Master Capable.  Latency=64.  Min Gnt=8.Max Lat=64.
      I/O at 0xd800 [0xd801].
      Non-prefetchable 32 bit memory at 0xefffff00 [0xefffff00].
...
...

Así es como LiNUX veria en nuestro sistema el tipo de controladora SCSI NCR 53c810a de Symbios, cuyo controlador en el kernel es el SYM53C8xx.

Si el controlador no corresponde exactamente al modelo que aparece en el kernel, seguramente funcionará con alguno de los que lleva genéricos para varios tipos de controladoras con las mismas características. Puede compilar como módulo las que más se parezcan al suyo y luego ir probando los módulos hasta que dé con el que corresponda. Si al cargar algún módulo nota que se le ha quedado el ordenador colgado, no lo vuelva a intentar con ese, ya que algunos controladores que no corresponden al hardware instalado son cargados de todos modos produciendo estas desagradables situaciones.

Acto seguido nos vamos a la configuración del kernel y entramos en SCSI Support, lo que luego nos dejará señalar las demás opciones que son para dar soporte genérico, y a unidades de CD-ROM, Discos Duros y cintas, de las cuales nos interesa el soporte genérico, SCSI generic support, que proporciona el interfaz ASPI, (para poder utilizar nuestra grabadora y/o lectora) y el SCSI CD-ROM support, para leer unidades de CD-ROM, incluidas grabadoras y DVDs. Si dispone de un disco duro, ZIP o JAZ SCSI deberá responder y o m también a las otras dos opciones SCSI disk support y SCSI tape support respectivamente si quiere poder usarlos.

Vease el ejemplo siguiente de la cofiguración del Kernel:

...
...
SCSI support  --->
        <*> SCSI support?
        <M> SCSI disk support
        <M> SCSI tape support
        <*> SCSI CDROM support
        <*> SCSI generic support
...
...
        SCSI low-level drivers  --->

Entrando en la sección SCSI low-level drivers ---> accedemos a los controladores para nuestra tarjeta SCSI.

Si por casualidad tiene la grabadora como unidad externa, y la controladora SCSI dedicada en exclusiva a ella, recomiendo que ponga el driver de la controladora como módulo, es decir, poniendo m en lugar de y, ya que le permitirá cargar/descargar a voluntad todos los módulos de soporte SCSI cuando no los necesite, y apagar la unidad externa cuando no la esté usando (cosa que con windows no es posible hasta el W98) ya que al cargar su módulo, la controladora será inicializada de nuevo y escaneará los dispositivos sin necesidad de reiniciar el ordenador para detectarlos; si la tiene interna, añada el soporte directamente en el kernel y se ahorra trabajo en cargar los módulos.

Tenga en cuenta no obstante, que si carga, descarga, y vuelve a cargar el módulo sin reiniciar el equipo, la controladora recibirá un número de host distinto, y los parámetros que tengamos para cdrecord configurados no serán válidos.

Si no puede descargar el soporte SCSI por tener otros dispositivos dependiendo de él (porque su disco duro raíz sea SCSI, por ejemplo, o por no poder tenerlo como módulo por las razones que sean) también puede activar y desactivar dispositivos a voluntad, incluidas grabadoras, cintas, escáneres, etc. sin necesidad de descargar el módulo. Vea la sección Activación y desactivación de dispositivos SCSI al vuelo.

Así que una vez hecho esto pase al apartado siguiente para especificar el driver de su controladora. Si le ha dicho antes, en soporte SCSI, que lo compile como módulo solo le dejará seleccionar como módulo el driver del controlador.

Espero que no se equivoque en escoger el driver para su controladora, porque si es así le tocará elegir otro y recompilar solo los módulos. Una vez recompilados los nuevos módulos, previa configuración, sólo tendrá que probarlos; si ha incluido soporte SCSI en el kernel junto a un controlador, éste detectará el dispositivo y podrá accederse a él desde los ficheros de dispositivo /dev/scdX o /dev/srX (estos últimos se crean, si no lo están ya, a través de un script que se puede encontrar junto a los programas de grabación, así como con el script /dev/MAKEDEV, o bien el que trae el X-CD-Roast (sección X-CD-Roast) o bien a mano con el comando mknod con este bucle:

for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ; 
    do mknod /dev/sr$i b 11 $i;
done

Del mismo modo, si lo ha hecho como módulo, sólo tendrá que cargar los módulos SCSI en el siguiente orden:

  1. Módulo scsi_mod.o que es el controlador principal del que cuelgan todos:
    insmod scsi_mod
    
  2. Seguido del módulo de soporte para SCSI genérico (proporciona el interfaz ASPI Advanced SCSI Programming Interface, para poder grabar CDs, o usar algunos programas con unidades de cinta, escáneres, etc) sg.o y el de soporte de CD-ROMs SCSI, sr_mod.o:
    insmod sg
    insmod sr_mod
    
  3. Por último, hacer un insmod al driver que corresponda a su controladora, el cual mostrará información de los dispositivos que encuentre, de tal forma que las unidades de CD corresponderán a /dev/sr0 para el primer dispositivo CD-ROM SCSI, /dev/sr1 para el segundo, etc, independientemente del bus o ID SCSI en el que estén.

De todas maneras si procede a hacer un cat al archivo /proc/scsi/scsi podrá ver en qué ID SCSI se tienen sus dispositivos, dato indispensable para determinar los interfaces genéricos /dev/sgX.

Si instala X-CD-Roast podrá usar los dispositivos /dev/sr0 hasta /dev/sr15; también puede usarlos en lugar de los dispositivos /dev/scdX, que usan otros programas, como cdrecord. Estos son los nuevos dispositivos que se usarán a partir de ahora para referirse a las unidades de discos ópticos tipo ROM como los CD-ROM y DVD-ROM.

Recomiendo que active el soporte kerneld, e introduzca el alias apropiado a la controladora en /etc/conf.modules o /etc/modules.conf, para que la carga de los módulos sea automática. Si tiene dudas sobre ésto, lea el Kernel-Como para mejor referencia. Si ya tiene una distribución con el kernel 2.2.XX no se cargará el kerneld, el propio kernel hace las funciones del kerneld.

Lea también la sección Configuración del kernel para grabadoras IDE porque explico algunas cosas más que pueden servir para solucionar posibles problemas que puedan ocurrir y que son comunes tanto para IDE como para SCSI. Y porqué no, para cuando un amigo se instale una grabadora IDE...

Activación y desactivación de dispositivos SCSI al vuelo

La forma más limpia de hacer que el kernel active o desactive sin necesidad de resetear el sistema, o cargar/descargar módulos, dando igual si está compilado el soporte como módulo o no, es mediante el siguiente método.

El activar o desactivar dispositivos SCSI a voluntad sin necesidad de demasiados aspavientos puede ser más práctico de lo que parece: suponga que su grabadora es externa, y la mantiene apagada mientras no la usa, lo mismo sucede con un scanner, unidad ZIP, JAZ, CDROMs o unidades de cinta externa, dando por supuesto que son SCSI, claro está.

Advertencia: Cuando hablamos de activar, nos referimos al caso en que el dispositivo está conectado externamente a la controladora, pero en un principio apagado, y una vez encendido, deseamos activar; no que cualquier controladora SCSI mediante este método soporte conexión/desconexión en caliente de dispositivos, tenga cuidado o puede desde corromper datos a estropear definitivamente dispositivos del bus SCSI.

Supongamos que la grabadora está en la primera o única controladora SCSI del sistema, y que la grabadora tiene asignado el ID SCSI 4.

Si ejecutamos el comando:

echo "scsi add-single-device 0 0 4 0" > /proc/scsi/scsi

El kernel activará la grabadora.

En este caso, el primer 0 especifica la primera controladora, el segundo el canal de la controladora (a menos que tenga una Wide o UW SCSI. siempre será 0, ya que sólo tiene uno; no confundir canal con conector) el 4 especifica el ID SCSI, y el último 0 el LUN. (Ver sección Notación estándard)

y si ejecutamos

echo "scsi remove-single-device 0 0 4 0" > /proc/scsi/scsi

La desactivaremos.

3.2 Configurar el Kernel para grabadoras IDE

El problema de las grabadoras IDE es que no hay software específico que detecte y grabe en estos dispositivos, ya que todos los programas se basan en la interfaz SCSI (ASPI) del kernel para acceder a éstos.

Por esta razón, no es tan sencillo configurar del Kernel para las grabadoras IDE. Lo primero es aplicar una pequeña modificación al Kernel, sólo necesario si tiene una grabadora Regrabable IDE como las HP 7100 o 7110 o superiores. En resumen, es mejor realizar la modificación para todas las grabadoras IDE, para evitar posibles problemas.

La modificación, que consiste en aumentarle el tiempo de espera del IRQ, es absolutamente necesaria ya que si no lo hacemos no cerrará los CDs, o al intentar cerrarlos, es decir, al escribir la Tabla de Contenidos, se detendrá con un error y habremos perdido el CD sin forma de recuperarlo.

Para efectuarla, vamos al archivo ide.h que se encuentra en /usr/src/linux/drivers/block (en los nucleos que distribuyen muchas distribuciones el lugar de este archivo no se encuentra en el directorio anterior, sino en /usr/src/linux/include/linux), y buscamos la siguiente línea:

#define WAIT_CMD        (10*HZ) /* 10sec  - maximum wait for an IRQ to happen */

que tenemos que modificar de modo que quede así:

#define WAIT_CMD        (1000*HZ)       /* 1000sec  - maximum wait for an IRQ to happen */

Con lo cual solucionamos el problema. Parece ser que con poner 400 en vez de 1000 funciona, pero no lo he probado personalmente. De todas formas, en el paquete de los fuentes del cdrecord viene un archivo llamado README.ATAPI, en que se dice que haga exactamente esto, así cómo hacer funcionar estas grabadoras con una versión antigua de cdrecord, es decir, la 1.5, aplicándole un serie de parches al programa y al kernel.

Una vez realizada la modificación debe configurar el kernel, ir al menú Floppy, IDE and other block devices en los nucleos 2.0.XX o simplemente Block devices en los nucleos 2.2.XX, desactivar el soporte para IDE/ATAPI CD-ROM (¡OJO, NO el Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support!) y activar la emulación SCSI que sólo hay en los últimos kernel, versiones 2.0.31 en adelante y 2.2.XX, para que así los programas detecten nuestra grabadora IDE como SCSI y funcione como tal.

Esta explicación deberia de quedar así a la hora de configurar el kernel:

...
...
Block devices  --->
        <*> Normal PC floppy disk support
        <*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
        ...
        < > Include IDE/ATAPI CDROM support
        ...
        <*> SCSI emulation support
...
...

Si activamos el soporte IDE/ATAPI para las unidades de CD-ROM el kernel no detectará nuestra grabadora como un dispositivo SCSI y habremos perdido el tiempo. Hacer que a nuestra grabadora la vean los programas como si fuera SCSI es muy sencillo, y se basa en que las grabadoras reciben comandos estandarizados (pertenecientes al interfaz ASPI, Advanced SCSI Programming Interface) para grabar que por casualidad son específicos de los SCSI; de esta forma, con la emulación lo que hacemos es que se puedan enviar este tipo de comandos a través del bus IDE a nuestra grabadora.

Hasta el momento que he tenido para probarlo, funciona perfectamente, tan bien, que se consigue un rendimiento similar al de una SCSI auténtica.

De la misma forma, windows lo que hace es emular SCSI con las unidades IDE, lo que le trae una pequeña serie de inconvenientes como cierto software que no funciona bien o el excesivo consumo de recursos del sistema.

Por lo visto las grabadoras IDE consumen muchos recursos, más que las SCSI, pero en linux con la emulación la carga parece menor, o al menos no se nota de forma excesiva; lo único recomendable es dejar un puerto IDE para ella sola, según recomiendan los fabricantes; lo mas común suele ser el secundario.

Con esto nos aseguramos de que no haya cualquier posible interferencia del otro dispositivo que haya conectado al puerto de la grabadora (solo por seguridad); yo he probado a tener el lector y la grabadora en el mismo interfaz, esto se puede hacer pero recomiendo que desmonte la unidad lectora de CD para que no haya interferencias; se puede usar, por ejemplo, para escuchar CDs de música mientras se graba el CD, si tiene botón de reproducción, claro esta ;).

He recibido noticias de que hay gente que tiene la grabadora y la unidad lectora colocadas en la misma interfaz haciendo copias directas sin problemas. Antes de ponerlo así, recomiendo realizar muchas pruebas antes de dejarlo de forma fija.

El último paso para configurar el kernel es ir a la sección SCSI support e incluir el soporte SCSI en el kernel, junto al SCSI generic y el soporte SCSI para los CD-ROM (Ojo, no lo haga como módulo, hay un fallo en la configuración para la emulación SCSI a la hora de incluir el soporte genérico SCSI en el kernel, por lo que si no lo incluimos manualmente en él no podremos compilar el nuevo kernel y es posible que se pase un buen rato dándole vueltas a lo mismo).

...
...
SCSI support  --->
        <*> SCSI support?
        <*> SCSI CDROM support
        <*> SCSI generic support
...
...

Gracias a este procedimiento ahora nuestra grabadora y/o lectora/as aparecerán como dispositivos SCSI en vez de IDE.

No es nada recomendable hacer cosas con el disco duro «origen» mientras se está grabando, si lee datos de un disco secundario podrá trabajar con el principal, pero no recomiendo abusar de su uso ya que es posible que pueda haber alguna pequeña interferencia con el DMA, aunque no suele ser muy común. Es decir, deje el disco duro sólo para la grabación.

Otra cosa a tener en cuenta es que si no tiene un disco con extracción por DMA como un Fast ATA o Ultra DMA desactive del kernel el soporte para el chip Intel Tritón (I/II) u otro similar con soporte DMA, ya que así hará interferencia el DMA con la emulación y dejará el controlador colgado, obligándole a resetear el ordenador con ese botón que se tiene algo olvidado la gente de linux. (Mirar en el apartado Preguntas de Uso Frecuente) para más detalles).

3.3 Configurar el Kernel para grabadoras IDE/ATAPI por puerto paralelo

¿Grabadoras por puerto paralelo? ¿De verdad eso existe? Pues sí, existe, y cómo Linux es capaz de usarlas, ¿Cómo? Gracias a cdrecord y a los desarrolladores del kernel que han introducido como novedad de los núcleos 2.1.x: (de desarrollo) el soporte para unidades ATAPI por puerto paralelo como unidades de CD-ROM y discos duros.

Para esto deberemos tener el kernel 2.0.35 o superior con la configuración necesaria para que reconozca nuestra unidad externa, que se describe a continuación:

Lo primero de todo es reiniciar el ordenador y entrar en la configuración de la BIOS, y, normalmente, en el menú Integrated Peripherals, si tiene la controladora del puerto paralelo integrada en la placa base, como en las últimas placas de 486 y en todas las placas de Pentium y Pentium Pro/II. Configuraremos el puerto de impresora en modo EPP solamente, si no lo establecemos así, no habrá forma de que funcione.

Seguidamente, una vez arrancado nuestro sistema entrar en la configuración del kernel en Floppy, IDE, and other block devices en los núcleos 2.0 o bien en Block Devices solamente en los nucleos 2.2 en adelante, y seleccionar como módulo el parámetro Parallel port IDE device support. Seguidamente seleccionar, al menos, también como módulos los siguientes:

De esta forma ya tenemos los módulos para hacer funcionar la grabadora como unidad lectora, aunque no se recomienda; si lo prefiere puede incluirlo en el kernel, pero primero asegúrese de que funciona bien como módulo antes.

Seguidamente procedemos a la recompilación e instalación de los módulos en su lugar, y sin necesidad de reiniciar (a no ser que se actualice partes no compiladas como módulos) ejecute depmod -a para crear las dependencias de los módulos a fin de poder cargarlos con modprobe, kerneld si tiene funcionando un nucleo 2.0 o kmod si tiene un 2.2 o superior.

Comenzamos por cargar el modulo paride, el epat, y por último el módulo del driver que vayamos a usar; como nos interesa poder usar nuestra grabadora tenemos que cargar el pg para que nos reconozca la grabadora cdrecord (equivalente al módulo sg en SCSI) y el pcd para usar la grabadora como unidad lectora (el equivalente a sr_mod en SCSI).

No intente activar la emulación SCSI con estas unidades porque será inutil y una verdadera perdida de tiempo. Como he dicho antes, el módulo pg hace las funciones del controlador génerico SCSI, y es el que busca el cdrecord para hacer funcionar la unidad grabadora.

Para usar nuestra unidad como lectora debemos montar la unidad con la orden:

mount /dev/pcd0 /cdrom

No obstante, si piensa utilizar su grabadora como lector, o para extracción de audio asiduamente, le recomiendo que lea la sección ¿Es recomendable utilizar la grabadora para extraer o leer?, su bolsillo lo acabará agradeciendo.

Si no existe el dispositivo /dev/pcd0 puede crearlo con el siguiente bucle:

for i in 0 1 2 3 ; do mknod /dev/pcd$i b 46 $i ; done

Si dispone de un kernel de la serie 2.1.x o 2.2.x antes de usar los controladores de cualquier dispositivo de puerto paralelo ha de cargar el módulo parport.o, el cual hace de interfaz para poder tener cargados y operativos varios dispositivos de puerto paralelo al mismo tiempo como unidades ZIP, discos y lectores/grabadores de CD e impresoras y scanners simultáneamente (genial ¿¿¿no??? ;-)).

Para que la carga del modulo parport sea automatica podemos configurar en el archivo /etc/modules.conf o /etc/conf.modules la opción del puerto paralelo para su carga automatica por el kernel de la siguiente forma:

alias parport_lowlevel parport_pc
options parport_pc io=0x378 irq=7 dma=3

Este es un ejemplo de como debemos de pasarle la configuración de nuestro sistema del puerto paralelo al kernel para que nos lo detecte, esta misma configuración nos sirve tanto para la impresora, como para el escanner o la unidad grabadora.

En el caso poco probable de que el controlador de protocolo no funcione correctamente pruebe a compilar también el MicroSolutions backpack protocol, aunque todos deberian de funcionar con el EPAT/EPEZ.

Como todavía no ha caído en mis manos una grabadora de este tipo no he podido hacer pruebas ni nada por el estilo, los detalles de la configuración del kernel los he elaborado a partir de lo que he podido recopilar leyendo por la Web y la ayuda prestada por colaboradores.

Apelo a la colaboración de la comunidad linuxera a fin de completar este apartado con lo que más le vaya haciendo falta, para estar a la altura de los anteriores; bien se lo merece el esfuerzo mostrado por las personas que hacen posible que dispositivos tan raros y minoritarios sean capaces de ser utilizados por Linux.

3.4 Configuración del Kernel para grabadoras USB

Las grabadoras USB son unidades realmente nuevas y necesitan de controladores realmente nuevos, de tal forma que para hacer un uso realmente eficiente de las mismas se recomienda que se actualize a un nucleo del sistema que lleve soporte USB integrado de serie. Hasta el momento solo los nucleos de desarroyo 2.4.0-testX llevan este soporte, y como viene siendo habitual estos nucleos requieren al mismo tiempo de una actualización de nuestras utilidades del sistema.

Estas utilidades basicas son las modutils que son necesarias al menos la versión 2.3.15, con versiones anteriores no funciona. Para comprobar nuestra version de las modutils podemos realizar la siguiente operación:

# lsmod -V
lsmod version 2.3.15

También nos es necesario el programa usbmgr en una versión 0.3.5 o superior que es un demonio que se encarga de la carga y descarga de los distintos modulos de dispositivos USB dependiendo de dos archivos de configuración. El primero es el preload.conf que carga ciertos modulos nada mas cargar el demonio para disponer de soporte USB en el sistema, y el segundo archivo es el usbmgr.conf que contiene las configuraciones de los distintos dispositivos USB que se pueden encontrar conectados y se pueden desconectar desde el HUB USB. Este programa se puede descargar desde la dirección de Internet http://www.wonder.ne.jp/~shuu/usbmgr/.

No está probado el uso de backports (Adaptaciones del codigo de los controladores a versiones posteriores del nucleo) del interfaz USB de los nucleos 2.4 en los 2.2, aunque tengo entedido que ciertos dispositivos funcionan considerablemente lentos.

Lo primero antes de configurar el nucleo es asegurarnos de que en nuestra BIOS tenemos el soporte USB activado. El siguiente paso es actualizar nuestro sistema para alvergar al nuevo nucleo (esto es lo recomendado, aunque no se tiene porque seguir este procedimiento), por lo que es necesario actualizar nuestras modutils y el pppd a la version 2.4.0 si queremos conectar a internet con nuestro modem y nuestro nuevo nucleo. Hay que actualizar mas algunas utlidades mas que vienen descritas en el archivo /Documentation/Changes dentro del directorio de los fuentes del nucleo 2.4.0-test. Mirar para tener una clara referencia de lo que es necesario actualizar y lo que no.

Una vez actualizadas las utilidades procedemos a la instalacion de los fuentes del nucleo nuevo en /usr/src/linux de la version 2.4.0-test9 que es la disponible a fecha de la escritura de estas lineas. Lo primero es asegurarnos de que el directorio /usr/src/linux no exista en la ruta /usr/src para alvergar allí el nuevo nucleo de la siguiente forma:

# tar xvzf linux-2.4.0-test9.tar.gz -C/usr/src

Una descomprimido accedemos al directorio /usr/src/linux y procedemos al habitual make menuconfig. No voy a explicar aqui como se configura este nuevo nucleo ya que esta no es la labor del mismo, por lo que tendras que habituarte al nuevo sistema y opciones, ya que es muy distinto a los anteriores. Solo voy a poner las opciones minimas necesarias para la utlización del dispositivo en concreto. De forma esquematizada aqui se pueden ver los controladores necesarios:

Code maturity level options  --->
        [*] Prompt for development and/or incomplete code/drivers

Loadable module support  --->
        [*] Enable loadable module support
        [*]   Set version information on all module symbols
        [*]   Kernel module loader

Block devices  --->
        <M> Loopback device support

SCSI support  --->
        <M> SCSI support
        <M>   SCSI disk support
        <M>   SCSI CD-ROM support
        [*]     Enable vendor-specific extensions (for SCSI CDROM)
        (2) Maximum number of CDROM devices that can be loaded as modules
        <M>   SCSI generic support
        [*]   Enable extra checks in new queueing code
        [*]   Verbose SCSI error reporting (kernel size +=12K)
        [*]   SCSI logging facility
        SCSI low-level drivers  --->
                Aqui has de desactivar cualquier controladora SCSI.
                No son necesarias a no ser de que dispongas de una.

File systems  --->
        <M> ISO 9660 CDROM file system support
        [*]   Microsoft Joliet CDROM extensions
        [*] /proc file system support
        <M> UDF file system support (read only)

USB support  --->
        <M> Support for USB
        [*]   USB verbose debug messages
        [*]   Preliminary USB device filesystem
        [*]   Enforce USB bandwidth allocation (EXPERIMENTAL)
         --- USB Controllers
        <M>   UHCI (Intel PIIX4, VIA, ...) support
        < >   OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support
                Aqui has de seleccionar el controlador USB en tu sistema.
                El primero suele ser habitual en placas ASUS y AOPEN.
        <M>   USB Mass Storage support

Estas son las opciones relevantes al uso de una grabadora HP CD-Writer Plus 8210e y que deberian de poder funcionar con otros modelos y marcas. Algunas de las opciones que aqui se han puesto son para la depuración de codigo y busqueda de posibles mensajes de error, aunque no son realmente necesarios pueden ayudar a encontrar problemas. Se pueden desactivar si se comprueba de que todo funciona sin problemas.

ADVERTENCIA: Has de estas habituado a la compilación e instalación de un nuevo nucleo y sus módulos. Si alguna cosa vá mal o te saltas algun paso necesario (p.e. configurar LILO) puede que no puedas volver a arrancar nunca mas. También comentar que este procedimiento se hace bajo el completo riesgo del usuario y no me hago responsable de la posible perdida de datos o el no arranque del sistema.

Después de la compilación e instalación de los modulos debemos de asegurarnos de que estan correctamente compilados, para ello accedemos al directorio /lib/modules/2.4.0-test9/kernel y comprobamos de que existan los siguientes modulos dentro de los siguientes subdirectorios:

fs/isofs
        isofs.o
drivers/cdrom
        cdrom.o
drivers/scsi
        scsi_mod.o
        sd.o
        sg.o
        sr_mod.o
drivers/usb
        usb-uhci.o
        usbcore.o
drivers/usb/storage
        usb-storage.o

El último paso hasta aqui es reiniciar con el nuevo núcleo.

Configuración del programa usbmgr.

Una vez obtenidos los fuentes del programa lo descomprimimos en un directorio temporal y procedemos a la lectura del archivo README. El sigueinte paso el ejecutar make y una vez terminado make install.

En la página del programa se encuentran dos nuevos archivos de configuración actualizados para soportar mas dispositivos USB que son el usbmgr.conf del 4 de Septiembre del 2.000 y el network, un script para el uso de adaptadores ethernet, es recomendable que se descarguen dichos archivos y se instalen en /etc/usbmgr/.

Una vez instalado entramos en el directorio /etc/usbmgr y editamos el archivo usbmgr.conf.

Ahora solo queda ejecutar el programa usbmgr. Una vez ejecutado quedará residente en un segundo plano actuado a modo de demonio comprobando el bus USB para cada dispositivo que se conecte y desconecte, cargando y descargando los módulos necesarios para hacerlo funcionar, dependiendo del dispositivo que conectemos y tengamos configurado. Ya que no nos mostrará ningun mensaje cuando lo ejecutemos deveremos de ver la salida del nucleo que deja impresa en el archivo /var/log/messages y observando las siguientes lineas:

# tail -n50 /var/log/messages
Sep 15 12:55:28 usbmgr[326]: start 0.3.5
Sep 15 12:55:28 usbmgr[328]: open error "/etc/usbmgr/preload.conf"
Sep 15 12:55:28 kernel: usb.c: registered new driver usbdevfs
Sep 15 12:55:28 kernel: usb.c: registered new driver hub
Sep 15 12:55:28 kernel: usb-uhci.c: $Revision: 1.237 $ time 11:07:02 Sep 10 2000
Sep 15 12:55:28 kernel: usb-uhci.c: High bandwidth mode enabled
Sep 15 12:55:28 kernel: usb-uhci.c: USB UHCI at I/O 0xfce0, IRQ 10
Sep 15 12:55:28 kernel: usb-uhci.c: Detected 2 ports
Sep 15 12:55:28 kernel: usb.c: new USB bus registered, assigned bus number 1
Sep 15 12:55:28 kernel: usb.c: USB new device connect, assigned device number 1
Sep 15 12:55:28 kernel: usb.c: kmalloc IF c2e1f760, numif 1
Sep 15 12:55:28 kernel: usb.c: new device strings: Mfr=0, Product=2, SerialNumber=1
Sep 15 12:55:28 kernel: usb.c: USB device number 1 default language ID 0x0
Sep 15 12:55:28 kernel: Product: USB UHCI Root Hub
Sep 15 12:55:28 kernel: SerialNumber: fce0
Sep 15 12:55:28 kernel: hub.c: USB hub found
Sep 15 12:55:28 kernel: hub.c: 2 ports detected
Sep 15 12:55:28 kernel: hub.c: ganged power switching
Sep 15 12:55:28 kernel: hub.c: standalone hub
Sep 15 12:55:28 kernel: hub.c: global over-current protection
Sep 15 12:55:28 kernel: hub.c: power on to power good time: 2ms
Sep 15 12:55:28 kernel: hub.c: hub controller current requirement: 0mA
Sep 15 12:55:28 kernel: hub.c: port 1 is removable
Sep 15 12:55:28 kernel: hub.c: port 2 is removable
Sep 15 12:55:28 kernel: hub.c: local power source is good
Sep 15 12:55:28 kernel: hub.c: no over-current condition exists
Sep 15 12:55:28 kernel: hub.c: enabling power on all ports
Sep 15 12:55:28 kernel: usb.c: hub driver claimed interface c2e1f760
Sep 15 12:55:28 kernel: usb.c: kusbd: /sbin/hotplug add 1
Sep 15 12:55:28 kernel: usb.c: kusbd policy returned 0x0
Sep 15 12:55:28 usbmgr[328]: "usb-uhci" was loaded
Sep 15 12:55:28 usbmgr[332]: mount /proc/bus/usb
Sep 15 12:55:28 usbmgr[328]: USB device is matched the configuration
Sep 15 12:55:28 usbmgr[328]: "none" isn't loaded

Podemos comprobar que tenemos los dispositivos USB activos en el kernel comropbando otras configuraciones:

Es hora de conectar en caliente

Llegó el momento de utilizar nuestra unidad, para ello conectamos la unidad a la toma de alimentación y luego el conector USB desde la unidad a nuestro ordenador, y si vamos observando los mensajes del syslog, normalmente haciendo un tail -f /var/log/messages podremos observar la siguiente secuencia de mesajes generados por el mismo controlador USB para mostrarnos la información necesaria:

Sep 15 13:13:07 kernel: hub.c: port 1 connection change
Sep 15 13:13:07 kernel: hub.c: portstatus 101, change 1, 12 Mb/s
Sep 15 13:13:08 kernel: hub.c: portstatus 103, change 0, 12 Mb/s
Sep 15 13:13:08 kernel: usb.c: USB new device connect, assigned device number 2
Sep 15 13:13:08 kernel: usb.c: kmalloc IF c2e1f660, numif 1
Sep 15 13:13:08 kernel: usb.c: new device strings: Mfr=1, Product=2, SerialNumber=0
Sep 15 13:13:08 kernel: usb.c: USB device number 2 default language ID 0x409
Sep 15 13:13:08 kernel: Manufacturer: Shuttle Technology Inc.
Sep 15 13:13:08 kernel: Product: HP USB CD-Writer Plus
Sep 15 13:13:08 kernel: usb.c: unhandled interfaces on device
Sep 15 13:13:08 kernel: usb.c: USB device 2 (prod/vend 0x3f0/0x107) is not claimed byany active driver.
Sep 15 13:13:08 kernel:   Length              = 18
Sep 15 13:13:08 kernel:   DescriptorType      = 01
Sep 15 13:13:08 kernel:   USB version         = 1.00
Sep 15 13:13:08 kernel:   Vendor:Product      = 03f0:0107
Sep 15 13:13:08 kernel:   MaxPacketSize0      = 64
Sep 15 13:13:08 kernel:   NumConfigurations   = 1
Sep 15 13:13:08 kernel:   Device version      = 2.00
Sep 15 13:13:08 kernel:   Device Class:SubClass:Protocol = 00:00:00
Sep 15 13:13:08 kernel:     Per-interface classes
Sep 15 13:13:08 kernel: Configuration:
Sep 15 13:13:08 kernel:   bLength             =    9
Sep 15 13:13:08 kernel:   bDescriptorType     =   02
Sep 15 13:13:08 kernel:   wTotalLength        = 0027
Sep 15 13:13:08 kernel:   bNumInterfaces      =   01
Sep 15 13:13:08 kernel:   bConfigurationValue =   01
Sep 15 13:13:08 kernel:   iConfiguration      =   03
Sep 15 13:13:08 kernel:   bmAttributes        =   40
Sep 15 13:13:08 kernel:   MaxPower            =    0mA
Sep 15 13:13:08 kernel:
Sep 15 13:13:08 kernel:   Interface: 0
Sep 15 13:13:08 kernel:   Alternate Setting:  0
Sep 15 13:13:08 kernel:     bLength             =    9
Sep 15 13:13:08 kernel:     bDescriptorType     =   04
Sep 15 13:13:08 kernel:     bInterfaceNumber    =   00
Sep 15 13:13:08 kernel:     bAlternateSetting   =   00
Sep 15 13:13:08 kernel:     bNumEndpoints       =   03
Sep 15 13:13:08 kernel:     bInterface Class:SubClass:Protocol =   ff:00:00
Sep 15 13:13:08 kernel:     iInterface          =   04
Sep 15 13:13:08 kernel:     Endpoint:
Sep 15 13:13:08 kernel:       bLength             =    7
Sep 15 13:13:08 kernel:       bDescriptorType     =   05
Sep 15 13:13:08 kernel:       bEndpointAddress    =   01 (out)
Sep 15 13:13:08 kernel:       bmAttributes        =   02 (Bulk)
Sep 15 13:13:08 kernel:       wMaxPacketSize      = 0040
Sep 15 13:13:08 kernel:       bInterval           =   00
Sep 15 13:13:08 kernel:     Endpoint:
Sep 15 13:13:08 kernel:       bLength             =    7
Sep 15 13:13:08 kernel:       bDescriptorType     =   05
Sep 15 13:13:08 kernel:       bEndpointAddress    =   82 (in)
Sep 15 13:13:08 kernel:       bmAttributes        =   02 (Bulk)
Sep 15 13:13:08 kernel:       wMaxPacketSize      = 0040
Sep 15 13:13:08 kernel:       bInterval           =   00
Sep 15 13:13:08 kernel:     Endpoint:
Sep 15 13:13:08 kernel:       bLength             =    7
Sep 15 13:13:08 kernel:       bDescriptorType     =   05
Sep 15 13:13:08 kernel:       bEndpointAddress    =   83 (in)
Sep 15 13:13:08 kernel:       bmAttributes        =   03 (Interrupt)
Sep 15 13:13:08 kernel:       wMaxPacketSize      = 0002
Sep 15 13:13:08 kernel:       bInterval           =   20
Sep 15 13:13:08 kernel: usb.c: kusbd: /sbin/hotplug add 2
Sep 15 13:13:08 kernel: usb.c: kusbd policy returned 0x0
Sep 15 13:13:08 usbmgr[328]: USB device is matched the configuration
Sep 15 13:13:08 kernel: usb.c: registered new driver usb-storage
Sep 15 13:13:08 kernel: scsi0 : SCSI emulation for USB Mass Storage devices
Sep 15 13:13:08 kernel: scsi : 1 host.
Sep 15 13:15:55 kernel:   Vendor: HP        Model: CD-Writer+ 8200   Rev: 1.0f
Sep 15 13:15:55 kernel:   Type:   CD-ROM            ANSI SCSI revision:  02
Sep 15 13:15:55 kernel: Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
Sep 15 13:15:55 kernel: sr0: scsi3-mmc drive: 8x/24x writer cd/rw xa/form2 cdda tray
Sep 15 13:15:55 kernel: Uniform CD-ROM driver Revision: 3.11
Sep 15 13:13:08 kernel: WARNING: USB Mass Storage data integrity not assured
Sep 15 13:13:08 kernel: USB Mass Storage device found at 2
Sep 15 13:13:08 kernel: usb.c: usb-storage driver claimed interface c2e1f660
Sep 15 13:13:08 kernel: USB Mass Storage support registered.
Sep 15 13:13:08 usbmgr[328]: "scsi_mod" was loaded
Sep 15 13:13:08 usbmgr[328]: "sr_mod" was loaded
Sep 15 13:13:08 usbmgr[328]: "usb-storage" was loaded

Si observamos las primeras lineas nos encontramos con la información de que ha detectado que se ha conectado un nuevo dispositivo en el sistema USB y trata de identificarlo segun la información que el mismo dispositivo le dá al sistema y nos dá unos datos mas que valiosos para que el programa usbmgr lo carge la proxima vez automaticamente:

Sep 15 13:13:08 kernel: Manufacturer: Shuttle Technology Inc.
Sep 15 13:13:08 kernel: Product: HP USB CD-Writer Plus
Sep 15 13:13:08 kernel: usb.c: unhandled interfaces on device
Sep 15 13:13:08 kernel: usb.c: USB device 2 (prod/vend 0x3f0/0x107) is not claimed byany active driver.

En donde se puede leer (prod/vend 0x3f0/0x107) son los datos necesarios para configurar nuestra unidad, sea cual sea, en nuestro sistama editando el archivo /etc/usbmgr/usbmgr.conf y añadiendo la linea siguiente:

vendor 0x3f0 product 0x107 module scsi_mod, sr_mod, usb-storage

Como se puede observar, con este metodo pueden estar soportadas todas las unidades de CD, CD-R, CD-RW, DVD, DVD-R, DVD-RAM y DVD-RW en linux, simplemente identificando el dispositivo y añadiendo una linea al archivo de configuración correspondiente.

Las 13 últimas lineas son las importantes.Podemos observar que pone scsi0 : SCSI emulation for USB Mass Storage devices, esta linea es realmente importante, ya que nos dice que está emulando dispositivos SCSI sobre el bus USB. A partir de la siguente linea scsi : 1 host. nos empieza a mostrar la información sobre la unidad conectada que la está detectando como una unidad SCSI mas. La linea Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0 nos dice en que dispositivo SCSI podemos acceder a la unidad y su identifucación SCSI en el sistema y que podemos leer de ella desde el dispositivo SCSI /dev/sr0.

Por lo visto hay veces que la identificación del dispositivo en el sistema no funciona correctamente siempre. Por lo que no se muestra la información del vendedor, por lo que es necesario desconectar la unidad y volver a reconectarla otra vez. Normalmente después de una segunda o tercera vez suele funcionar bien.

Probando

Por fin llegó el momento de probar la unidad a ver si ha sido reconocida en el sistema y accesible de forma normal, por lo que introducimos un disco de CD-ROM normal, no uno virgen, en la unidad y procedemos a montar el dispositivo para comprobar que realmente funciona.

# mount /dev/sr0 /cdrom

Si no nos muestra ningun mensaje de error procederemos a realizar un listado del contenido del disco para comprobar de que lo ha leido correctamente:

# ls -l /cdrom

El resultado debe ser que vemos el contenido del disco de CD-ROM.

La siguiente prueba ha de realizarse con el programa cdrecord para comprobar de que de verdad es capaz de detectarlo, para esto es necesario instalarse la última versión de desarroyo del mismo, la 1.10a04 o versión posterior que viene en el paquete cdrtools-1.10a04 que se puede encontrar en la web del mismo.

# cdrecord -scanbus
Cdrecord 1.10a04 (i586-pc-linux-gnu) Copyright (C) 1995-2000 Jörg Schilling
Linux sg driver version: 3.1.16
Using libscg version 'schily-0.4'
scsibus0:
        0,0,0     0) 'HP      ' 'CD-Writer+ 8200 ' '1.0f' Removable CD-ROM
        0,1,0     1) *
        0,2,0     2) *
        0,3,0     3) *
        0,4,0     4) *
        0,5,0     5) *
        0,6,0     6) *
        0,7,0     7) *

Seguidamente obtendremos información mas detallada sobre las capacidades de la unidad:

# cdrecord -prcap -inq dev=0,0,0
Cdrecord 1.10a04 (i586-pc-linux-gnu) Copyright (C) 1995-2000 Jörg Schilling
scsidev: '0,0,0'
scsibus: 0 target: 0 lun: 0
Linux sg driver version: 3.1.16
Using libscg version 'schily-0.4'
Device type    : Removable CD-ROM
Version        : 2
Response Format: 1
Vendor_info    : 'HP      '
Identifikation : 'CD-Writer+ 8200 '
Revision       : '1.0f'
Device seems to be: Generic mmc CD-RW.

Drive capabilities, per page 2A:

  Does read CD-R media
  Does write CD-R media
  Does read CD-RW media
  Does write CD-RW media
  Does not read DVD-ROM media
  Does not read DVD-R media
  Does not write DVD-R media
  Does not read DVD-RAM media
  Does not write DVD-RAM media
  Does support test writing

  Does read Mode 2 Form 1 blocks
  Does read Mode 2 Form 2 blocks
  Does read digital audio blocks
  Does restart non-streamed digital audio reads accurately
  Does not support BURN-Proof (Sanyo)
  Does read multi-session CDs
  Does read fixed-packet CD media using Method 2
  Does not read CD bar code
  Does not read R-W subcode information
  Does read raw P-W subcode data from lead in
  Does return CD media catalog number
  Does return CD ISRC information
  Does not support C2 error pointers
  Does not deliver composite A/V data

  Does play audio CDs
  Number of volume control levels: 256
  Does support individual volume control setting for each channel
  Does support independent mute setting for each channel
  Does not support digital output on port 1
  Does not support digital output on port 2

  Loading mechanism type: tray
  Does support ejection of CD via START/STOP command
  Does not lock media on power up via prevent jumper
  Does allow media to be locked in the drive via PREVENT/ALLOW command
  Is not currently in a media-locked state
  Does not support changing side of disk
  Does not have load-empty-slot-in-changer feature
  Does not support Individual Disk Present feature

  Maximum read  speed in kB/s: 4234
  Current read  speed in kB/s: 4234
  Maximum write speed in kB/s: 706
  Current write speed in kB/s: 706
  Buffer size in KB: 2048

Últimas notas

Sin duda lo primero antes de ponernos a utilizar la unidad es realizar pruebas con ella y con el cdrecord, sigue las instrucciones de como grabar con el cdrecord en modo de pruebas y con el laser desactivado para comprobar de que no saca errores a la hora de grabar para evitar la perdida de datos y de discos virgenes.

Nunca jugar al rededor de los dispositivos USB conectados al bus como la unidad grabadora u otras. Puede causar perdidadas de datos, perdidas de CDs y en algunos casos que el sistema linux se bloque. Antes de desconectar la unidad en caliente asegurate de que no haya ningun disco dentro.

Hasta el momento de las pruebas con la HD CD-Writer solo se pueden usar los programas mkisofs y cdrecord en su versión de desarroyo, ignoro si es posible la utilización del programa cdrdao. Por otro lado no hay problemas para grabar CDs con esta unidad conectada al sistema. El rendimiento y la estabilidad son buenos.

El uso de front-ends como X-CD-Roast u otros como kisocd, Gnome Toaster y similares es posible que no funcione y de errores, como también es posible que no de errores y funcionen.

3.5 Configurar el Kernel para uso de unidades lectoras IDE/ATAPI con unidades grabadoras SCSI.

Mucha gente puede tener perfectamente esta configuración, una unidad grabadora SCSI conjuntamente con una unidad lectora IDE/ATAPI desde la que hacer las copias de los discos sin necesidad de hacer imagenes. Como pueda pensar mucha gente, el uso de una unidad lectora es simplemente para leer, entonces ¿es realmente necesaria activar la emulación SCSI para este tipo de unidades?

La respuesta no es simple, no y . ¿Como que no y ? Lo que sucede es que para que ciertos programas detecten nuestra unidad como lectora desde la que hacer las duplicaciones de los CDs, éstas han de ser SCSI, por lo que la emulación se la tendríamos que activar si queremos realizar esta operación. Pero es una perdida de tiempo tener que estar reiniciando cada vez que se quiera activar o desactivar la emulación SCSI, por lo que la solución es compilar como módulos tanto el soporte de IDE/ATAPI como el de Emulación SCSI, con lo que podremos cambiar de interface tan solo con cargar o descargar el módulo correspondiente.

De esta forma para cargar el módulo de soporte IDE/ATAPI para unidades de CD/DVD-ROM deberemos proceder a realizar la siguiente operación:

insmod ide-cd

y para descargarlo

rmmod ide-cd

aunque el primer paso nada mas reiniciado el sistema se puede suprimir si tenemos perfectamente configurado nuestro /etc/conf.modules o /etc/modules.conf (depende de la distribución) de manera que nos permitirá que en el momento en el que accedamos al dispositivo correspondiente a la unidad de CD, éste nos carga el módulo. Aunque para que luego nos detecte la unidad como una SCSI, ahí si que tendremos que descargar manuelmente el módulo y cargar, manualmente, el de la emulacuión SCSI de la siguiente forma:

insmod ide-scsi

y para descargarlo

rmmod ide-scsi

Después de este proceso estaremos como al principio, como recién reiniciada la maquina, hablando de éste módulo, por supuesto.

Éste método también sirve para cargar y descargar el interfaz de emulación SCSI cuando tenemos tanto las unidades lectoras como grabadoras IDE/ATAPI y queremos cambiar de interfaz sin reiniciar. Advierto que he recivido noticias de que hay veces que no funcionan las grabadoras y/o lectoras en esta situación. Es posible que sea un error de la emulación SCSI cuando se carga como módulo, ya que cuando se activa en el nucleo al iniciar el sistema este problema no aparece.

3.6 Otras opciones del kernel recomendables

En linux (y en unix) existe la posibilidad de poder acceder, leer y escribir en sistemas de archivos que no se encuentren en una partición o en un disco, sino, en un fichero. ¿Cómo? ¿En un fichero? Si, así es, y para eso solo necesitamos tres cosas, un dispositivo loopback, un creador de sistemas de archivos como el mke2fs, mkdosfs, mkisofs, etc. y el comando mount.

Para asegurarnos de que incluimos esta opción loopback en el kernel como módulo entramos en la configuración del kernel mediante make menuconfig, y accedemos al menú Floppy, IDE, and other block devices; justo tras Additional Block Devices se encuentra la opción Loopback device support la cual recomiendo seleccionar como módulo, y si tenemos perfectamente configurado nuestro /etc/conf.modules, al intentar montar el archivo podremos comprobar como el módulo se carga en el sistema automáticamente. Para esto solo tenemos que asegurarnos de que la siguiente linea se encuentra en el archivo dicho anteriormente:

alias block-major-7       loop

En el caso de no cargarse automáticamente siempre podremos cargarla de forma manual tecleando: insmod loop.

También debemos asegurarnos que en dev existan los ficheros especiales de dispositivo loopX:

brw-rw----   1 root     disk       7,   0 Jul  1  1996 /dev/loop0
brw-rw----   1 root     disk       7,   1 Jul  1  1996 /dev/loop1
brw-rw----   1 root     disk       7,   2 Jul  1  1996 /dev/loop2
...

si no los tiene, créelos con el siguiente bucle:

for i in 0 1 2 3 4 5 6 7; do mknod /dev/loop$i b 7 $i ; done

así, para montar una imagen para revisarla, en el directorio /mnt/imagenesCD haremos:

mount -o loop imagenCD.iso /mnt/imagenesCD

Una vez hecho esto, acceda al directorio /mnt/imagenesCD y podrá ver los contenidos de la imagen. Las imágenes ISO9660 son de sólo lectura, por lo que no podrá modificarlas de ninguna manera, claro, a menos que genere otra imagen nueva.

Como puede observar no he puesto el comando -t iso9660 para especificarle que es una imagen ISO9660, ya que automáticamente lo debe detectar.

Si tiene pensado hacer imágenes Joliet, le recomiendo que cargue en el kernel el soporte para Joliet, en el menú principal Filesystems, activar el soporte para ISO9660 en los kernels 2.0.33 en adelante, y en los superiores a 2.0.37, o 2.1.x o 2.2.x activar Microsoft Joliet CD-ROM extensions; y dentro del submenú Native Language Support activar Codepage 437, 850, NLS ISO 8859-1 y NLS ISO 8859-15 (éste último es una actualización del NLS ISO 8859-1 que corrigue ciertos caracteres y añade el cáracter del EURO, si no se dispone del número 15 incluir el 1).

Recomiendo al menos incluir éstos como parte del kernel de arranque, aunque si no le sobra mucha memoria inclúyalos como módulos, que el kernel se ocupará de cargarlos cuando sea necesario. El resto de Codepages y NLSs recomiendo que los ponga como módulos si decide activarlos, aunque los más utilizados son los mencionados anteriormente.


Página siguiente Página anterior Índice general