Grabadoras de CD - Como <author>Leandro Terrés, <tt><htmlurl url="mailto:lord_lt@retemail.es" name="lord_lt@retemail.es"></tt> &nl; y Francisco J. Montilla, <tt><htmlurl url="mailto:pacopepe@insflug.org" name="pacopepe@insflug.org"></tt> <date>v1.6.1, 21 de Noviembre de 1999 <abstract> Introducción al uso de Grabadoras de CD-R, CD-RW y DVD bajo Linux, así como descripción del uso de los programas necesarios. Este documento se diferencia del Creación-CDRoms-Como por su enfoque, más centrado en el uso de distintos tipos de grabadoras, y las últimas novedades software. Es conveniente que también lea el Creacion-CDRoms-Como, enfocado más en la plataforma SCSI, que profundiza más en los aspectos técnicos de la tecnología CD-R y en sus posibilidades. </abstract> <toc> <sect>Introducción <p> Este documento pretende guiar al usuario, de forma que sepan qué tienen que hacer y cómo solucionar los posibles problemas que puedan plantearse a lo largo del camino de la grabación de CDRoms. Se da una pequeña explicación sobre los sistemas de ficheros para los CDs (todo a su tiempo) y de cómo se usan los programas más utilizados para grabar en Linux. Por supuesto, y en último lugar, la omnipresente <it/PUF/ (<it/Preguntas de Uso Frecuente/) por si se escapa algo. Recomiendo leer todos los apartados, uno detrás de otro, para ampliar conocimientos, que resultará beneficioso a la hora de buscar posibles irregularidades, fallos o errores en la elaboración de este documento o en lo que se refiere a conceptos en Linux en sí. Y ya por último indicar que hasta la versión <tt/1/ de este documento explicaremos cómo se graban CDs normales, pero para la siguiente versión, la <tt/2.0/ intentaremos ir mas allá, a las grabadoras DVD, momento que bajo mi punto de vista no tardará en llegar. <sect1>Aportaciones <label id="Aportaciones"> <p> Recuerde que este documento está en desarrollo y cualquiera que pueda aportar su granito de arena con sus problemas y soluciones, correcciones (ya que seguro que me he equivocado en algún sitio) o adición de detalles; siendo además amablemente incluido como colaborador. (Ver sección <ref id="creditos" name="Créditos">) Para hacerlo sólo tiene que o bien utilizar el sistema en línea de Insflug, <tt><htmlurl url="http://www.insflug.org/comos/comos.php3?accion=titulo&tog=com&parm=Grabadoras&ini=x" name="http://www.insflug.org/comos/comos.php3"></tt> de adición al sistema de fe de erratas, o sugerencias, para que inmediatamente esté disponible para todos, y enviar un mail a <tt><htmlurl url="mailto:lord_lt@retemail.es" name="lord_lt@retemail.es"></tt> Animo a leer este documento con paciencia, sin reparos en participar con correcciones o añadiduras al mismo, para que toda la comunidad Linux se beneficie de él. Las felicitaciones y enhorabuenas también son bien recibidas ;-). <sect>Grabadoras soportadas <label id="soportadas"> <p> Podemos dividir el soporte a una grabadora bajo LiNUX en tres aspectos: <enum> <item>Que Linux tenga soporte genérico para el bus del que <it/cuelga/ la grabadora. <item>Que el software específico de grabación soporte la utilización de dicho bus para grabar. <item>Que además de lo anterior, el software específico de grabación soporte la grabadora en concreto. </enum> Respecto al punto 1, Linux soporta genéricamente grabadoras CD-R, CD-RW, DVD-R, DVD-RW y DVD-RAM con interfaces: <itemize> <item>SCSI <item>IDE/ATAPI <item>IDE/ATAPI por puerto paralelo. </itemize> Podemos decir por tanto que, a excepción de las grabadoras SCSI, con las que <bf/además/ es preciso que la <bf/controladora SCSI/ esté soportada por Linux, hoy en día la capacidad de utilizar una grabadora en concreto reside enteramente en el programa utilizado para grabar. En la actualidad, el único programa con desarrollo activo es <tt/cdrecord/; por lo que la cuestión dependerá enteramente de que <tt/cdrecord/ la soporte o no; a grosso modo, podemos afirmar que casi todas las grabadoras están soportadas. En <tt><htmlurl url="http://www.guug.de:8080/cgi-bin/winni/lsc.pl" name="http://www.guug.de:8080/cgi-bin/winni/lsc.pl"></tt> Winfried Truemper mantiene un listado de las soportadas. Si entre ellas está la suya, hay un 99% de posibilidades de que pueda utilizarla bajo Linux sin problemas. No obstante, la última palabra la tiene siempre la documentación de <tt/cdrecord/: vea la sección <ref id="cdrecord" name="cdrecord">. Aun en el caso de que su grabadora no estuviera soportada, le quedaría la opción de crear las imágenes bajo Linux, y grabarlas bajo cualquier otro sistema operativo. <sect>Configuración del Kernel <p> El primer paso es configurar el kernel para que Linux vea nuestras grabadoras y/o lectores correctamente, tanto si son SCSI como IDE o ATAPI por puerto paralelo. 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 <tt>/usr/src/linux</tt>, donde normalmente se encuentran los fuentes. Para asegurarnos de que nada raro pueda pasar, ejecutaremos <tt/make mrproper/ lo que elimina todos los binarios, incluso las configuraciones; 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 <tt/make menuconfig/ si queremos interfaz ncurses para el shell o <tt/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 <tt/make config/ y en el que tendrá que poner <tt/y (si)/, <tt/n (no)/ y/o <tt/m (módulo)/ el 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 <tt/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 <it/Kernel Como/ que se encuentra en <tt><htmlurl url="http://www.insflug.org" name="http://www.insflug.org"></tt>. <sect1>Configurar el Kernel para grabadoras SCSI <label id="scsi"> <p> 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 <it/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 el CD, 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 <it/Adaptec/, <it/Advansys/ y las basadas en los chip <it/Symbios 53c8xx/ (<it/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 o el nombre del controlador de windows (sólo en última instancia). 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 <tt/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, <tt/SCSI generic support/, que proporciona el interfaz ASPI, (para poder grabar) y el <tt/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 <tt/y/ también si quiere poder usarlo. Si por casualidad tiene la grabadora como unidad externa, y la controladora SCSI dedicada en <it/exclusiva/ a ella, recomiendo que ponga el driver de la controladora como módulo, es decir, poniendo <tt/m/ en lugar de <tt/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 inicializará y escaneará los dispositivos de nuevo 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 <tt/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 <ref id="alvuelo" name="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 <tt>/dev/scdX</tt> o <tt>/dev/srX</tt> (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 <tt>/dev/MAKEDEV</tt>, o bien el que trae el <tt/X-CD-Roast/ (sección <ref id="xcdroast" name="X-CD-Roast">) o bien <it/a mano/ con el comando <tt/mknod/ con este bucle: <tscreen><verb> 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 </verb></tscreen> Del mismo modo, si lo ha hecho como módulo, sólo tendrá que cargar los módulos SCSI en el siguiente orden: <enum> <item>Módulo <tt/scsi_mod.o/ que es el driver principal del que cuelgan todos: <tscreen><verb> insmod scsi_mod </verb></tscreen> <item> Seguido del módulo de soporte para SCSI genérico (proporciona el interfaz ASPI <it/Advanced SCSI Programming Interface/, para poder grabar CDs, o usar algunos programas con unidades de cinta, escáneres, etc) <tt/sg.o/ y el de soporte de CD-ROMs SCSI, <tt/sr_mod.o/: <tscreen><verb> insmod sg insmod sr_mod </verb></tscreen> <item> Por último, hacer un <tt/insmod/ al driver que corresponda a su controladora, el cual sacará un debug de lo que encuentre, de tal forma que las unidades de CD corresponderán a <tt>/dev/sr0</tt> para el primer dispositivo CD-ROM SCSI, <tt>/dev/sr1</tt> para el segundo, etc, independientemente del bus o ID SCSI en el que estén. </enum> De todas maneras si hace un <tt/cat/ al archivo <tt>/proc/scsi/scsi</tt> podrá ver qué ID SCSI se tienen sus dispositivos, dato indispensable para determinar los interfaces genéricos <tt>/dev/sgX</tt>. Si instala <tt/X-CD-Roast/ podrá usar los dispositivos <tt>/dev/sr0</tt> hasta <tt>/dev/sr15</tt>; también puede usarlos en lugar de los dispositivos <tt>/dev/scdX</tt>, que usan otros programas, como <tt/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 <tt/kerneld/, e introduzca el alias apropiado a la controladora en <tt>/etc/conf.modules</tt>, para que la carga de los módulos sea automática. Si tiene dudas sobre esto, lea el <it/Kernel-Como/ para mejor referencia. Si ya tiene una distribución con el kernel <tt/2.2.XX/ no se cargará el <tt/kerneld/, el propio kernel hace las funciones del <tt/kerneld/. Lea también la sección <ref id="IDE" name="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... <sect2>Activación y desactivación de dispositivos SCSI <it>al vuelo</it> <label id="alvuelo"> <p> 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á. <bf/Advertencia/: Cuando hablamos de activar, nos referimos al caso en que el dispositivo está <it/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 <it>conexión/desconexión en caliente de dispositivos</it>, 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: <tscreen><verb> echo "scsi add-single-device 0 0 4 0" > /proc/scsi/scsi </verb></tscreen> El kernel activará la grabadora. En este caso, el primer <tt/0/ especifica la primera controladora, el segundo el canal de la controladora (a menos que tenga una Wide o UW SCSI. siempre será <tt/0/, ya que sólo tiene uno; no confundir canal con conector) el <tt/4/ especifica el ID SCSI, y el último <tt/0/ el LUN. (Ver sección <ref id="notacion" name="Notación estándard">) y si ejecutamos <tscreen><verb> echo "scsi remove-single-device 0 0 4 0" > /proc/scsi/scsi </verb></tscreen> La desactivaremos. <sect1>Configurar el Kernel para grabadoras IDE <label id="IDE"> <p> 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 <it/(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 <it/HP/ como las <it/7100/ o <it/7110/ o superiores. 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 <it/Tabla de Contenidos/, se detendrá con un error y habremos perdido el CD sin forma de recuperarlo. Para efectuarla, vamos al archivo <tt/ide.h/ que se encuentra en <tt>/usr/src/linux/drivers/block</tt>, y buscamos la siguiente línea: <tscreen><verb> #define WAIT_CMD (10*HZ) /* 10sec - maximum wait for an IRQ to happen */ </verb></tscreen> que tenemos que modificar de modo que quede así: <tscreen><verb> #define WAIT_CMD (1000*HZ) /* 1000sec - maximum wait for an IRQ to happen */ </verb></tscreen> Con lo cual solucionamos el problema. Parece ser que con poner <tt/400/ en vez de <tt/1000/ funciona, pero no lo he probado personalmente. De todas formas, con el paquete de los fuentes del <tt/cdrecord/ viene un archivo llamado <tt/README.ATAPI/, en que se dice que haga exactamente esto, así como cómo hacer funcionar estas grabadoras con la versión antigua de <tt/cdrecord/, es decir, la <tt/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ú <tt/Floppy, IDE and other block devices/, desactivar el soporte para <tt>IDE/ATAPI CD-ROM</tt> (¡OJO, <bf/NO/ el <tt>Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support</tt>!) y activar la emulación SCSI que sólo hay en los últimos kernel, versiones <tt/2.0.31/ en adelante y <tt/2.2.XX/, para que así los programas detecten nuestra grabadora IDE como SCSI y funcione como tal. 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 <it/ASPI/, <it/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 de 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 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 muchos 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 <tt/SCSI support/ e incluir el soporte SCSI en el kernel, junto al <tt/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). 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), ya que si 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 <ref id="PUF" name="Preguntas de Uso Frecuente">) para más detalles). <sect1>Configurar el Kernel para grabadoras IDE-ATAPI por puerto paralelo <label id="parport"> <p> ¿Grabadoras por puerto paralelo? ¿De verdad eso existe? Pues sí, existe, y cómo Linux es capaz de usarlas, ¿Cómo? Gracias <tt/cdrecord/ y a los desarrolladores del kernel que han introducido como novedad de los núcleos <it/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 <tt/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 <it/BIOS/, y, normalmente, en el menú <tt/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 <it/EPP/, 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 <tt/Floppy, IDE, and other block devices/ y seleccionar como módulo el parámetro <tt/Parallel port IDE device support/. Seguidamente seleccionar, al menos, también como módulos los siguientes: <itemize> <item><tt/Parallel port ATAPI CD-ROMs/ <item><tt/Parallel port generic ATAPI devices/ <item><tt>Shuttle EPAT/EPEZ protocol</tt> </itemize> De esta forma ya tenemos los módulos para hacer funcionar la grabadora como unidad lectora; 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 <tt/depmod -a/ para crear las dependencias de los módulos a fin de poder cargarlos con <tt/modprobe/, <tt/kerneld/ o <tt/kmod/. Comenzamos por cargar el modulo <tt/paride/, el <tt/epat/, y por último el módulo del driver que vayamos a usar; como nos interesa poder usar nuestra grabadora tenemos que cargar el <tt/pg/ para que nos reconozca la grabadora <tt/cdrecord/ (equivalente al módulo <tt/sg/ en SCSI) y el <tt/pcd/ para usar la grabadora como unidad lectora (el equivalente a <tt/sr/ en SCSI). Para usar nuestra unidad como lectora debemos montar la unidad con la orden: <tscreen><verb> mount /dev/pcd0 /cdrom </verb></tscreen> No obstante, si piensa utilizar su grabadora como lector, o para extracción de audio asiduamente, le recomiendo que lea la sección <ref id="mtbf" name="¿Es recomendable utilizar la grabadora para extraer o leer?">, su bolsillo lo acabará agradeciendo. Si no existe el dispositivo <tt>/dev/pcd0</tt> puede crearlo con el siguiente bucle: <tscreen><verb> for i in 0 1 2 3 ; do mknod /dev/pcd$i b 46 $i ; done </verb></tscreen> Si dispone del un kernel de la serie <tt/2.1.x/ o <tt/2.2.x/ antes de usar los controladores de cualquier dispositivo de puerto paralelo ha de cargar el módulo <tt/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??? ;-)). 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. <sect1>Otras opciones del kernel recomendables <label id="otraskernel"> <p> 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 dos cosas, un dispositivo <tt/loopback/ y el comando <tt/mount/. Para asegurarnos de que incluimos esta opción en el kernel como módulo entramos en la configuración del kernel mediante <tt/make menuconfig/, y accedemos al menú <tt/Floppy, IDE, and other block devices/; justo tras <tt/Additional Block Devices/ se encuentra la opción <tt/Loopback device support/ la cual recomiendo seleccionar como módulo, y si en el menú principal <it/Filesystems/ tiene seleccionada la opción <tt/Kernel automounter support/ al montar el archivo, este módulo se cargará automáticamente; si la opción anterior está como módulo deberá cargarlo a mano, sino no se cargará automáticamente ningún modulo y nos dará error. Para cargarla manualmente deberemos teclear: <tt/insmod loop/. También debemos asegurarnos que en <tt/dev/ existan los ficheros especiales de dispositivo <tt/loopX/: <tscreen><verb> 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 ... </verb></tscreen> si no los tiene, créelos con el siguiente bucle: <tscreen><verb> for i in 0 1 2 3 4 5 6 7; do mknod /dev/loop$i b 7 $i ; done </verb></tscreen> así, para montar una imagen para revisarla, en el directorio <tt>/mnt/imagenesCD</tt> haremos: <tscreen><verb> mount -o loop imagenCD.iso /mnt/imagenesCD </verb></tscreen> Una vez hecho esto, acceda al directorio <tt>/mnt/imagenesCD</tt> 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 <tt/-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 <it/Joliet/, en el menú principal <tt/Filesystems/, activar el soporte para <it/ISO9660/ en los kernels <tt/2.0.33/ en adelante, y en los superiores a <tt/2.0.37/, o <tt/2.1.x/ o <tt/2.2.x/ activar <tt/Microsoft Joliet CD-ROM extensions/; y dentro del submenú <tt/Native Language Support/ activar <tt/Codepage 437/, <tt/850/ y <tt/NLS ISO 8859-1/. Recomiendo al menos incluir esto 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 <it/Codepages/ y <it/NLS/s recomiendo que los ponga como módulos si decide activarlos, aunque los más utilizados son los mencionados anteriormente. <sect>Nomenclatura de dispositivos SCSI <p> Este es un tema para el que convendría que leyera el <it/SCSI-Howto/, pero como no hay disponible traducción, haré una breve introducción, necesaria para poder especificar parámetros necesarios al software que usaremos. Básicamente, para lo que necesitamos, hemos de saber de la existencia de los dispositivos de bloque, <tt>/dev/scdX</tt> o <tt>/dev/srX</tt>, y los dispositivos genéricos, <tt>/dev/sgX</tt>: <sect1>Dispositivos genéricos <label id="gener"> <p> En lo que a nosotros atañe, tanto para extraer audio, como para grabar bajo Linux, el kernel ha de tener activado <tt/Generic SCSI Support/, que proporciona la interfaz <it/ASPI/ necesaria. Pero, ¿de qué manera determina Linux cómo ha de tratar un mismo dispositivo? dependiendo de a qué fichero de dispositivo le hagamos referencia; si es un fichero de dispositivo de bloques, lo tratará como tal, y si es genérico, utilizará comandos <it/ASPI/. El dispositivo genérico de cada unidad conectada al bus SCSI se determina mediante su ID SCSI, haga <tt>cat /proc/scsi/scsi</tt> para ver un listado de los disponibles en su sistema, por ejemplo: <tscreen><verb> Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: QUANTUM Model: FIREBALL1280S Rev: 630G Type: Direct-Access ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 01 Lun: 00 Vendor: QUANTUM Model: FIREBALL ST4.3S Rev: 0F0C Type: Direct-Access ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 02 Lun: 00 Vendor: PIONEER Model: CD-ROM DR-U06S Rev: 1.05 Type: CD-ROM ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 04 Lun: 00 Vendor: YAMAHA Model: CDR102 Rev: 1.01 Type: WORM ANSI SCSI revision: 02 </verb></tscreen> Lo que nos interesa es la línea <tt>Host: scsi0 Channel: XX Id: XX Lun: XX</tt> de cada dispositivo; concretamente <tt/Id:/. El sistema asigna <it/dinámicamente/ dispositivos <tt/sgX/ por orden de ID a los <bf/presentes en ese mismo instante/; en el ejemplo anterior: <tscreen><verb> 00 ---> /dev/sga 01 ---> /dev/sgb 02 ---> /dev/sgc 04 ---> /dev/sgd </verb></tscreen> cuando decimos <it/dinámicamente/, nos referimos a que si por ejemplo, tiene una unidad externa magneto óptica, un zip, o similar, en el ID 03, la enciende, y hace que el kernel reescanee el bus, los dispositivos ahora serían: <tscreen><verb> 00 ---> /dev/sga 01 ---> /dev/sgb 02 ---> /dev/sgc 03 ---> /dev/sgd 04 ---> /dev/sge </verb></tscreen> Ahora, la grabadora sería <tt>/dev/sge</tt> en lugar de <tt>/dev/sgd</tt> como antes. Con lo que queremos decir que hay que tener <bf/mucho cuidado/ con la adición de dispositivos SCSI «al vuelo» y el uso de los <tt/sgX/. <sect1>Dispositivos de bloque <label id="bloque"> <p> En el caso concreto que nos ocupa, nos interesan los dispositivos ROM: <tt>/dev/scdX</tt> o la nomenclatura nueva, <tt>/dev/srX</tt>. Aquí el primer fichero de dispositivo corresponderá al primer CDROM SCSI (incluyendo grabadoras) SCSI disponible en el sistema, <tt>/dev/sr0</tt>, <tt>/dev/sr1</tt> será el segundo, etc; da igual el ID SCSI que tenga, o en el bus SCSI que esté. <sect1>Notación <it>estándar</it> <label id="notacion"> <p> En entornos *nix existe cierta notación para identificar dispositivos SCSI: <tscreen><verb> Numero_Bus_SCSI,ID_SCSI_dispositivo,LUN_dispositivo </verb></tscreen> El <it/LUN/ es un parámetro que siempre va a ser <tt/0/, menos en el caso improbable de que Vd disponga de un cargador de CDs, o un robot cambiador de magneto-ópticos o de cintas. Por tanto, un dispositivo que tuviese el ID <tt/4/ en la primera controladora SCSI del sistema sería el dispositivo SCSI del sistema <tt/0,4,0/. <sect>Sistemas de ficheros <p> Este apartado está dedicado a explicar algunas cosas para familiarizarle con la grabación de CDs, de modo que le sea mas fácil y rápido elaborarlos. Una breve explicación sobre los sistemas de ficheros de los CD-ROMs, para que pueda elegir cuál es el más conveniente en cada momento o CD: como ya sabrá, se sigue un estándar para que todos los ordenadores puedan leer los CD-ROMs sin ningún problema, para eso se creó el ISO9660 que especifica el estándar. Pero dentro de ese estándar existen algunas variantes, o más concretamente <it/extensiones/, que permiten ampliar las posibilidades originales del <it/ISO9660/, como son los nombres largos o incluso sistemas de arranque y ciertas cosas más. <sect1>Joliet y Romeo <p> Estos sistemas fueron diseñados por Microsoft para su plataforma Windows 95/NT. Permiten sistemas de archivos tipo <it/VFAT/ pero con la limitación de longitud a 64 caracteres, en <it/Joliet/, y de 128 para <it/Romeo/. Para que Linux sea capaz de ver estos sistemas de ficheros ---por ahora sólo <it/Joliet/--- Necesita tener dicho soporte en el kernel: hasta el kernel <tt/2.0.34/ no lo había, aunque es posible tenerlo gracias a parches para el kernel que se encuentran en Internet. Estos mismos parches permiten ver también particiones con FAT32, el sistema de archivos que usa la <it/OSR2/ de Windows 95 que le posibilita tener particiones de hasta 4 TeraBytes, limitación inexistente en el sistema de ficheros de Linux, <it/ext2/, que desde su aparición soporta precisamente 4 TeraBytes ;) Para los que estén usando un kernel de la serie <tt/2.2.x/, decirles que tanto el soporte <it/Joliet/ como de <it/FAT32/ vienen «de serie», y no tienen más que compilar o cargar módulos cuando se necesite si el kernel no los carga automáticamente. <sect1>Rock Ridge (High Sierra) <p> Esta extensión se ideó para la plataforma UNIX, por lo que recoge una serie de características y ventajas de las que nos podemos beneficiar más que con los otros. La primera ventaja es la de poder tener un sistema de ficheros con atributos propios del UNIX en él, es decir, puede haber archivos ejecutables, de acceso restringido a un usuario, enlaces simbólicos y demás aspectos típicos de un sistema de archivos UNIX, en el CD. Otra de las ventajas es que podemos tener nombres de hasta 128 caracteres, a diferencia del Joliet. Por otra parte hay un sistema de compatibilidad que permite a otros sistemas operativos ver nombres de hasta 32 caracteres; no es mucho, pero de algo sirve. Para aquellos que no ven este sistema de ficheros tenemos la posibilidad de crear unas tablas de transcripción en forma de ficheros llamados <tt/TRANS.TBL/, que aparecerán en cada directorio del CD, transcribiendo el nombre visible por el que de verdad se encuentra en él. En algunos casos puede ayudar, pero unas veces por fallo del sistema operativo foráneo, otras por sus controladores, la transcripción no funciona muy bien, llegando incluso al reseteo sin previo aviso. <sect1>HFS (Hierarchical Filesystem) <p> No sé mucho sobre este sistema de ficheros, sé que es el que utilizan los Macintosh y es incompatible con el de los PC, por lo menos windows no sabe lo que es. Como es habitual Linux se adapta y por supuesto hay un parche para el kernel para ver este tipo de sistema de ficheros y también hay un programa para crear imágenes con este sistema de ficheros para que podamos grabar CDs a nuestros amigos los del mac. Sobre las características de este sistema de ficheros no puedo decir nada, puesto que de momento no las sé. Si alguien conoce las características de este sistema por favor, envíemelas a mi dirección de correo y amablemente le incluiré como colaborador. <sect1>UDF (Universal Disk Format) <p> Este es el sistema de archivos que usan los DVD y también se puede usar en los CD-ROM normales, de hecho el Adaptec DirectCD usa este sistema de ficheros. Las características son muy interesantes, hasta 256 caracteres en ASCII y 128 en unicodes, posibilidad de grabar los discos en modo <it>packet writing</it>, lo cual elimina la posibilidad de un <it/buffer underrun/ (muy común cuando no llegan los datos de forma constante al CD y acabamos por tirarlo a la basura). Es el sistema de ficheros que acabará por estandarizarse. En Linux este sistema de ficheros aun está algo verde, aunque ya se ha conseguido leer discos grabados con DirectCD con ciertas limitaciones. Hasta la fecha el parche para el kernel de Linux soporta hasta la versión <it/1.5/ del sistema <it/UDF/ . Para más información, consulte estas páginas web: <tt><htmlurl url="http://www.osta.org" name="http://www.osta.org"></tt> para obtener toda la información sobre el sistema UDF y <tt><htmlurl url="http://trylinux.com/projects/udf" name="http://trylinux.com/projects/udf"></tt> desde donde podemos acceder a los parches para que el kernel vea este sistema de ficheros y no solo eso, también hay utilidades para crear CDs con el sistema UDF. Lo que todavía no he conseguido es copiar un sistema UDF a mi regrabable y poder grabar en él. Si alguien sabe cómo hacerlo, por favor, me lo comunique con explicaciones claras, si no es mucha molestia. <sect1>EXT2 (Extended Filesystem II) <p> Sí, en efecto, <bf/no/ se trata de un formato de ficheros típico de CDRoms, lo cual no significa que no pueda hacerse. Consulte la sección <ref id="mke2fs" name="mke2fs">. <sect1>El Torito <p> El nombre en castellano puede llevar a confusiones pero es el nombre que se le ha puesto al sistema para incluir un sistema de arranque en el CD. La explicación de cómo hacer un CD arrancable con este sistema se describe en la sección del <ref id="mkisofs" name="mkisofs"> <sect>Programas necesarios para grabar <p> Casi todos los programas que aquí vamos a mencionar pueden obtenerse de <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/" name="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/"></tt>; no obstante, es posible que no estén las últimas versiones de desarrollo, por ello procuro además dar en la sección de cada uno la dirección origen. Aquí hago una descripción de los programas que vamos a necesitar para elaborar nuestros propios CDs, con ellos haremos las imágenes y las grabaremos; podremos comprobar la diversidad que hay y las ventajas que nos proporcionan. Sólo voy a describir las últimas versiones de estos programas, que aunque en algunos casos están en fase alpha o de desarrollo (sólo algunos) funcionan perfectamente. En el caso concreto de <tt/cdrecord/, resulta imprescindible para poder usar grabadoras IDE, IDE-ATAPI de puerto paralelo y las regrabables, al ser el único que de momento las soporta. <sect1>Programas para creación de las imágenes <p> La parte más importante es hacer una imagen, pero ¿porqué hay que hacer una imagen? Muy sencillo, la imagen es el <it/molde/ con el que se crea el futuro CD; y no sólo eso, la imagen nos permite comprobar que el CD va a salir como nosotros queremos, pudiendo evitar errores y ciertas cosas más, difícilmente detectables en el momento de la grabación si la generamos al tiempo de grabar. Además, podemos montar las imágenes para comprobar cómo han quedado, como se explica en el apartado <ref id="otraskernel" name="Otras opciones del Kernel recomendables"> Sí, ya lo sé, en windows puedo hacer CDs <it/perfectamente/ sin necesidad de hacer imágenes, si continúa leyendo, luego explico cómo podrá hacer CDs sin necesidad de hacer imágenes. <sect2><tt>mkisofs</tt> <label id="mkisofs"> <p> Puede obtener este programa de <tt><htmlurl url="ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs" name="ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs"></tt>. La última versión estable disponible es la <tt/1.11/ y la de desarrollo es la <tt/1.12b5/. Este es el principal programa que usaremos para crear nuestras imágenes, ya que está hecho especialmente para hacer imágenes ISO9660 a las que añadir extensiones Rock Ridge, o imágenes Joliet (sólo versiones <tt/1.12/). Puede también combinar las dos, es decir, en un solo CD tener los dos sistemas, <it/Rock Ridge/ y <it/Joliet/, de tal forma que el CD sea portable entre los sistemas operativos que usen uno u otro, manteniendo los nombres largos (sólo versión <tt/1.12/). Esta explicación está basada en la versión <tt/1.12a5/, de la cual sólo voy a indicar los parámetros que son más utilizados. La sintaxis de este programa y su uso se explica a continuación: <descrip> <tag/-a o -all-file/ Este parámetro indica que queremos incluir todos los archivos que se encuentran en el directorio especificado, ya que el programa no incluye por defecto los archivos que contengan caracteres <tt/˜/ y <tt/#/ que son generalmente copias de seguridad creados por la mayoría de editores *nix. <tag/-A o -appid/ Este parámetro indica un comentario sobre la aplicación a la que va dirigido el CD, puede ser definido en un archivo <tt/.mkisofsrc/ que se puede crear en el directorio raíz de cada usuario, con el que poder definir por defecto varias cosas. En concreto este parámetro se identifica como <tt/APPI=/ especificando lo que quiera poner mientras tenga una extensión no superior a 128 caracteres. En versiones anteriores a la <tt/1.12/ se debe especificar en la línea de comandos con el comentario entre comillas. <tag/-b o -eltorito-boot/ Este parámetro sirve para indicarle el nombre y la ruta del archivo que contiene la imagen de arranque que será usada para hacer un CD arrancable según el estándar <it/El Torito/. De esta forma creamos un CD arrancable para aquellas BIOS que acepten arrancar desde CD-ROM. La imagen debe tener un tamaño de 720, 1.44 o 2.88 Mbs, la de un diskette de arranque, que contenga por ejemplo el LILO. Ojo que esto no funciona muy bien con CDs SCSI aunque la controladora SCSI lo soporte teóricamente, por culpa generalmente de la controladora, no del estándar. <tag/-c o -eltorito-catalog/ Con este parámetro, que está ligado al anterior para hacer CDs arrancable, se especifica dónde se creará en el CDROM el archivo del catálogo para el arranque del CD-ROM. Por defecto lo crea en el directorio raíz de la imagen <tag/-f o -follow-links/ Con este parámetro hacemos que los enlaces que se encuentren dentro del directorio <it/maestro/ especificado no sean tomados como tales, sino como ficheros o directorios reales, lo cual nos permite incluir en el CD cosas que no estén en el mismo sistema de ficheros donde tenemos el <it/master/, es decir, le especificamos que <it/siga/ los enlaces que contenga. <tag/-help/ Nos muestra la ayuda del programa, muy útil si no nos acordamos de alguno de los parámetros. <tag/-i/ Sirve para añadir archivos que no estén en el directorio o subdirectorio que hayamos indicado para hacer la imagen, para su adición a la imagen del CD. Esta opción está temporalmente deshabilitada, y parece ser que da problemas, por lo que está en espera de ser reescrita. <tag/-J/ Gracias a esta opción podremos crear CDs con sistema de ficheros Joliet. No incluida en versiones anteriores a la <tt/1.12/. <tag/-l/ Gracias a este parámetro podremos establecer el modo de compatibilidad de ficheros de 32 caracteres para aquellos sistemas que no aceptan la longitud de los ficheros para los que está grabado el CD. Usar con cuidado. <tag/-m o -exclude/ Con este parámetro indicamos un patrón de archivos que no queramos incluir en el CD, que puedan encontrarse dentro de algún subdirectorio en la ruta desde la que vamos a hacer la imagen (ficheros <tt/core/ etc...) Se pueden usar comodines o nombre completo. <tag/-o o -output/ Con esta opción indicamos el nombre que le queremos dar al fichero, incluida su ruta, que contendrá la imagen, o el fichero de dispositivo correspondiente a la partición donde queremos volcarla. El volcar las imágenes (sólo de datos) a partición es muy recomendable para equipos lentos; dicha partición no ha de tener formato alguno, por ello la lectura es más rápida, ocurre como con la partición de swap. Si utilizamos volcado a partición, conviene «resetearla» antes de generar una imagen nueva con el comando: <tscreen><verb> dd if=/dev/zero of=/dev/sda1 </verb></tscreen> Suponiendo que <tt/sda1/ sea donde queremos volcar la imagen; <bf/OJO/ con especificar una partición equivocada, o se irá a hacer gárgaras... <tag/-p o -preparer/ Este es complementario al parámetro <tt/-A/, con él podremos indicar el autor del CD, Tiene una extensión máxima de 128 caracteres. Corresponde al parámetro <tt/PREP=/ en el archivo <tt/.mkisofsrc/. <tag/-print-size/ Muestra por pantalla el tamaño estimado que ocupará la imagen, sin hacer nada más. <tag/-P o -publisher/ Especifica el editor del CD. Su longitud máxima son 128 caracteres. En el archivo <tt/.mkisofsrc/ se identifica como <tt/PUBL=/. <tag/-quiet/ No muestra mensajes por pantalla. <tag/-R/ Genera un sistema de ficheros con extensiones Rock Ridge. Esta es la opción principal para generarlo, manteniendo los permisos tal y como estén. <tag/-r/ Esta opción es como la anterior pero resetea los permisos de modo que todos los usuarios puedan acceder al CD por completo. <tag/-T o -translation-table/ Con esta opción generamos los archivos de transcripción, llamados <tt/TRANS.TBL/ en cada directorio del CD-ROM, que contendrán todas las transcripciones de los nombres de fichero para que se puedan ver por ejemplo en un sistema DOS (de tipo de nombres de fichero 8+3) y con su longitud correspondiente en el sistema Rock Ridge. Cuando utilizamos la opción <tt/-l/ los archivos tendrán nombres de 32 caracteres y no de 8+3. <tag/-v/ Nos muestra la ayuda y la versión del programa. Y mientras se genera la imagen nos va mostrando el porcentaje de la imagen generada y una estimación de tiempo para terminar. Muy útil. <tag/-V/ Esta opción nos permite darle un nombre de volumen al CD para identificarlo. En el archivo <tt/.mkisofsrc/ se especifica con el parámetro <tt/VOLI=/ con una extensión máxima de 32 caracteres. <tag/-x/ Esta opción nos permite excluir un directorio específico que se encuentre dentro de la ruta de origen. Puede excluir hasta un máximo de 1000 directorios, ojo que hay que especificar el parámetro antes de cada directorio, tantas veces como directorios a excluir haya: <tscreen><verb> mkisofs ... -x estedirectoriono -x yestetampoco -x nieste </verb></tscreen> </descrip> Estos son los parámetros más utilizados, si quiere más información o más posibilidades siempre puede consultar la página del manual. Ahora unos pocos ejemplos de cómo funcionan algunos parámetros: Para generar un sistema de ficheros Rock Ridge simplemente tenemos hacer esto: <tscreen><verb> mkisofs -a -r -T -o /cd/imagen.iso /ficheros </verb></tscreen> Aquí se indica un sistema de ficheros Rock Ridge al que se le incluyen todos los archivos que se encuentren en el directorio <tt>/ficheros</tt>, generando archivos <tt/TRANS.TBL/, para el archivo de imagen <tt>/cd/imagen.iso</tt>. Para que al crear la imagen se establezca el nombre de volumen, la identificación, el editor y la aplicación del CD, hay dos métodos, uno consiste en crear un archivo llamado <tt/.mkisofsrc/ en nuestro directorio personal. Recuerdo que este archivo sólo sirve para la versión <tt/1.12/, con una sintaxis como ésta: <descrip> <tag/VOLI=/El nombre de volumen. <tag/PUBL=/Cualquier cosa que quiera poner, normalmente un pequeña descripción del CD. <tag/PREP=/Aquí puede poner sus datos o cualquier cosa para identificar el CD como suyo. <tag/APPI=/Aquí puede poner una descripción del objetivo de este CD o su destino. </descrip> O bien puede especificarlo en la línea de comandos así: <tscreen><verb> mkisofs -a -R -l -T -V "Volumen" -P "descripción CD" -p "preparador" \ -A "Aplicación" -o imagen.iso /ficheros </verb></tscreen> Este único comando se ha introducido en dos líneas, detrás del carácter <tt/\/ hay que teclear <tt/Enter/, y teclear el resto. Se ha hecho así por motivos de formato de este documento. En él podemos observar, aparte de cómo poner el nombre de volumen al CD y otras cosas, que estamos haciendo un CD con el modo de compatibilidad para otros sistemas de 32 caracteres, tomando los permisos y la identificación que tiene cada archivo en el disco. Un ejemplo de cómo crear un sistema de ficheros con Joliet es: <tscreen><verb> mkisofs -a -J -f -m '*.o' -m core -x /master/excluir -o /cd/imagen.iso /master </verb></tscreen> En este sistema de ficheros Joliet hemos excluido todos los archivos que correspondan con la descripción <tt/*.o/ y <tt/core/ con la opción <tt/-m/, la opción <tt/-f/ indica que los enlaces que se encuentren serán tomados como los archivos o directorios a los que apuntan. Por último, excluimos el directorio <tt/excluir/ que se encuentra en la ruta de origen desde donde queremos hacer la imagen. Y por último un sistema de ficheros con Rock Ridge y Joliet, que recuerdo que sólo se puede hacer en la versión <tt/1.12/: <tscreen><verb> mkisofs -a -J -f -R -m '*.o' -m core -x /master/excluir -o /cd/imagen.iso /master </verb></tscreen> Para hacer un CD arrancable (para arrancar con él es necesario que la BIOS soporte arranque desde unidades CD-ROM) necesitamos la imagen de un disquete de arranque de 720KB, 1.44MB o 2.88MB, de MS-DOS o Linux según queramos, que podemos encontrar en varios sitios ya hechos o hacernos nosotros mismos. Una vez tenemos la imagen, la ponemos dentro del directorio en donde se encuentran los archivos desde los que vamos a hacer la imagen y procedemos a lo siguiente: <tscreen><verb> mkisofs -a -b /cdboot/eltorito.img -c /cdboot/catalogo -R -T -o imagen.iso /master </verb></tscreen> Nótese que a los parámetros <tt/-b/ y <tt/-c/ le especificamos lo que parece un path absoluto, pero el directorio <tt>/cdboot</tt> no se encuentra en el directorio raíz de su disco duro, sino que en realidad es un subdirectorio de <tt>/master</tt>; esto es así porque <tt/mkisofs/ para este parámetro se sitúa como si estuviera ya dentro del CD. <sect2><tt>mkhfs</tt> <p> Puede obtener este programa de <tt><htmlurl url="ftp://ftp.ge.ucl.ac.uk/pub/mkhfs" name="ftp://ftp.ge.ucl.ac.uk/pub/mkhfs"></tt>. Es su homólogo para el sistema de ficheros de los mac, HFS, no lo he llegado a probar todavía pero seguro que funciona bien. Su uso es muy sencillo y no tiene mucha complicación. <sect2><tt>mkhybrid</tt> <p> Puede obtener este programa de <tt><htmlurl url="ftp://ftp.ge.ucl.ac.uk/pub/mkhfs" name="ftp://ftp.ge.ucl.ac.uk/pub/mkhfs"></tt>. Es la mezcla de los dos anteriores, la ultima versión usa código del <tt/mkisofs 1.12/ para mejor soporte de Joliet. La ayuda parece exactamente la del <tt/mkisofs/, salvo que incluye las siguientes opciones para añadir el sistema de ficheros de los mac: <descrip> <tag/-g o -apple/ Añade la extensión ISO9660 de Apple, para la compatibilidad con el estándar. <tag/-h o -hfs/ Crea el sistema HFS híbrido para la extensión ISO9660. <tag/-probe/ Prueba todos los archivos para el sistema Unix/HFS. <tag/-mac-name/ Crea todos los nombres según el estilo de los mac para ISO9660/Joliet/Rock Ridge <tag/-no-mac-name/ Evita lo anterior para los archivos Unix/Mac </descrip> <sect2><tt>mke2fs</tt> <label id="mke2fs"> <p> ¿Cómo? ¡Pero si este programa sirve para crear sistemas de ficheros en el formato nativo de Linux, el <tt/ext2/! Pues sí, es posible crear CD-Roms en formato <tt/ext2/, que por supuesto no podrán leerse en sistemas que no dispongan de algún tipo de soporte para leer este tipo de sistema de archivos, básicamente Linux. Su utilidad dependerá de la creatividad de cada uno ;) Para ello, hay que seguir el siguiente procedimiento: <enum> <item>Primero hay que calcular el tamaño máximo que podemos usar en una imagen para aprovechar la mayor cantidad de datos en el CD es fácil y es una operación sencilla en la que intervienen dos programas y en la que no hay ni que sacar la calculadora. Primero utilizamos el <tt/cdrecord/ en su versión de desarrollo <tt/1.8/ de la siguiente forma: <tscreen><verb> # cdrecord -v dev=3,0 -atip Cdrecord release 1.8a29 Copyright (C) 1995-1999 Jörg Schilling TOC Type: 1 = CD-ROM scsidev: '3,0' scsibus: 0 target: 3 lun: 0 Using libscg version 'schily-0.1' atapi: 0 Device type : Removable CD-ROM Version : 2 Response Format: 2 Capabilities : Vendor_info : 'YAMAHA ' Identifikation : 'CRW4260 ' Revision : '1.0q' Device seems to be: Generic mmc CD-RW. Using generic SCSI-3/mmc CD-R driver (mmc_cdr). Driver flags : SWABAUDIO Drive buf size : 1176000 = 1148 KB Current Secsize: 512 ATIP info from disk: Indicated writing power: 5 Is not unrestricted Is not erasable ATIP start of lead in: -11324 (97:31/01) ATIP start of lead out: 359849 (79:59/74) Disk type: Long strategy type (Cyanine, AZO or similar) Manuf. index: 22 Manufacturer: Ritek Co. </verb></tscreen> Una vez obtenida esta información nos fijamos en la siguiente linea: <tscreen><verb> ATIP start of lead out: 359849 (79:59/74) </verb></tscreen> de la que nos interesa el numero <tt/359849/ el cual al multiplicarse por <tt/2048/ nos dará el tamaño máximo de la imagen que puede ser grabada en el CD. Si se fijan el tamaño concuerda con un CD 80 minutos que corresponde exactamente a 702 MegaBytes absolutos del tamaño de la imagen. <item>Crear un fichero imagen vacío; con los datos anteriores: <tscreen><verb> dd if=/dev/zero of=imagen-vacia.ext2 bs=2048 count=359849 </verb></tscreen> <item>Formatearlo: <tscreen><verb> mke2fs -m 0 -b 2048 imagen-vacia.ext2 </verb></tscreen> <tt/mke2fs/ advertirá de que <tt/imagen-vacia.ext2/ no es un fichero de dispositivo de bloque, y le pedirá confirmación: <tscreen><verb> imagen-vacia.ext2 is not a block special device. Proceed anyway? (y,n) y </verb></tscreen> <item>Montarlo, mediante <tt/loopback/, en lo que va a ser nuestro directorio «maestro»: <tscreen><verb> mount -o loop imagen-vacia.ext2 /mnt/master </verb></tscreen> <item>Copiamos a él los ficheros que queramos, si por ejemplo queremos hacer una réplica de <tt>/etc</tt> : <tscreen><verb> cd /etc find | cpio -pdamvu /mnt/master </verb></tscreen> <item>Lo desmontamos, y grabamos normalmente. </enum> Si queremos montar un CD-Rom de este tipo, habrá que especificarle a <tt/mount/ que el tipo de sistema de ficheros es <tt/ext2/, y de sólo lectura: <tscreen><verb> mount -t ext2 -o ro /dev/cdrom /mnt/cdrom </verb></tscreen> si queremos incluirlo en <tt>/etc/fstab</tt>, habrá que indicar además de su tipo de sistema de ficheros, y de ser sólo lectura, que no sea comprobado: <tscreen><verb> /dev/cdrom /mnt/cdrom ext2 defaults,ro 0 0 </verb></tscreen> El último <tt/0/ es el que hace que <tt/fsck/ no lo compruebe en cada arranque. <sect1>Software de extracción de audio <label id="audio"> <p> <bf/Aviso/: La mayoría de las grabadoras requieren que el orden de palabra de los ficheros de audio en formato CDDA o PCM raw sea <it/Big Endian/, salvo las Yamaha, Sony y recientemente las últimas grabadoras que cumplen el estándar <it>SCSI-3/MMC</it>, que lo necesitan <it/Little Endian/. Casi todos los programas extractores de CD-Audio extraen por defecto en <it/Big Endian/. Si graba ficheros de audio con el orden de palabra equivocado para su grabadora, cuando intente escuchar ese CD no oirá más que un horripilante ruido, similar al sonido de una televisión sin sintonizar. Dependiendo del software que utilice para grabar, esto se puede abordar de dos maneras: <itemize> <item><tt/cdrecord/: Indistintamente de la grabadora que tenga, y del software de extracción que use, extraiga <bf/siempre/ en <it/Big Endian/, el formato por defecto. <tt/cdrecord/ sabe qué formato necesita cada grabadora, e invertirá el orden de palabra si es necesario; notará si lo invierte porque aparecerá la palabra <tt/swab/ en el listado de pistas de audio a grabar. <item><tt/cdwrite/: Aquí no hay error posible, ha de saber qué orden necesita su grabadora, y tener los ficheros CDDA con el orden apropiado. </itemize> Otro concepto, que aunque es mencionado más veces posteriormente a lo largo del documento, quiero recalcar, y que necesitará especialmente con los extractores, es el del dispositivo genérico SCSI, que es explicado en la sección <ref id="gener" name="Dispositivos genéricos">. <sect2><tt>readcdda</tt> <p> Este programa es un poco difícil de encontrar, ya que las versiones disponibles son modificaciones o <it/portings/ del original a Linux. Uno de los paquetes que lo trae modificado es el X-CDRoast, que es de donde lo he obtenido, ver sección <ref id="xcdroast" name="X-CD-Roast">. No hay página man disponible, y tampoco certifico que los comandos que aquí explico correspondan a la versión que Vd. pueda conseguir; no obstante lo expongo aquí por su excepcional calidad y fiabilidad. Eso sí, sólo funciona con dispositivos SCSI. Su sintaxis es un poco pesada, pero como decía antes, vale la pena. El orden de palabra de los ficheros cdda creados con <tt/readcdda/ es <it/Big Endian/ por defecto. <descrip> <tag/-D dispositivo/ Para especificar el dispositivo genérico de la unidad con la que vamos a extraer. <tag/-B dispositivo/ Dispositivo de bloque de la unidad con la que vamos a extraer, son válidos tanto dispositivos <tt>/dev/srX</tt> como <tt>/dev/scdX</tt>. <tag/-t/ Desde qué pista a extraer <tag/-z/ Hasta qué pista extraer (inclusive) <tag/-o/ desplazamiento del principio de la pista <tag/-s/ desplazamiento del final de la pista <tag/-d/ Tiempo total de grabación <tag/-S/ Velocidad de extracción. <tag/-v/ imprimir información sobre el CD. <tag/-x/ Formato de salida <it/Little Endian/ </descrip> Así que un ejemplo, utilizando el CDROM SCSI que estuviera en el ID SCSI <tt/3/, que fuese el primer CDROM disponible, extrayendo de la pista <tt/1/ a la <tt/15/, a velocidad 6x en un solo fichero <tt/.cdr/, sería: <tscreen><verb> readcdda -D /dev/sgd -B /dev/scd0 -t 1 -z 15 -o 0 -s 0 -S 6 audio.cdr </verb></tscreen> Esto es un poco latoso si queremos que cada pista tenga su fichero, para ello podemos utilizar un bucle: <tscreen><verb> for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do readcdda -D /dev/sgd -B /dev/scd0 -t $i -z $i -o 0 -s 0 -S 6 audio.$i.cdr ; done </verb></tscreen> <sect2><tt>cdda2wav</tt> <p> Este programa es más reciente, y permite extraer de CDROMs IDE si éstos soportan extracción. Puede obtenerlo de <tt><htmlurl url="ftp://ftp.gwdg.de/pub/linux/misc/cdda2wav/" name="ftp://ftp.gwdg.de/pub/linux/misc/cdda2wav/"></tt>. También se puede encontrar incluido en el mismo paquete de las últimas versiones de <tt/cdrecord/. Comentaré sólo las opciones más habituales: <descrip> <tag/-D/ Dispositivo genérico de la unidad lectora; <tt>/dev/sgX</tt> o <tt/0,1,0/ si es SCSI; si es IDE, con el fichero de dispositivo de bloque correspondiente: <tt>/dev/hdb</tt> por ejemplo para un CD esclavo del bus primario, o el enlace simbólico que apunte al apropiado. <tag/-A/ Dispositivo auxiliar: será un <tt>/dev/scdX</tt> si el lector es SCSI o el mismo que le especificamos en <tt/-D/ si es IDE. <tag/-I/ Tipo de interfaz; <tt/generic_scsi/ para dispositivos SCSI o <tt/cooked_ioctl/ para IDE. <tag/-x/ Extracción a calidad CD: muestreo a 44100Hz, 16 bits estéreo. Esta es la opción por defecto, asi que si quiere estas opciones no tendrá que volver a ponerlas. <tag>-t primera+ultima</tag> Especificamos la pista o rango de pistas a extraer. <tag/-O/ Formato del fichero de salida, opciones validas útiles pueden ser <tt/raw/ para formato cdr (CDDA) o <tt/wav/. <tag/-E/ Orden de la palabra binaria: <tt/big/ para <it/Big Endian/, <tt/little/ para <it/Little Endian/. <tag/-B/ Extraer cada pista a un fichero separado. <tag/-S número/ Velocidad de extracción. <tag/-P/ Desactivar overlap (utilizar si se obtienen mensajes de error tipo <tt>increase overlap (X) or decrease SYNC_SIZE (X)</tt>. <tag/-H/ No crear ficheros informativos (<tt/.inf/) por cada fichero de audio creado. <tag/-e/ Permite la salida directa al dispositivo de audio del ordenador. Por defecto <it>/dev/dsp</it>. <tag/-K dispositivo/ Cambia el dispositivo de audio por defecto <it>/dev/dsp</it> por que se le especifique. <tag/-q/ No muesta información alguna mientras se realiza el proceso de extracción. </descrip> Supongamos que usamos un lector SCSI, que tiene el ID 2 del bus SCSI, que queremos extraer las pistas de la 3 a la 8, en formato CDDA, <it/Big Endian/ (por defecto), en ficheros con el patrón <tt/audio_*.cdr/ separados, con sus correspondientes ficheros informativos: <tscreen><verb> cdda2wav -D /dev/sgb -A /dev/scd0 -I generic_scsi -x -t 3+8 -B -O cdr -S 10 audio </verb></tscreen> tambien se puede escribir de forma más abreviada de la siguiente forma: <tscreen><verb> cdda2wav -D 0,2,0 -I generic_scsi -x -t 3+8 -B -O cdr </verb></tscreen> Si extraemos las pistas con la opción <tt>-O wav</tt> por defecto serán <it/Little Endian/. En la versión <tt/1.0/ de <it/cdda2wav/ y en adelante para extraer las pistas de audio directamente, aunque hayan otros tipos de pistas en el disco, como por ejemplo una de datos al principio o al final, se ha de poner tan sólo esto: <tscreen><verb> cdda2wav -D 0,2,0 -I generic_scsi -B </verb></tscreen> al mismo tiempo, esto nos puede servir de ejemplo de como se pueden extraer pistas para la sección <ref id="cdrecorddao" name="DAO con cdrecord">. Existe una variante del <tt/cdda2wav/, llamada <tt/cdparanoia/, de rendimiento muchísimo menor, pero que como su nombre indica, es muy <it/paranoica/ con la calidad de las pistas extraídas, puede resultar útil con CDs muy estropeados. <sect1>Software de grabación <p> <sect2><tt>cdrecord</tt> <label id="cdrecord"> <p> La página principal de <tt/cdrecord/ es &nl; <tt><htmlurl url="http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html" name="http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html"></tt> Puede obtenerlo por FTP de <tt><htmlurl url="ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/" name="ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/"></tt>. Este programa es más avanzado y actual que <tt/cdwrite/, al estar en desarrollo e incorporar soporte para las novedades del mercado actual, a pesar de no soportar algunas unidades antiguas que sí lo hace <tt/cdwrite/. La mayor ventaja de este programa es que funciona perfectamente con las grabadoras IDE (con emulación SCSI activada, por supuesto) y SCSI, incluyendo más opciones como el soporte para regrabables y sus comandos específicos, como borrar un CD-RW, una partición, etc. Permite visualizar las tablas de contenido (<it/TOC/, <it/Table Of Contents/), que es donde se almacena la información sobre las pistas y el tamaño de las mismas. Esta tabla la genera el programa y se tiene que grabar para que se pueda leer el CD, ya sea cuando haga un CD multisesión o al hacer un CD normal o de CD-Audio. También puede grabar pistas CDI, en modo normal de datos <it/data 1/ y <it/data 2/, <it/multisesión xa1/ y <it/xa2/ de datos, y audio. Otra función muy útil es que puede realizar ciertas pruebas a la unidad para comprobar sus capacidades y compatibilidad, etc. Los comandos que más nos pueden interesar se detallan a continuación: <descrip> <tag/-version/ Muestra la versión del programa. Recomendada la versión <tt/1.6.1 final/, las que llevan <tt/a/ despues del número son alphas y no es recomendable usarlas. Para unidades tanto IDE como SCSI se recomienda la <tt/1.8aXX/. <tag/-v/ Muestra información mientras se ejecuta el programa para conocer el estado de la grabación (Muy recomendable ya que indica los Mb grabados y el porcentaje de llenado del buffer). <tag/-V/ Muestra los comandos SCSI mientras se ejecuta el programa. <tag/-debug/ Muestra mensajes para encontrar posibles fallos. <tag/dev=destino/ Especifica la situación de la grabadora en el sistema SCSI. Hay que especificarle el bus scsi, el ID SCSI del dispositivo, y el <it/LUN/ SCSI (<it/Logical Unit Number/, valor variable sólo si se emplea por ejemplo un lector múltiple de CDs, en donde <tt/0/ identificaría a la primera bandeja, <tt/1/ a la segunda, etc). Un ejemplo frecuente sería <tt/0,4,0/ para el primer bus SCSI, el ID SCSI <tt/4/ y el LUN de todo dispositivo no múltiple, <tt/0/. Si usamos la emulación SCSI o una unidad de puerto paralelo, siempre será <tt/0,0,0/. <tag/-dummy/ Con este parámetro indicamos que vamos a hacer un test de la unidad y del sistema, simulando una grabación para comprobar si se realiza adecuadamente. Durante este test el láser de la grabadora está desactivado por lo que no correremos el riesgo de perder un CD. <tag/-multi/ Esta opción es para indicar que vamos a hacer un CD multisesión, es decir con varias pistas de datos. Este parámetro no puede ser usado en unidades Sony ya que no llevan soporte hardware para CD-ROM modo <it/XA 2/ por lo que se deberá de usar el parámetro <tt/-data/ para este fin. <tag/-msinfo/ Esta opción nos permite ver la información que hay grabada en un CD multisesión o con al menos una pista, mientras el CD no se haya cerrado. <tag/-toc/ Muestra información sobre la tabla de contenidos del CD, este parámetro puede ser usado tanto en las grabadoras como en los lectores. <tag/-fix/ Esta opción es para cerrar un CD que no se haya cerrado antes, si después de haber grabado los datos no se ha escrito la tabla de contenidos. De momento esto no funciona con las unidades TEAC. <tag/-nofix/ Esta opción, usada en la línea de comandos es para que al grabar un CD no se escriba la tabla de contenidos, para que no lo <it/cierre/. Puede ser útil para grabar un CD por pasos o para grabar un CD-Audio ya que hay lectores de CD-Audio que pueden leer CDs sin cerrar, siempre y cuando no contengan además datos. Los CDs de datos sin cerrar no pueden ser usados por unidades lectoras. <tag/-load/ Esta opción es para cerrar la bandeja, luego sale del programa. <tag/-eject/ Esta opción permite expulsar el CD una vez grabado, hay unidades como las Philips o las Yamaha que deben hacer esto. <tag/speed=X/ Esta opción es para indicarle a la unidad la velocidad a la que debe grabar. El número especifica el multiplicador de 150Kb/s para datos y 172Kb/s para audio. <tag/blank=opcion/ Esta opción borra un CD-RW y sale, o bien borra antes de continuar con una grabación. Sólo puede ser usada por unidades regrabables y con discos CD-RW. Las opciones se describen a continuación: <itemize> <item><tt/help/ Muestra la ayuda. <item><tt/all/ Borra totalmente un disco. Esta opción tarda bastante tiempo. <item><tt/disc/ o <tt/disk/ Borra un disco totalmente. <item><tt/fast/ o <tt/minimal/ Borrado rápido del disco: Solo borra el TOC, los pregaps y el PMA. <item><tt/track/ Borra una sola pista. <item><tt/unreserve/ Activa una pista reservada. <item><tt/trtail/ Borra la cola de una pista. <item><tt/unclose/ Abre una pista cerrada. <item><tt/session/ Borra la ultima sesión. </itemize> <tag/fs=/ Esta opción especifica el buffer fifo para almacenamiento intermedio de los datos, a fin de hacerlos llegar a la grabadora sin retraso. Para facilitar las cosas puede especificar este buffer con un número seguido de <tt/b/ para indicarle bytes, <tt/k/ para kilobytes, <tt/m/ para megabytes. Por defecto tiene un buffer de 4 Mb. La recomendación para el tamaño del buffer es de entre 4 y 32 Megas, debiendo ser como mínimo igual al tamaño de buffer interno de la grabadora y como máximo no superior a la mitad de la RAM física del ordenador. Lo normal es que no necesite poner más de 8 MB que es lo que yo recomiendo. Si aún así aparecen mensajes como <tt/fifo empty count/, tiene problemas de configuración o hardware. Ej: <tt/fs=8m/. <tag/driver=/ Esta opción es para especificarle un driver concreto; para ver la lista de todos los drivers simplemente especifique <tt/driver=help/. Si no se indica opción, <tt/cdrecord/ tratará de encontrar el driver más apropiado para la unidad. Si no lo consigue, tendrá que indicárselo; sepa que si el driver no es absolutamente compatible corre un riesgo muy grande de perder el CD. <tag/-checkdrive/ Esta opción busca el driver que corresponda a su unidad y termina la ejecución. <tag/-prcap/ Esta opción imprime las posibilidades de las unidades que cumplan el estándar <it>SCSI-3/mmc</it> y sale. <tag/-inq/ Esta opción hace un examen de la unidad, imprime los resultados en pantalla y sale. <tag/-scanbus/ Esta opción examina el bus SCSI en busca de unidades. Sirve para buscar nuestra unidad. <tag/-reset/ Esta opción resetea el bus SCSI donde se esté nuestra grabadora. <tag/-audio/ Detrás de esta opción se indican los nombres de los archivos de sonido que serán grabados como pistas de audio, siempre y cuando los archivos tengan una calidad de muestreo 44.100 Khz a 16 Bits, estéreo en alguna variante PCM; si no son así, serán rechazados por <tt/cdrecord/. Acepta formato CDDA (tanto <tt/.cdda/ como <tt/.cdr/ son extensiones válidas), <tt/.wav/, <tt/.au/ y <tt/.raw/. <tt/cdrecord/, si no se le especifica lo contrario, asume que el orden de palabra es <it/Big Endian/, y convertirá automáticamente a <it/Little Endian/ si detecta que la grabadora lo necesita. <tag/-data/ Tras de esta opción se indica el nombre del archivo que corresponde a la imagen ISO9660 que anteriormente hemos creado con <tt/mkisofs/ u otro de los anteriormente descritos. Esta opción viene por defecto, lo que quiere decir que si no la indicamos grabaremos de esta forma. <tag/-mode2/ Si esta opción esta presente, todas las pistas de datos que la sigan se grabarán en modo 2. <tag/-xa1/ Si esta opción esta presente, todas las pistas que la sigan se grabarán en modo XA 1. <tag/-xa2/ Si esta opción esta presente, todas las pistas que la sigan se grabaran en modo XA 2. <tag/-cdi/ Si esta opción esta presente, todas las pistas que la sigan se grabaran en CDI. </descrip> Estos son los comandos que más se usan, para ampliar información puede acudir al manual. Ahora unos ejemplos para que la cosa quede mas clara: <tscreen><verb> cdrecord -scanbus cdrecord dev=0,0,0 -checkdrive cdrecord dev=0,0,0 -prcap cdrecord dev=0,0,0 -inq cdrecord dev=0,0,0 -toc cdrecord dev=0,0,0 -msinfo </verb></tscreen> Así se realizan los test; en el primero se escanea el bus SCSI para ver nuestra unidad, en los demás se toma que tenemos la unidad en el dispositivo que corresponde al bus 0, id 0 y lun 0 para hacerle los test a los que corresponde la explicación anterior. <tscreen><verb> cdrecord dev=0,0,0 fs=8m speed=2 -nofix -eject -xa1 imagen.iso -audio audio1.wav audio2.cdda audio3.au </verb></tscreen> Aquí podemos ver que le hemos puesto 8 Mb al buffer fifo, especificado que grabe a doble velocidad, que expulse el CD una vez terminado, que la primera pista es una imagen de datos en formato multisesión XA 1 y las siguientes pistas serán de audio (este programa puede grabar varios formatos de audio como el <tt/.wav/ de Microsoft, el <tt/.cdda/, el PCM en bruto o <tt/.raw/ y el <tt/.au/ siempre y cuando tengan una calidad de muestreo de 44100 Hz a 16 bits, en estéreo). Y al final no será escrita la TOC por lo que para hacerlo tenemos la siguiente línea: <tscreen><verb> cdrecord dev=0,0,0 -fix </verb></tscreen> Para grabar una sola pista de datos podemos usar esto: <tscreen><verb> cdrecord dev=0,0,0 fs=8m speed=2 -eject imagen.iso </verb></tscreen> Ya que como se dijo antes no hacía falta especificar el parámetro <tt/-data/, que es el asumido por defecto. Las nuevas opciones que incluye el <ref id="cdrecorddao" name="cdrecord 1.8"> se describen en su sección. <sect3>Parámetros configurables permanentemente de <bf><tt>cdrecord</tt></bf> <p> Como puede observar, es un poco <it/latoso/ el tener que especificar datos no cambiantes una y otra vez, como por ejemplo dónde se encuentra la grabadora, o la velocidad de grabación ya que generalmente grabará casi siempre al máximo de velocidad. Para no tener que especificarlo siempre en la línea de comandos, <tt/cdrecord/ provee la posibilidad de establecer dichos parámetros por defecto, mediante las variables de entorno <tt/CDR_DEVICE/, <tt/CDR_SPEED/ y <tt/CDR_FIFOSIZE/. Supongamos que su grabadora está en el primer bus SCSI, y tiene el ID 4. (El LUN siempre va a ser 0). Y que quiere que la velocidad de grabación por defecto, a menos de que se especifique lo contrario mediante parámetros de la línea de comandos, va a ser a doble velocidad (2x) y el <it/buffer/ de datos FIFO sea de 16 megabytes. Estableceríamos dichas variables de entorno mediante la inserción, generalmente en el fichero <tt>/etc/profile</tt>, de las siguientes líneas, suponiendo que utilice <tt/bash/ como intérprete de comandos: <tscreen><verb> CDR_SPEED=2 CDR_DEVICE=0,4,0 CDR_FIFOSIZE=16m export CDR_SPEED CDR_DEVICE CDR_FIFOSIZE </verb></tscreen> Dichas variables no estarán disponibles hasta que el sistema relea el fichero <tt>/etc/profile</tt>, lo mejor es reiniciar el terminal con un <it/logout/ o bien recargando el archivo con <it>source /etc/profile</it>. Si esto no funciona, reinicie el sistema para salir de dudas. <sect3>Grabacion sin imagen <p> Ahora viene algo que puede interesar a más de uno, hacer un CD directamente desde el disco sin necesidad de hacer una imagen previa. He de advertir sobre este procedimiento y es que no se debe, por ninguna circunstancia, acceder al disco que contenga el directorio maestro con los ficheros a partir de los que se está generando una imagen directa al CD, ya que cualquier mínimo retraso en la transferencia de datos puede ocasionar que no se grabe el CD correctamente a pesar de que durante la grabación no aparezcan errores. El problema de que no se genere correctamente la imagen puede no radicar necesariamente en que su disco duro sea lento, hay otros factores como la memoria disponible: tenga en cuenta que por ejemplo <tt/mkisofs/ necesita al menos 12MB de memoria para generar las extensiones Rock Ridge. Repito, no acceda al disco duro maestro durante la grabación, peligro de hacer un CD desde el que no se pueda leer ningún dato sano, aunque aparentemente se haya grabado bien; esto se puede comprobar editando un archivo de texto y viendo como parte del archivo anterior o los gaps se han introducido en ellos. Así mismo recomiendo realizar esta operación sólo con versiones de <tt/cdrecord/ superiores o iguales a la <tt/1.6.1/, y <tt/1.12b5/ de <tt/mkisofs/ , ya que he comprobado que funcionan y se entienden mucho mejor, con mucho menor peligro de realizar CDs corruptos. Antes de grabar el CD debe realizar primero la siguiente operación: <tscreen><verb> mkisofs -r -T -l -print-size -f /files </verb></tscreen> la cual nos facilitará un número, este número se lo deberemos de pasar en un parámetro al <tt/cdrecord/ para que nos reconozca el tamaño de la imagen a grabar, ya que si no, <tt/cdrecord/ no tiene forma de saber cuál es el tamaño de la imagen. De esta forma, si por ejemplo, <tt/mkisofs/ nos mostrará la siguiente línea: <tscreen><verb> Total extents scheduled to be written = 290699 </verb></tscreen> Para que <tt/cdrecord/ reconozca el tamaño de la imagen a grabar: <tscreen><verb> nice --20 mkisofs -r -T -l -f /files | nice --20 cdrecord fs=16m \ tsize=290699*2048 -eject - </verb></tscreen> O bien para multisesión: <tscreen><verb> nice --20 mkisofs -r -T -l -f /files | nice --20 cdrecord fs=16m \ tsize=290699*2048 -eject -multi - -audio audio1.wav audio2.wav audio3.au </verb></tscreen> Nótese que no especificamos ni la localización SCSI de la grabadora, ni la velocidad de grabación, ya que la hemos establecido con las variables de entorno mencionadas anteriormente. Seguramente se preguntará el porqué del <tt/nice --20/ que hay delante de cada uno de los programas. El comando <tt/nice/ sirve para asignar la prioridad de ejecución, y en este caso concreto establecemos la máxima posible. Se preguntará por qué en la opción <tt/tsize/ del <it/cdrecord/ multiplico por <tt/2048/ la cantidad dada por el <it/mkisofs/. La razón es muy simple, a partir de la version <tt/1.6.1/ y <tt/1.8/ de <it/cdrecord/, hay que pasarle el tamaño en bytes de la imagen, y debido a que realiza la multiplicación él mismo, sólo lo tenemos que multiplicar por el tamaño de cada sector de un CD y listo. Use esto con cuidado. Y para terminar voy a indicar cómo usar el programa con las grabadoras IDE/ATAPI y de puerto paralelo, que por ejemplo al ejecutar la siguiente linea nos muestre algo como lo siguiente: <tscreen><verb> # cdrecord -scanbus Cdrecord release 1.6 Copyright (C) 1995-1998 Jörg Schilling scsibus0: 0) 'HP ' 'CD-Writer+ 7200 ' '3.01' Removable CD-ROM 1) * 2) * 3) * 4) * 5) * 6) * 7) * </verb></tscreen> Así es como ve <tt/cdrecord/ nuestra grabadora, ya sea interna o externa, por lo que para indicarle cómo acceder a nuestra grabadora tendremos que especificar el parámetro <tt/dev=0,0,0/. <tscreen><verb> cdrecord dev=0,0,0 speed=2 fs=16m -v -dummy image.raw </verb></tscreen> Recomiendo usar la grabadora con una version de <tt/cdrecord 1.6.1/, aunque como se aprecia en el escaneado de muestra anterior hecho con la versión <tt/1.6/, esta última es capaz de usarla. También es muy recomendable hacer pruebas de grabación para comprobar que no haya falta velocidad en el puerto paralelo antes de proceder a la grabación final de CD-ROMs. <sect2><tt>cdwrite</tt> <p> Puede obtener este programa (y casi todos los relativos a creación de CDs) de <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/" name="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/"></tt>. Este programa era el más utilizado hasta hace un par de años mas o menos, (y el único que había). Está en actual desuso, ya que ha dejado de desarrollarse y se ha quedado algo anticuado; de todas formas funciona perfectamente en grabadoras SCSI a excepción de las <it/Sony/. Si ha comprendido los comandos del <tt/cdrecord/ no tendrá problemas en entender los de este programa ya que no tiene muchos. Una diferencia que sí hay entre uno y otro es que para identificar la unidad grabadora utiliza los dispositivos <tt>/dev/srX</tt> y no va directamente al bus SCSI, lo cual puede resultar mas fácil de usar. Por defecto <tt/cdwrite/ busca <tt>/dev/cdwriter</tt> como dispositivo por defecto de la grabadora, por lo que si hace un enlace simbólico del dispositivo <tt>/dev/sgX</tt> a <tt>/dev/cdwriter</tt> con el dispositivo de acceso genérico correspondiente, (vea sección <ref id="gener" name="Dispositivos genéricos">) se ahorrará un parámetro más que poner. <tt/cdwrite/ necesita que se le especifique el tamaño en bytes de la imagen que va a grabarse; para saberlo, usamos el programa <tt/isosize/ (lo podemos encontrar dentro del paquete de distribución de <tt/cdwrite/ con otras utilidades extra que nos pueden venir muy bien); si nuestra imagen se llama <tt>imagen.iso</tt>: <tscreen><verb> # isosize imagen.iso 382060544 </verb></tscreen> nos informa de que el tamaño es <tt/382060544/, parámetro que le especificaremos posteriormente con <tt/-b/. podemos usarlo también con CD-Roms o particiones, si hemos generado la imagen directa a una partición en lugar de a fichero: <tscreen><verb> isosize /dev/sda1 634986355 </verb></tscreen> Si hemos volcado la imagen generada por <tt/mkisofs/ en la primera partición del primer disco SCSI (con la opción <tt>-o /dev/sda1</tt>). Algunos ejemplos de cómo se usa <tt/cdwrite/ son: <tscreen><verb> cdwrite -ve -s 2 -b 382060544 -D /dev/sgd -data /dev/scd0 </verb></tscreen> Copiará directamente el CD que esté en el primer CD-Rom SCSI del sistema a la grabadora, expulsará el CD una vez listo, e irá informando del transcurso de la grabación; <tt/382060544/ es el tamaño del CD en cuestión, que hemos averiguado previamente mediante <tt/isosize/. <tscreen><verb> cdwrite -s 2 -e -D /dev/sgd -b 382060544 -data image.iso -audio *.cdr </verb></tscreen> Grabará un CD mixto de datos y audio, en donde el parámetro <tt/-s/ indica la velocidad de grabación (equivale al <tt/speed=2/ del <tt/cdrecord/), el parámetro <tt/-e/ expulsa el CD al terminar (equivalente al <tt/-eject/), el <tt/-D/ indica la unidad grabadora, aunque si ha hecho un link de <tt>/dev/sgd</tt> (por ejemplo) a <tt>/dev/cdwriter</tt> no hace falta que lo especifique; y por último igual que en el anterior están los parámetros <tt/-data/ y <tt/-audio/, estando el formato de los ficheros de sonido en <it/Compact Disc Digital Audio/ (extensiones <tt/.cdda/ o <tt/.cdr/); podemos pasarlo de otros formatos a éste mediante el programa <tt/sox/. <tt/cdwrite/ necesita que el orden de la palabra del fichero de audio sea el apropiado para su grabadora, u obtendrá un CD en el que sólo se escuche un desagradable <it/ruido/. Consulte la sección <ref id="audio" name="Software de extracción de audio">. No podrá hacer CDs multisesión con este programa. Para hacer CDs multisesión tendrá que usar las opciones que lleva el <tt/mkisofs/ para este fin, generando una imagen multisesión. <sect2><tt>cdrdao</tt> <p> Parece ser que se ha conseguido que este programa haga lo que se quería, copiar CDs al vuelo, incluso los mixtos, de música, y ohhhhhhh, de ¡Playstation!. No dejéis de ver la sección dedicada a este programa porque merece la pena. <sect1>Entornos Integrados <p> <sect2>X-CD-Roast <label id="xcdroast"> <p> Puede obtener este programa de <tt><htmlurl url="http://www.fh-muenchen.de/rz/xcdroast/" name="http://www.fh-muenchen.de/rz/xcdroast/"></tt>. Este programa es el más sencillo de usar ya que está hecho para las X con un interfaz TCL/TK y se basa en modificaciones del <tt/cdrecord/ y <tt/mkisofs/ para su funcionamiento. En versiones anteriores utilizaba un derivado del <tt/cdwrite/, pero tuvo que dejarlo ya que <tt/cdwrite/ ha dejado de desarrollarse. La mayor ventaja que tiene este programa es su facilidad de uso y que detecta y configura los dispositivos automáticamente, además de funcionar correctamente y sin problemas. Con él puede configurar y hacer las imágenes de CD fácilmente sin necesidad de ir a la línea de comandos, así como extraer pistas de audio y volver a grabarlas gracias a sus modificaciones del <tt/readcdda/ y <tt/playcdda/ (que sólo se pueden usar con dispositivos SCSI). Si quiere sacar pistas de audio con un lector IDE lector ha de usar el <tt/cdda2wav/, aunque no todas la unidades lectoras soportan la extracción de pistas CDDA o de CD-Audio. Puede hacer una copia directa de CD a CD, siempre que sean sólo de datos, y que las dos unidades, la grabadora y la lectora, sean dispositivos SCSI, ya que con las IDE no funciona muy bien, debido no al programa en sí, sino mas bien por las características de las unidades IDE, ya que no suelen satisfacer las capacidades de carga de las grabadoras. Aun así he llegado a comprobar como unidades del tipo Philips IDE de 32x en adelante funcionaban perfectamente. Lo normal es que no tenga problemas para grabar con este programa siempre y cuando su grabadora sea SCSI, cuando sea IDE o usa la ultima versión <tt/0.96d final/ o superior o no conseguirá que salga ni un solo CD bien. <sect2>Burn-It <p> Este entorno utiliza las últimas versiones de <tt/cdrecord/, <tt/mkisofs/ y <tt/cdda2wav/, lo más peculiar sin duda es que esta escrito íntegramente en java; su desarrollo es muy rápido. Puede obtenerlo de <tt><htmlurl url="http://www.imada.ou.dk/˜jews/BurnIT/" name="http://www.imada.ou.dk/˜jews/BurnIT/"></tt>. <sect2>CDR <p> CDR son las siglas de <it>Create/Duplicate/Rip</it> (<it>Crear/Duplicar/Extraer</it>). Su utilidad actualmente es más que nada para la preparación de audio que posteriormente va a ser grabado con <tt/cdrecord/ o <tt/cdwrite/ desde la línea de comandos. Provee una interfaz tipo <it/ncurses/. Sólo extrae de unidades SCSI. Puede obtenerlo de <tt><htmlurl url="http://www.burdell.org/cdr.shtml" name="http://www.burdell.org/cdr.shtml"></tt>. <sect1>Otros programas y utilidades <p> Hay varias utilidades entre las que tengo que destacar <tt/sdir/, <tt/isovfy/, <tt/cdinfo/ y <tt/isodetect/, que son pequeñas, de consola, pero muy útiles a la hora de comprobar y verificar CDs. Estas pequeñas utilidades se pueden encontrar en el FTP de sunsite <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/" name="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/"></tt> y otras que se pueden encontrar tanto en el paquete de X-CD-Roast (sección <ref id="xcdroast" name="X-CD-Roast">) como en el de <tt/cdrecord/ (<ref id="cdrecord" name="cdrecord">). Por ejemplo, <tt/sdir/ nos puede ayudar a saber el tamaño total de un directorio y sus subdirectorios lo cual resulta muy útil cuando queremos evaluar y calcular el tamaño del CD a copiar al vuelo; <tt/isovfy/ nos sirve para verificar que no hayan errores en una imagen creada en el disco duro; <tt/cdinfo/ nos puede ayudar a comprobar que se han copiado bien los CDs y no sólo eso, este pequeño programa muestra la estructura de un CD en minutos y segundos, nos dice si es arrancable, los sistemas de ficheros que contiene, si lleva pistas de audio o es un vídeo CD, etc; por último, con <tt/isodetect/ podemos ver la etiqueta del volumen de un CD así como los comentarios de los mismos. Descripción de las utilidades: <descrip> <tag/sdir/ este programa muestra la capacidad de un directorio con sus subdirectorios. Los parámetros a pasarle son directorios. <tag/isodetect/ programa para ver el volumen, el editor, el publicador y la aplicación de una imagen. Su sintaxis es la siguiente: <itemize> <item><tt/-h/ Muestra la ayuda. <item><tt/-d/ y un nombre de un archivo de imagen o de un dispositivo le indican en dónde realizar la búsqueda; por defecto busca en <it>/dev/cdrom</it>. Si no se indican mas parámetros indicará el tipo de imagen que es, iso9660 o HFS. <item><tt/-V/ muestra el nombre del volumen de la imagen o CD. <item><tt/-P/ muestra el comentario que hay como publicador. <item><tt/-p/ muestra el comentario que hay como preparador. <item><tt/-A/ muestra el comentario que hay como aplicación. </itemize> Sólo se puede indicar un comando a la vez con <tt/-d/. Este programa se puede encontrar en el paquete <tt/X-CD-Roast/ (sección <ref id="xcdroast" name="X-CD-Roast">). <tag/cdinfo/ excelente y pequeña utilidad que nos muestra la estructura de un CD; en lo que a pistas se refiere, identifica CDs mixtos, arrancables, con sistema HFS, CD Plus, etc. (Altamente recomendada y muy útil). La última versión se puede descargar desde <tt><htmlurl url="http://www.in-berlin.de/User/kraxel/dl/cdinfo.c" name="http://www.in-berlin.de/User/kraxel/dl/cdinfo.c"></tt> Desgraciadamente, parece ser que se ha abandonado su desarrollo. <tag/isovfy/ Esta pequeña utilidad nos servirá para encontrar posibles errores en las imágenes. Su sintaxis es muy sencilla, solamente se le ha de indicar un dispositivo de bloque o el nombre del fichero imagen. Este programa viene en el paquete de <tt/X-CD-Roast/ (sección <ref id="xcdroast" name="X-CD-Roast">). </descrip> <sect>Software DAO y generadores de subcódigos. <p> <sect1><tt>cdrecord 1.8</tt> <label id="cdrecorddao"> <p> Puede obtener la última alpha del servidor FTP <tt><htmlurl url="ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/" name="ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/"></tt>. Descripción de los nuevos comandos para la nueva versión: <descrip> <tag/-useinfo/ Utiliza los archivos de extensión .inf sobreescribiendo las opciones por defecto. <tag/-atip/ Muestra la información referente al CD y sale. Esta información tambien la ofrecia la version anterior pero sólo cuando se disponia a grabar. <tag/-dao/ Graba el medio en Disc-At-Once. </descrip> Ejemplo de como se usa la opción <tt/-atip/ se tiene en la sección referente a crear un sistema <it/ext2/ con el <ref id="mke2fs" name="mke2fs"> en un archivo. Para usar la opción <tt/-useinfo/ necesitamos primero haber extraido con el <tt/cdda2wav/ un CD-Audio al disco duro sin poner la opción <tt/-H/. <tscreen><verb> cdrecord -v dev=0,3,0 fs=16m speed=4 -useinfo *.wav </verb></tscreen> Pues sí, <tt/cdrecord/ tambien graba en <it/DAO/, pero sólo a partir de la versión de desarrollo <tt/1.8a20/. La forma de usar <tt/cdrecord/ es prácticamente la misma solo que para usar las características de la grabación en DAO ha de tener una grabadora que soporte <it/MMC/ y utilizar la opción <tt/-dao/; salvo esto, puede usarlo como haría normalmente. Cuando utilizemos esta opción notaremos una forma distinta de grabar los CDs. En primer lugar veremos una nueva frase que nos muestra el <it/cdrecord/, <tt/Sending CUE Sheet./ que nos indica que lo primero que está haciendo es escribir las separaciones de las pistas, los gaps y pregap para luego grabar todo, incluida la TOC sin desactivar el laser de grabación. Gracias a esta opción se puede ahorrar unos segundos o minutos si se tiene que grabar un CD con muchas pistas de audio. Un ejemplo podria ser: <tscreen><verb> cdrecord -v dev=3,0 fs=16m speed=4 -dao /imagen.iso /audio/*.wav </verb></tscreen> y tambien si se pretende copiar directemente desde un CD <tscreen><verb> cdrecord dev=3,0 speed=4 fs=16m -v -dao -isosize /dev/sr0 -audio /wavs/*.wav </verb></tscreen> <sect1>CD Builder <p> Prometedora aplicación, con entorno gráfico en X-Window, que permitirá generar escaletas (<it/cue sheets/ para la creación de CDs, así como de subcódigos, como CD-G, CD-TEXT, etc. En la actualidad está en su primera etapa (<it/alpha/ de desarrollo, aunque dotado de cierta funcionalidad. Puede obtenerlo de <tt><htmlurl url="http://www.ccs.neu.edu/home/bchafy/cdb/cdb.html" name="http://www.ccs.neu.edu/home/bchafy/cdb/cdb.html"></tt>. Al parecer se ha abandonado el desarrollo de este programa. <sect1><tt>cdrdao</tt> <label id="cdrdao"> <p> Este programa ha evolucionado tanto que la copia en <it/DAO/ y al vuelo está empezando a dar sus frutos. Es posible copiar CDs al vuelo sin volcar los datos al disco duro incluso con las pistas de audio; el problema en este último aspecto es que no soporta todas las unidades lectoras a pesar de incorporar código del <it/CDParanoia/ para realizar la extracción de audio. Echándole un vistazo a la documentación se puede ver qué unidades están soportadas; tanto unidades grabadoras, incluyendo modelos SCSI e IDE, como unidades lectoras que hayan sido probadas sin problema. También se pide que si su unidad está soportada para extraer Audio con <it/cdparanoia/, pero no con <tt/cdrdao/, le envíe la información que se obitene de ejecutar el comando <tt/cdparanoia -v/ a la dirección de correo del autor, que tratará de incorporarar su unidad lo antes posible. Todo lo referente a las unidades soportadas se encuentra en el archivo <tt/README/ del paquete del código fuente. En el mismo paquete se encuentran otras utilidades bastante interesantes que comentaré seguidamente una vez explicados los comandos de esta utilidad. La última versión, recomendada y realmente funcional, la <tt/1.1.3/, se puede obtener de <tt><htmlurl url="http://www.ping.de/sites/daneb/cdrdao.html" name="http://www.ping.de/sites/daneb/cdrdao.html"></tt>. Descripción de los comandos del programa: <descrip> <tag/Utilización del programa:/ <tscreen><verb> cdrdao comando [opciones] archivo-toc </verb></tscreen> <tag/comando/ indicamos al programa qué es lo que queremos hacer. Los comandos disponibles son: <itemize> <item><tt/show-toc/ Muestra la TOC y sale. <item><tt/toc-info/ Muestra una pequeña descripcion de la información del archivo TOC extraido previamente. <item><tt/toc-size/ Muestra el número total de bloques para la TOC. <item><tt/read-toc/ Crea un archivo TOC desde un CD. <item><tt/read-cd/ Crea el archivo TOC y extrae el contenido del CD. <item><tt/show-data/ Muestra el contenido de los datos y sale. <item><tt/read-test/ Realiza una prueba de lectura de todas las pistas y sale. <item><tt/disk-info/ Mustra información sobre el disco que hay en unidad. <item><tt/unlock/ Desbloquea la unidad despues de un fallo de escritura. <item><tt/simulate/ Ya no se utiliza, ahora es <tt/write --simulate/. <item><tt/write/ Graba un CD. <item><tt/copy/ Copia, esto se utiliza para la copia <it/al vuelo/. </itemize> <tag/opciones/ Aqui se describen las diferentes opciones que soporta el programa. <itemize> <item><tt>--device (x,y,z)</tt> Especifica el dipositivo de la grabadora. Se puede suprimir si existe un enlace simbólico del dispositivo correspondiente a su grabadora a <tt>/dev/cdrecorder</tt>. Se puede indicar tanto la del dispositivo directo como el identificador SCSI, ejemplo: <tt/0,3,0/ o <tt>/dev/sr1</tt> <item><tt>--source-device (x,y,z)</tt> Aquí especificamos la unidad desde la cual tomaremos los datos para realizar la copia. Se puede especificar tanto un dispositivo como un identificador SCSI. Es necesaria si usamos el comando <it/copy/. <item><tt>--driver (id)</tt> Forzamos al programa a usar un controlador específico para la grabadora. <item><tt>--source-driver (id)</tt> Forzamos al programa a usar un controlador específico para la unidad lectora. Es necesaria si usamos el comando <tt/copy/, aunque no si el programa identifica correctamente esta unidad. <item><tt>--simulate</tt> Para realizar una copia con el láser desactivado, en modo de simulación o prueba. <item><tt>--multi</tt> No cierra el CD, para poder crear un CD multisesión. <item><tt>--eject</tt> Expulsa el CD una vez grabado. <item><tt>--swap</tt> Invierte el orden de palabra de las pistas de audio. <item><tt>--on-the-fly</tt> Realiza una copia al vuelo, no crea imagen. <item><tt>--datafile (archivo)</tt> Nombre del archivo de datos en donde se encuentran los datos a los que hace referencia el archivo TOC. Usado por <tt/read-cd/, <tt/read-toc/ y <tt/copy/. <item><tt>--buffers (número)</tt> Expecifica el tamaño del buffer (min. 10). <item><tt>--session (número)</tt> Selecciona la sesión para <tt>read-toc/read-cd</tt>. <item><tt>--fast-toc</tt> No extrae los <it/pre-gaps/ ni las marcas índice. <item><tt>--read-raw</tt> Lee los sectores <it/raw/ para <it/read-cd/. <item><tt>--paranoia-mode (número)</tt> nivel de <it/paranoia/ para la extracción de audio <it/(0..3)/. <item><tt>--reload</tt> Relee el disco si es necesario para grabar. <item><tt>--force</tt> Fuerza la ejecución de la operación. <item><tt>-v (número)</tt> Expecifica el nivel de muestra de datos. <item><tt>-n (número)</tt> No hace una pausa después de grabar. </itemize> </descrip> De aqui hay que comentar que el comando <tt/copy/ sólo se usa para copiar un CD directamente, si tenemos una imagen y la queremos copiar hay que usar el comando <it/write/. Un tamaño muy recomendado del buffer es 64, y de ahí en adelante, aunque con 64 creo que es más que suficiente. <sect2>Copia al vuelo de CD-ROMs. <p> Ahora una breve descripción de lo que más nos interesa del programa, la copia directa (al vuelo) sin imagen. <tscreen><verb> cdrdao copy -v 2 --device 0,3,0 --source-device 0,1,0 --speed 4 --buffers 64 \ --reload --eject --on-the-fly --fast-toc </verb></tscreen> Este es el comando que utilizo para duplicar cualquier tipo de CD al vuelo. Al ponerle la opción <it>--fast-toc</it> realiza una lectura rápida de la tabla de contenidos del CD, de lo contrario primero leerá y comprobará el CD fuente, lo que tardará lo que necesite su lector, y luego lo copiará. Si le indicamos el susodicho parámetro, leerá la TOC de forma rápida y empezará enseguida a copiar. El resto de parámetros no necesitan de una explicacion más detallada. Es recomendable que cuando se copie un CD de música o mixto se utilice de la siguiente manera con la opción <tt>--paranoia-mode</tt>: <tscreen><verb> cdrdao copy -v 2 --device 0,3,0 --source-device 0,1,0 --speed 4 --buffers 64 \ --reload --eject --on-the-fly --fast-toc --paranoia-mode 0 </verb></tscreen> Con la opción <tt/--paranoia-mode/ le especificamos en que modo ha de ser paranoico a la hora de extraer las pistas de audio, si le especificamos <tt/0/, será lo menos posible y es el que se recomienda a la hora de grabar al vuelo ya que se desactiva la verificacion de errores, que como es normal, reduce la transeferencia de datos ya que la unidad lectora se dedica más tiempo a comprobar los posibles defectos de las pistas e intentar corregirlos que a pasarle los datos a la grabadora, por lo que si no le ponemos este modo es muy posible que se produzca un <it/buffer underrun/ y perder el CD. Si lo que queremos es que los verifique le indicamos modo <tt/3/ y será tan paranoico que para extraer una pista de audio en un lector 32X SCSI (como mi TEAC) tardará más tiempo que dura la misma cancion al reproducirla; con esto el programa se asegura de que no pierda calidad y de correguir posibles errores en el CD. Este modo es recomendable cuando tengamos algun CD en mal estado y la única forma de poder grabarlo sea volcando primero a disco duro. <sect2>Extracción y grabación de imágenes DAO con cdrdao. <p> Otra de las funciones que nos puede interesar muchisimo es la de extraer una imagen al disco duro, como por ejemplo para lo dicho anteriormente, para cuando tengamos algun CD que no podamos grabar al vuelo por estar defectuoso, o bien, para grabarlo mas tarde. El comando a utilizar es el siguiente: <tscreen><verb> cdrdao read-cd -v 2 --device 0,1,0 --read-raw --datafile imagen.bin imagen.toc </verb></tscreen> De esta forma conseguimos extraer una imagen en el archivo <tt/imagen.bin/ del contenido del CD-ROM fuente y el en archivo <tt/imagen.toc/ almacenamos la información que nos servirá posteriormente para poder grabar y dejar el nuevo CD tal y como estaba el original. El comando a utilizar es el siguiente: <tscreen><verb> cdrdao write -v 2 --device 0,3,0 --speed 4 --buffers 64 imagen.toc </verb></tscreen> Como habrá notado, no hemos indicado el nombre de la imagen ya que la toma del archivo que contiene la información TOC. El indicarle la opción <tt/--datafile/ con el nombre de la imagen es sólo para identificarla, por si tenemos más de una extraida en el disco duro; sino, por defecto la imagen se llamará <tt/data.bin/. Si diese la casualidad de que ya hubiera un archivo con el mismo nombre, el programa detendrá el proceso mostrando una advertencia, indicando de que ya existe el archivo. También se puede usar el <tt/cdrdao/ para copiar una imagen de datos que hayamos hecho, pero no lo recomiendo; ya que primero tenemos que crear un archivo TOC, cosa que resulta más laborioso que copiarla con el <it/cdrecord/. <sect2>Scripts que acompañan a cdrdao. <p> Se puede usar <tt/cdrdao/ para copiar archivo <tt/.wav/, y que gracias a un script en PERL que incluye en el directorio <tt>/contrib/wav2dao/</tt> del paquete del código fuente podamos copiar dichas pistas sin que al final de las mismas nos ponga 2 segundos de silencio. Para obtener la ayuda del programa ponemos: <tscreen><verb> wav2dao.pl -H </verb></tscreen> Deberia funcionar simplemente con <tscreen><verb> wav2dao.pl -d /dev/sr0 -w -n *.wav </verb></tscreen> En el directorio de los fuentes <tt>/contrib/mp32dao/</tt> encontramos otro script en PERL para realizar de forma automática la extracción de los archivo <tt/.mp3/ a <tt/.wav/, nos crea la TOC y nos graba el CD, interesante, ¿no?. Debido a la falta de algunos archivos en la distribución del PERL en mi sistema no he podido probarlo. Este script hace uso del programa <it/mpg123/ que se encuentra en la mayoria de distribuciones del mercado o bien por internet. Puede que necesite completar su distribución perl con módulos del CPAN (<it/Comprehensive Perl Archive Network/) <tt><htmlurl url="http://www.cpan.org" name="http://www.cpan.org"></tt> para hacer uso de este script. <sect2>Duplicado de CD-ROMs de PlayStation con CDRDAO. <p> Por último tenemos en el directorio <tt>/contrib/psxcopy-x.y/</tt> dos programas y dos scripts para la extracción y copia de los dichosos CDs de PlayStation. Lo siento por aquellos que quieran copiar dichos CDs al vuelo, pero de momento no soportan dicha función, tal vez mas adelante, pero hay que reconocer que ya es un comienzo que por lo menos se puedan grabar, ¿no?. Pues bien, lo primero es compilar los dos programas que son necesarios y luego instalarlos. Una vez compilados sin errores hacemos que los scripts <tt/read-psx/ y <tt/write-psx/ sean ejecutables. Como son dos scripts normales, habrá que editarlos y modicicar los parámetros para que apunten a nuestra unidad lectora y grabadora respectivamente en cada archivo. Una vez hecho eso simplemente introducimos el CD fuente en la unidad lectora, tecleamos: <tscreen><verb> read-psx cd1 </verb></tscreen> y una vez extraído <tscreen><verb> write-psx cd1 </verb></tscreen> <sect2>A tener en cuenta <p> Hay más posibilidades pero las descritas anteriormente son las que son más faciles de usar y que más nos pueden interesar. En próximas versiones ampliaremos el contenido dedicado a este fabuloso programa. Tambien indicar que en el mismo paquete de las fuentes se encuentra un interfaz para X, el problema es que no soporta la grabación al vuelo. <bf>ATENCION</bf>: Durante la utilización del programa para la duplicación de un CD-ROM al vuelo, no se podrá acceder de ninguna de las maneras a la unidad. Si se intenta montar la unidad fuente, por ejemplo, el proceso de grabación terminará con errores y el CD origen no se completará, perdiedo un disco. Esto se puede comprobar grabando un disco en modo de pruebas o de simulación y accediendo a la unidad desde donde se obtienen los datos. <sect>Preguntas de Uso Frecuente <label id="PUF"> <p> <sect1>Cuando grabo con <tt>cdrdao</tt>, muestra una capacidad de casi 750 megas para un CD 74 minutos. ¿Esto a que se debe? <p> Una curiosidad que se observa mientras se está grabando un CD con el programa es que en lugar de decirnos el tamaño de cada pista que se está grabando nos muestra una capacidad abismal del borde de los 750 megas para un CD 74 minutos completo. Esto se debe a que la grabación que ofrece este programa no es en megas reales de ordenador sino en megas de CD, que en lugar de ser de 8/16/32 bits es de 12'5 bits, de ahí el tamaño. No tiene porque asustarse, es completamente normal. Otra de las ventajas que he podido apreciar es que ofrece mucha información sobre el CD antes de realizar el proceso de grabación. <sect1>Me sale un mensaje muy parecido al siguiente después de que el disco duro deje de funcionar durante unos segundos. <label id="fallos"> <p> Me sale este mensaje después de que el disco duro deje de funcionar durante unos segundos: <tscreen><verb> hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest} hda: disabled DMA ide0: reset: success </verb></tscreen> Tiene que recompilar el kernel y desactivar el soporte para el chip Intel Tritón (I/II) DMA, ya que su disco duro no soporta extracción por DMA. Esto puede ocasionar problemas a la hora de estar grabando un CD, puesto que el disco duro se puede parar durante 6 a 9 segundos, hasta que el kernel se da cuenta, resetea el IDE y desactiva la extracción DMA para ese disco, (con las unidades de CD-ROM que no lo soporten también) tiempo suficiente para que el CD pueda salir dañado al no llegarle constantemente los datos. En el caso de estar emulando dispositivos SCSI es rotundamente necesario desactivar dicha opción en el kernel ya que en el momento en que pase, el bus se quedará colgado al hacer interferencia el controlador IDE y la emulación SCSI, haciendo que no pueda leer de las unidades al estar literalmente bloqueadas, por lo que el único remedio suele ser apagar el ordenador. <sect1>¿Hay alguna forma de hacer una imagen exacta de un CD al disco duro que no sea copiar los ficheros del CD al disco y luego sacar la imagen? <p> Sí. Hay una forma de transferir una copia binaria de un CD directamente a disco duro, haciendo simplemente un <tt/cat/ o <tt/dd/ del dispositivo donde tenga la unidad lectora de CD (normalmente el enlace <tt>/dev/cdrom</tt>) y redireccionando a un archivo o partición libre en el disco duro; de esta forma podremos hacer una imagen exacta del CD si no tenemos una unidad secundaria desde donde copiarlo, o si queremos comprobar la legibilidad del CD. Un ejemplo de cómo se hace es <tscreen><verb> cat /dev/cdrom > imagenCD.iso </verb></tscreen> o <tscreen><verb> dd if=/dev/cdrom of=imagenCD.iso </verb></tscreen> una vez hecho esto sólo tenemos que usar esa imagen para grabar y obtendremos una copia exacta del CD original. Si el CD lleva pistas de audio tendrá que extraer las pistas de audio primero a disco con un extractor digital como <tt/cdda2wav/, o <tt/readcdda/, suponiendo que su lector lo soporte, sino puede hacerlo desde la grabadora (ver sección <ref id="mtbf" name="¿Se puede usar la grabadora para leer o extraer?">). <sect1>¿Se puede copiar de CD a CD (sólo de datos) directamente sin ningún problema? <p> Efectivamente se puede copiar de CD a CD sólo de datos sin ningún problema, pero eso sí, (el típico pero) no es nada recomendable hacer la copia desde un CD IDE y sobre todo si la unidad lectora se para o hace cosas raras. Para las grabadoras IDE no recomiendo (como ya dije anteriormente) que ponga la unidad lectora en el mismo puerto IDE que la grabadora. Si lo hace así, hágale muchas pruebas antes de proceder. Para grabar directamente de CD a CD basta con indicarle al programa grabador que la imagen la obtenga del dispositivo lector, es decir <tt>/dev/scdX</tt>. <tscreen><verb> cdrecord -v dev=0,0,0 speed=2 fs=8M -isosize -eject /dev/sr1 </verb></tscreen> En este ejemplo podemos ver cómo se hace una copia directa desde la unidad lectora a la grabadora (IDE en este caso), y si se da cuenta, el parámetro <tt/-isosize/ es para forzar al programa grabador a que determine primero el tamaño del CD imagen ya que por sí solo no lo hace, e intenta leer los dos ultimos bloques, pudiendo resultar un CD defectuoso. <sect1>¿Puedo duplicar directamente un CD mixto o de audio? <label id="DAO"> <p> Actualmente, solo un programas para grabación de CDs bajo Linux permite duplicar directamente un CD mixto (1 o varias pistas de datos y una o varias de audio) sin extraer al menos las de audio a disco duro gracias a que soporta duplicación de tipo <it/DAO/ (<it/Disk At Once/) y <it/OTH/ (<it/On The Fly/). Por supuesto, la unidad grabadora ha de soportarlo, además del programa; además, el lector de CDRom ha de estar soportado por el programa para poder extraer las pistas. Ver sección <ref id="cdrdao" name="cdrdao">. <sect1>¿Puedo duplicar CDs en formato xa2? (Por ejemplo, de PlayStation) <p> La respuesta a si se puede duplicar un CD en mode xa2 es <bf>sí</bf>. SI. ¿Cómo? ¿Ahora sí? Pues sí, gracias al <it/cdrdao/ ahora es posible duplicar CDs de PlayStation. El problema de los CD-ROM de PlayStation es que incorporan un sistema de grabación basado en la pista 0. Esta pista está grabada como de datos y es errónea desde el punto de vista del estándar <it/ISO9660/. No obstante, con las extensiones de nuestros sistemas somos capaces de leerlas. Al copiar con <tt/cdrecord/ la pista 0 pasa a ser pista 1; la PlayStation no coge el CD, ya que el busca la pista 0 sin encontrarla. Esa es la razón de usar un programa tipo <it>DAO</it>/<it>OTH</it> para hacer este tipo de copias. software/grabadora/lector que soportase duplicación DAO, como ahora lo hay. Ver sección <ref id="DAO" name="¿Puedo duplicar un CD mixto o de audio?">. <sect1>¿Hay alguna FAQ genérica sobre CD-R o CD-RW? <p> Sí. En ella puede consultar desde qué tipo de CD-R vírgenes son mejor para qué cosa hasta qué grabadora es la más recomendable, o cuáles son en realidad productos OEM basados en marcas conocidas. Su autor es Andy McFadden, puede consultarla en <tt><htmlurl url="http://www.fadden.com/cdrfaq/" name="http://www.fadden.com/cdrfaq/"></tt> Eso sí, está en inglés, aunque puede aprovechar el traductor de Altavista: <tt><htmlurl url="http://babelfish.altavista.digital.com/cgi-bin/translate" name="http://babelfish.altavista.digital.com/cgi-bin/translate"></tt>. La traducción es un poco burda, pero menos da una piedra... <tt/:)/. <sect1>He grabado un CD de Audio, pero al escucharlo sólo se oye un zumbido horripilante... <p> Consulte la sección <ref id="audio" name="Software de extracción de audio">, Ha utilizado el orden de palabra binaria <it/endian/ equivocado para grabar ficheros de audio. <sect1>Problemas con más de un dispositivo en controladoras SCSI NCR <p> Poseo una controladora Ultra-SCSI NCR 53c810a a la cual tenia conectada la grabadora, y en las opciones de configuración del kernel me aparecen una serie de parametros opcionales que no recomiendan ellos mismos que se activen, a no ser que los dispositivos den problemas o cuelguen el sistema. Pues bien, cuando tenía sólo la grabadora y estos tres parámetros activados efectivamente el sistema se colgaba. Posteriormente adquirí una unidad lectora SCSI para poder realizar duplicaciones directas, pero en las duplicaciones aparecían errores por todos sitios. Me di cuenta de que la unidad lectora no funcionaba a todo su rendimiento, asi que activé todas las opciones del kernel para mi controladora, solucionando el problema y comprobando que mi sistema no se caía. Pero los problemas no acabaron ahí, cuando intentaba extraer audio la controladora se me colgaba, teniendo que resetear, así que me puse a recompilar el kernel de nuevo y cuál fue mi sorpresa al ver que no sólo había ese controlador para las tarjetas NCR de la serie 53c8xx. El problema no era de la controladora sino del controlador que estaba usando. Por lo tanto cambié de controlador al más novedoso y recomendable, el <tt/ncr53c8xx/, solucionando el problema y dejando de tener todos los inconvenientes anteriormente citados, funcionando todo a la primera. De aquí deduzco que hay que fijarse mucho en todos los controladores disponibles, ya que por ejemplo para las controladoras NCR hay más de uno; familiarícese con su controladora. Esto es un ejemplo de lo que puede pasar si el controlador de su dispositivo SCSI no corresponde lo mas recientemente con su controladora SCSI. <sect1>¿Como se crea un CD Mixto? <p> Para crear un CD en modo mixto, es decir, con una primera pista de datos y las siguientes de audio hemos de crear una imagen de datos con el <tt/mkisofs/ y tener las pistas de audio listas en algún directorio, procediendo con <tt/cdrecord/ de la siguiente manera: <tscreen><verb> cdrecord -v dev=4,0 speed=2 fs=16m -eject image.raw -audio /wavs/*.wav </verb></tscreen> y si lo que queremos es copiar una CD de este tipo, lo primero es extraer las pistas de audio al disco duro con, por ejemplo, el <tt/cdda2wav/ y luego usar el <tt/cdrecord/ de esta forma: <tscreen><verb> cdda2wav -D 0,2,0 -B -t 2+9 cdrecord -v dev=1,0 speed=4 fs=16m -nopad defpregap=0 pregap=0 -isosize \ /dev/cdrom -audio *.wav </verb></tscreen> Las opciones que he incluido <tt>-nopad defpregap=0 pregap=0</tt> nos sirven para que el CD ocupe un poco menos al ser grabado y no grabar espacios entre las imágenes. Recomiendo usarlas en las copias de CD mixtos y CD Plus. <sect1>¿Como se graba un CD multisesión? <label id="cdmix"> <p> ATENCION: No es posible crear CDs Multisesion con formato Joliet. El asunto de un CD multisesión es complicadillo. Si comenzamos con que hemos grabado una imagen digamos de 200 MB y también queremos grabar otra de otros 200 MB a continuación no podremos, es decir, primero tendremos que grabar una, y después crear la segunda imagen con unas opciones que tenemos que sacar de <tt/cdrecord/, pasándoselas a <tt/mkisofs/ como muestra el ejemplo: <tscreen><verb> cdrecord dev=4,0 -msinfo </verb></tscreen> Para obtener el número que hace falta, es decir, la información multisesión del CD. Sólo funciona con CDs que hayan sido grabados con la opción <tt>-multi</tt>. Entonces le pasamos a <tt/mkisofs/ el número que puede ser: <tt/0,131456/ de la siguiente forma: <tscreen><verb> mkisofs -v -a -C 0,131456 -r -R -T -V "CDROM" -N /imagen1.iso -o /imagen2.iso /files/. </verb></tscreen> Como se puede observar, también se ha incluido el parámetro <tt>-N</tt> con el nombre de la imagen anteriormente copiada al CD, aunque si la hemos copiado podemos indicarle el nombre del dispositivo en el que se encuentra, si bien no he comprobado esto último. Luego procedemos a copiar la imagen con el <tt/cdrecord/ de forma normal con el parámetro <tt/-multi/ para que sea multisesión. <sect1>¿Como se crea un CD Plus? <p> ¿Pero qué es un CD Plus? Un CD Plus contiene primero pistas de audio y al final una pista de datos. ¿Qué raro no? ¿Y para qué sirve? Se usa de forma común para usar este tipo de CDs con lectores de CD-Audio normales, ¿Ha probado a escuchar un CD de datos en un lector de CD-Audio normal? Para crear este tipo de CDs lo primero es crear una imagen sin archivos en ella, es decir, hacer una imagen básica desde un directorio en el que no hayan archivos. Grabamos las pistas de audio y la imagen básica que hemos creado con la siguiente sentencia: <tscreen><verb> cdrecord -v dev=4,0 speed=4 fs=16m -multi -audio *.wav -data imagen.iso </verb></tscreen> una vez grabada, obtenemos la información de multisesión del CD y hacemos la imagen y la grabamos de la misma forma que está explicada en la sección <ref id="cdmix" name="¿Como se crea un CD Multisesión?">. <sect1>¿Se puede usar la grabadora para leer o extraer? <label id="mtbf"> <p> Sí, pero es algo altamente <bf/desancosejable/. Las razones: <itemize> <item><it/MTBF/ de una grabadora (su tiempo de vida útil) suele ser muy bajo (unas 30000 horas) comparado con el de un lector de CD (unas 150000). <item>El precio de un lector de CD IDE decente es aproximadamente de un 15% a un 20% respecto al de una grabadora, y entre un 20% y un 25% si es SCSI. <item>Las velocidades de lectura de los lectores suelen ser de 40x o incluso 50x. Las de las grabadoras, no pasan de 10x. </itemize> De lo cual se deduce que no es nada rentable, por no decir efectivo, malgastar la vida útil de una grabadora en emplearla como lector. <sect1>Tengo una grabadora HP-7500, y <tt>cdrecord</tt> me hace cosas raras... <p> Como por ejemplo, en un <tt>-scanbus</tt>: <tscreen><verb> bus, target: 0, ,0,0 0 'PIONEER ' 'CD-ROM DR-A02S ' '1.08' Removable CD-ROM bus, target: 0, ,1,0 1 'HP ' 'CD-Writer+ 7500 ' '1.0a' Removable CD-ROM 0,,1,0 1,0 ('HP ' 'CD-Writer+ 7500 ' '1.0a' Removable CD-ROM) == 0,,1,0 1,0 ('HP ' 'CD-Writer+ 7500 ' '1.0a' Removable CD-ROM) </verb></tscreen> O fallos continuos... Necesita aplicar un parche a <tt>cdrecord</tt>, y recompilarlo para que soporte adecuadamente su grabadora. En <tt><htmlurl url="http://www.guug.de:8080/cgi-bin/winni/lsc.pl" name="http://www.guug.de:8080/cgi-bin/winni/lsc.pl"></tt> puede obtenerlo. <sect1>CDRDAO no detecta bien mi unidad <p> La única solución es leer bien el archivo <tt/README/ que acompaña al programa y comprobar si su unidad está realmente soportada en la lista que acompaña. Si realmente no está tiene la posibilidad de enviar un mail al autor para que añada soporte para ella. Pero antes de hacer eso, pruebe con todos los controladores de unidades que soporta el programa, a lo mejor alguno de ellos funciona. <sect1>Sugerencias y peticiones <p> NOTA: Dejo este apartado tal y como está para que se siga aportado ayuda a otros programas que lo necesiten. Si bien el que mas promete en este aspecto es <tt/cdrdao/ pido que el que pueda ayudar en su desarrollo no deje de lado tal programa que nos ayudará mucho si lo aprendemos a utilizar. Referirse al apartado del programa <ref id="cdrdao" name="CDRDAO"> Desde este documento pido la ayuda, dedicación que cada uno pueda aportar a la creación/desarrollo de algún programa DAO (Disk-At-Once) para la duplicación de CD-ROMs, ya que es muy costoso y trabajoso la creación o duplicación de CD Mixtos y de Audio, para que linux esté a la altura de hacer las cosas como lo hacen programas de este tipo para otras plataformas, como los conocidos <it/DAO//<it/CDRWIN/ de MS-DOS/Windows respectivamente de la empresa Golden Hawk y Adaptec Easy CD/Pro. <sect>Créditos <label id="creditos"> <p> Éste documento ha sido escrito por Leandro Terrés <tt><htmlurl url="mailto:lord_lt@retemail.es" name="lord_lt@retemail.es"></tt> tras leer varios documentos en inglés, tanto el CDWriters-HOWTO como los manuales de varios programas que he comentado y gracias a la experiencia obtenida en este campo. Otras partes de este documento son de incorporación propia y pruebas que he ido haciendo, a base de perder algún que otro CD con grabadoras IDE, que es la parte más actual por la que se ha hecho éste documento. Éste documento es propiedad intelectual de Leandro Terrés como parte del Insflug, y del LDP (<it/Linux Documentation Proyect/). Para cualquier modificación, añadidura, traducción, etc. póngase en contacto con el autor. Colaboraciones, añadiduras y correcciones: <itemize> <item> Jorge de Diego Rodríguez, <tt><htmlurl url="mailto:toke@toke.net" name="toke@toke.net"></tt> por su inestimable ayuda en la finalización del apartado sobre las grabadoras IDE/ATAPI por puerto paralelo. <item> Revisión, reestructuración, formateo y ampliación (SCSI, extracción de audio), Francisco J. Montilla, <tt><htmlurl url="mailto:pacopepe@insflug.org" name="pacopepe@insflug.org"></tt> </itemize> a los que desde aqui doy mis más sinceras gracias por la ayuda prestada. <sect>Anexo: El INSFLUG <label id="Insflug"> <p> El <em/INSFLUG/ forma parte del grupo internacional <it/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 <bf/INSFLUG/ se orienta preferentemente a la traducción de documentos breves, como los <em/COMOs/ y <em/PUFs/ (<bf/P/reguntas de <bf/U/so <bf/F/recuente, las <it/FAQs/. <tt/:)/ ), etc. Diríjase a la sede del INSFLUG para más información al respecto. En la sede del INSFLUG encontrará siempre las <bf/últimas/ versiones de las traducciones «oficiales»: <tt><htmlurl url="http://www.insflug.org" name="www.insflug.org"></tt>. 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. Además, cuenta con un sistema interactivo de gestión de fe de erratas y sugerencias en línea, motor de búsqueda específico, y más servicios que estamos trabajando incesantemente para añadir. Se proporcionará también una lista de los servidores réplica (<it/mirror/) del Insflug más cercanos a Vd., e información relativa a otros recursos en castellano. En <tt><htmlurl url="http://www.insflug.org/insflug/creditos.php3" name="http://www.insflug.org/insflug/creditos.php3"></tt> cuenta con una detallada relación de las personas que hacen posible tanto esto como las traducciones. ¡Diríjase a <tt><htmlurl url="http://www.insflug.org/colaboracion/index.php3" name="http://www.insflug.org/colaboracion/index.php3"></tt> si desea unirse a nosotros!. Francisco José Montilla, <tt><htmlurl url="mailto:pacopepe@insflug.org" name="pacopepe@insflug.org"></tt>. </article>