Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 37c5aeaddb0876d2a87daf571c6f662e > files > 23

howto-text-es-2006-5mdv2010.0.noarch.rpm

  Grabadoras de CD - Como
  Leandro Terrés, lord_lt@retemail.es
  v1.6.1, 21 de Noviembre de 1999

  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 soft­
  ware. 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.
  ______________________________________________________________________

  Índice General:

  1.      Introducción

  1.1.    Aportaciones

  2.      Grabadoras soportadas

  3.      Configuración del Kernel

  3.1.    Configurar el Kernel para grabadoras SCSI

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

  3.2.    Configurar el Kernel para grabadoras IDE

  3.3.    Configurar el Kernel para grabadoras IDE-ATAPI por puerto
  paralelo

  3.4.    Otras opciones del kernel recomendables

  4.      Nomenclatura de dispositivos SCSI

  4.1.    Dispositivos genéricos

  4.2.    Dispositivos de bloque

  4.3.    Notación estándar

  5.      Sistemas de ficheros

  5.1.    Joliet y Romeo

  5.2.    Rock Ridge (High Sierra)

  5.3.    HFS (Hierarchical Filesystem)

  5.4.    UDF (Universal Disk Format)

  5.5.    EXT2 (Extended Filesystem II)

  5.6.    El Torito

  6.      Programas necesarios para grabar

  6.1.    Programas para creación de las imágenes

  6.1.1.  mkisofs

  6.1.2.  mkhfs

  6.1.3.  mkhybrid

  6.1.4.  mke2fs

  6.2.    Software de extracción de audio

  6.2.1.  readcdda

  6.2.2.  cdda2wav

  6.3.    Software de grabación

  6.3.1.  cdrecord

  6.3.1.1.        Parámetros configurables permanentemente de cdrecord

  6.3.1.2.        Grabacion sin imagen

  6.3.2.  cdwrite

  6.3.3.  cdrdao

  6.4.    Entornos Integrados

  6.4.1.  X-CD-Roast

  6.4.2.  Burn-It

  6.4.3.  CDR

  6.5.    Otros programas y utilidades

  7.      Software DAO y generadores de subcódigos.

  7.1.    cdrecord 1.8

  7.2.    CD Builder

  7.3.    cdrdao

  7.3.1.  Copia al vuelo de CD-ROMs.

  7.3.2.  Extracción y grabación de imágenes DAO con cdrdao.

  7.3.3.  Scripts que acompañan a cdrdao.

  7.3.4.  Duplicado de CD-ROMs de PlayStation con CDRDAO.

  7.3.5.  A tener en cuenta

  8.      Preguntas de Uso Frecuente

  8.1.    Cuando grabo con cdrdao , muestra una capacidad de casi 750
  megas para un CD 74 minutos. ¿Esto a que se debe?

  8.2.    Me sale un mensaje muy parecido al siguiente después de que el
  disco duro deje de funcionar durante unos segundos.

  8.3.    ¿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?

  8.4.    ¿Se puede copiar de CD a CD (sólo de datos) directamente sin
  ningún problema?

  8.5.    ¿Puedo duplicar directamente un CD mixto o de audio?

  8.6.    ¿Puedo duplicar CDs en formato xa2? (Por ejemplo, de
  PlayStation)

  8.7.    ¿Hay alguna FAQ genérica sobre CD-R o CD-RW?

  8.8.    He grabado un CD de Audio, pero al escucharlo sólo se oye un
  zumbido horripilante...

  8.9.    Problemas con más de un dispositivo en controladoras SCSI NCR

  8.10.   ¿Como se crea un CD Mixto?

  8.11.   ¿Como se graba un CD multisesión?

  8.12.   ¿Como se crea un CD Plus?

  8.13.   ¿Se puede usar la grabadora para leer o extraer?

  8.14.   Tengo una grabadora HP-7500, y cdrecord  me hace cosas
  raras...

  8.15.   CDRDAO no detecta bien mi unidad

  8.16.   Sugerencias y peticiones

  9.      Créditos

  10.     Anexo: El INSFLUG
  ______________________________________________________________________

  1.  Introducción

  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
  PUF (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 1 de este documento
  explicaremos cómo se graban CDs normales, pero para la siguiente
  versión, la 2.0 intentaremos ir mas allá, a las grabadoras DVD,
  momento que bajo mi punto de vista no tardará en llegar.

  1.1.  Aportaciones

  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 ``Créditos'')

  Para hacerlo sólo tiene que o bien utilizar el sistema en línea de
  Insflug, http://www.insflug.org/comos/comos.php3 de adición al sistema
  de fe de erratas, o sugerencias, para que inmediatamente esté
  disponible para todos, y enviar un mail a lord_lt@retemail.es
  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 ;-).

  2.  Grabadoras soportadas

  Podemos dividir el soporte a una grabadora bajo LiNUX en tres
  aspectos:

  1. Que Linux tenga soporte genérico para el bus del que cuelga la
     grabadora.

  2. Que el software específico de grabación soporte la utilización de
     dicho bus para grabar.

  3. Que además de lo anterior, el software específico de grabación
     soporte la grabadora en concreto.

  Respecto al punto 1, Linux soporta genéricamente grabadoras CD-R, CD-
  RW, DVD-R, DVD-RW y DVD-RAM con interfaces:

  ·  SCSI

  ·  IDE/ATAPI

  ·  IDE/ATAPI por puerto paralelo.

  Podemos decir por tanto que, a excepción de las grabadoras SCSI, con
  las que además es preciso que la 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 cdrecord;
  por lo que la cuestión dependerá enteramente de que cdrecord la
  soporte o no; a grosso modo, podemos afirmar que casi todas las
  grabadoras están soportadas.

  En http://www.guug.de:8080/cgi-bin/winni/lsc.pl 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
  cdrecord:  vea la sección ``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.

  3.  Configuración del Kernel

  El primer paso es configurar el kernel para que Linux vea nuestras
  grabadoras y/o lectores correctamente, tanto si son SCSI como IDE 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 /usr/src/linux, donde normalmente se encuentran los
  fuentes. Para asegurarnos de que nada raro pueda pasar, ejecutaremos
  make mrproper lo que elimina todos los binarios, incluso las
  configuraciones; es decir, una limpieza exhaustiva que asegure que no
  haya ninguna interferencia de nada de lo anterior que pueda hacer que
  el nuevo kernel no compile o nos dé errores.

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

  Podrá recurrir en última instancia al viejo programa de configuración,
  un script que se invoca desde la consola con make config y en el que
  tendrá que poner y (si), n (no) y/o m (módulo) 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 Control+C y cancelar
  la configuración volviendo a empezar, o terminar de configurar y
  volver a empezar, (lo configurado anteriormente se mantiene), y
  rectificar lo que haya dejado o haya puesto mal.

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

  3.1.  Configurar el Kernel para grabadoras SCSI

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

  El caso es que se ha comprado un equipo cuya placa madre trae SCSI
  integrada, o una controladora SCSI en la que ha puesto 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 Adaptec, Advansys y
  las basadas en los chip Symbios 53c8xx (NCR), pero si no tiene ninguna
  de éstas no se preocupe, el kernel lleva soporte para muchas más.
  Puede saber qué controladora tiene mirando simplemente los manuales,
  mirando el chip principal de la tarjeta 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
  SCSI Support, lo que luego nos dejará señalar las demás opciones que
  son para dar soporte genérico, y a unidades de CD-ROM, Discos Duros y
  cintas, de las cuales nos interesa el soporte genérico, SCSI generic
  support, que proporciona el interfaz ASPI, (para poder grabar) y el
  SCSI CD-ROM support, para leer unidades de CD-ROM, incluidas
  grabadoras y DVDs.  Si dispone de un disco duro, ZIP o JAZ SCSI deberá
  responder y también si quiere poder usarlo.

  Si por casualidad tiene la grabadora como unidad externa, y la
  controladora SCSI dedicada en exclusiva a ella, recomiendo que ponga
  el driver de la controladora como módulo, es decir, poniendo m en
  lugar de y, ya que le permitirá cargar/descargar a voluntad todos los
  módulos de soporte SCSI cuando no los necesite, y apagar la unidad
  externa cuando no la esté usando (cosa que con windows no es posible
  hasta el W98) ya que al cargar su módulo, la controladora 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 cdrecord
  configurados no serán válidos.

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

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

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

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

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

  1. Módulo scsi_mod.o que es el driver principal del que cuelgan todos:

       insmod scsi_mod

  2. Seguido del módulo de soporte para SCSI genérico (proporciona el
     interfaz ASPI Advanced SCSI Programming Interface, para poder
     grabar CDs, o usar algunos programas con unidades de cinta,
     escáneres, etc) sg.o y el de soporte de CD-ROMs SCSI, sr_mod.o:

       insmod sg
       insmod sr_mod

  3. Por último, hacer un insmod al driver que corresponda a su
     controladora, el cual sacará un debug de lo que encuentre, de tal
     forma que las unidades de CD corresponderán a /dev/sr0 para el
     primer dispositivo CD-ROM SCSI, /dev/sr1 para el segundo, etc,
     independientemente del bus o ID SCSI en el que estén.

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

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

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

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

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

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

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

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

  si ejecutamos el comando:

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

  El kernel activará la grabadora.

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

  y si ejecutamos

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

  La desactivaremos.

  3.2.  Configurar el Kernel para grabadoras IDE

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

  Por esta razón, no es tan sencillo configurar del Kernel para las
  grabadoras IDE. Lo primero es aplicar una pequeña modificación al
  Kernel, sólo necesario si tiene una grabadora Regrabable HP como las
  7100 o 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 Tabla de
  Contenidos, se detendrá con un error y habremos perdido el CD sin
  forma de recuperarlo.

  Para efectuarla, vamos al archivo ide.h que se encuentra en
  /usr/src/linux/drivers/block, y buscamos la siguiente línea:

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

  que tenemos que modificar de modo que quede así:

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

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

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

  Si activamos el soporte IDE/ATAPI para las unidades de CD-ROM el
  kernel no detectará nuestra grabadora como un dispositivo SCSI y
  habremos perdido el tiempo. Hacer que a nuestra grabadora la vean los
  programas como si fuera SCSI es muy sencillo, y se basa en que las
  grabadoras reciben comandos estandarizados (pertenecientes al interfaz
  ASPI, Advanced SCSI Programming Interface) para grabar que por
  casualidad son específicos de los SCSI; de esta forma, con la
  emulación lo que hacemos es que se puedan enviar este tipo de comandos
  a través del bus IDE 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 SCSI
  support e incluir el soporte SCSI en el kernel, junto al SCSI generic
  y el soporte SCSI para los CD-ROM (Ojo, no lo haga como módulo, hay un
  fallo en la configuración para la emulación SCSI a la hora de incluir
  el soporte genérico SCSI en el kernel, por lo que si no lo incluimos
  manualmente en él no podremos compilar el nuevo kernel y es posible
  que se pase un buen rato dándole vueltas a lo mismo).

  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 ``Preguntas de Uso Frecuente'')
  para más detalles).

  3.3.  Configurar el Kernel para grabadoras IDE-ATAPI por puerto par­
  alelo

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

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

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

  Seguidamente, una vez arrancado nuestro sistema entrar en la
  configuración del kernel en Floppy, IDE, and other block devices y
  seleccionar como módulo el parámetro Parallel port IDE device support.
  Seguidamente seleccionar, al menos, también como módulos los
  siguientes:

  ·  Parallel port ATAPI CD-ROMs

  ·  Parallel port generic ATAPI devices

  ·  Shuttle EPAT/EPEZ protocol

  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 depmod -a para
  crear las dependencias de los módulos a fin de poder cargarlos con
  modprobe, kerneld o kmod.

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

  Para usar nuestra unidad como lectora debemos montar la unidad con la
  orden:
       mount /dev/pcd0 /cdrom

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

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

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

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

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

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

  3.4.  Otras opciones del kernel recomendables

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

  Para asegurarnos de que incluimos esta opción en el kernel como módulo
  entramos en la configuración del kernel mediante make menuconfig, y
  accedemos al menú Floppy, IDE, and other block devices; justo tras
  Additional Block Devices se encuentra la opción Loopback device
  support la cual recomiendo seleccionar como módulo, y si en el menú
  principal Filesystems tiene seleccionada la opción 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: insmod loop.

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

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

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

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

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

       mount -o loop imagenCD.iso /mnt/imagenesCD

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

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

  Si tiene pensado hacer imágenes Joliet, le recomiendo que cargue en el
  kernel el soporte para Joliet, en el menú principal Filesystems,
  activar el soporte para ISO9660 en los kernels 2.0.33 en adelante, y
  en los superiores a 2.0.37, o 2.1.x o 2.2.x activar Microsoft Joliet
  CD-ROM extensions; y dentro del submenú Native Language Support
  activar Codepage 437, 850 y 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
  Codepages y NLSs recomiendo que los ponga como módulos si decide
  activarlos, aunque los más utilizados son los mencionados
  anteriormente.

  4.  Nomenclatura de dispositivos SCSI

  Este es un tema para el que convendría que leyera el 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, /dev/scdX o /dev/srX, y los
  dispositivos genéricos, /dev/sgX:

  4.1.  Dispositivos genéricos

  En lo que a nosotros atañe, tanto para extraer audio, como para grabar
  bajo Linux, el kernel ha de tener activado Generic SCSI Support, que
  proporciona la interfaz 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 ASPI.

  El dispositivo genérico de cada unidad conectada al bus SCSI se
  determina mediante su ID SCSI, haga cat /proc/scsi/scsi para ver un
  listado de los disponibles en su sistema, por ejemplo:

       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

  Lo que nos interesa es la línea Host: scsi0 Channel: XX Id: XX Lun: XX
  de cada dispositivo; concretamente Id:.

  El sistema asigna dinámicamente dispositivos sgX por orden de ID a los
  presentes en ese mismo instante; en el ejemplo anterior:

       00 ---> /dev/sga
       01 ---> /dev/sgb
       02 ---> /dev/sgc
       04 ---> /dev/sgd

  cuando decimos 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:

       00 ---> /dev/sga
       01 ---> /dev/sgb
       02 ---> /dev/sgc
       03 ---> /dev/sgd
       04 ---> /dev/sge

  Ahora, la grabadora sería /dev/sge en lugar de /dev/sgd como antes.

  Con lo que queremos decir que hay que tener mucho cuidado con la
  adición de dispositivos SCSI «al vuelo» y el uso de los sgX.

  4.2.  Dispositivos de bloque

  En el caso concreto que nos ocupa, nos interesan los dispositivos ROM:
  /dev/scdX o la nomenclatura nueva, /dev/srX.

  Aquí el primer fichero de dispositivo corresponderá al primer CDROM
  SCSI (incluyendo grabadoras) SCSI disponible en el sistema, /dev/sr0,
  /dev/sr1 será el segundo, etc; da igual el ID SCSI que tenga, o en el
  bus SCSI que esté.

  4.3.  Notación estándar

  En entornos *nix existe cierta notación para identificar dispositivos
  SCSI:

       Numero_Bus_SCSI,ID_SCSI_dispositivo,LUN_dispositivo

  El LUN es un parámetro que siempre va a ser 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 4 en la primera
  controladora SCSI del sistema sería el dispositivo SCSI del sistema
  0,4,0.

  5.  Sistemas de ficheros

  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 extensiones, que permiten ampliar las posibilidades
  originales del ISO9660, como son los nombres largos o incluso sistemas
  de arranque y ciertas cosas más.

  5.1.  Joliet y Romeo

  Estos sistemas fueron diseñados por Microsoft para su plataforma
  Windows 95/NT. Permiten sistemas de archivos tipo VFAT pero con la
  limitación de longitud a 64 caracteres, en Joliet, y de 128 para
  Romeo.
  Para que Linux sea capaz de ver estos sistemas de ficheros ---por
  ahora sólo Joliet--- Necesita tener dicho soporte en el kernel: hasta
  el kernel 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 OSR2 de Windows 95 que le posibilita tener
  particiones de hasta 4 TeraBytes, limitación inexistente en el sistema
  de ficheros de Linux, ext2, que desde su aparición soporta
  precisamente 4 TeraBytes ;)

  Para los que estén usando un kernel de la serie 2.2.x, decirles que
  tanto el soporte Joliet como de 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.

  5.2.  Rock Ridge (High Sierra)

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

  5.3.  HFS (Hierarchical Filesystem)

  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.

  5.4.  UDF (Universal Disk Format)

  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 packet writing, lo cual elimina la posibilidad de un
  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 1.5 del sistema UDF .

  Para más información, consulte estas páginas web:  http://www.osta.org
  para obtener toda la información sobre el sistema UDF y
  http://trylinux.com/projects/udf 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.

  5.5.  EXT2 (Extended Filesystem II)

  Sí, en efecto, no se trata de un formato de ficheros típico de CDRoms,
  lo cual no significa que no pueda hacerse.

  Consulte la sección ``mke2fs''.

  5.6.  El Torito

  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 ``mkisofs''

  6.  Programas necesarios para grabar

  Casi todos los programas que aquí vamos a mencionar pueden obtenerse
  de ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/; 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 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.

  6.1.  Programas para creación de las imágenes

  La parte más importante es hacer una imagen, pero ¿porqué hay que
  hacer una imagen? Muy sencillo, la imagen es el 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 ``Otras opciones del Kernel
  recomendables''

  Sí, ya lo sé, en windows puedo hacer CDs perfectamente sin necesidad
  de hacer imágenes, si continúa leyendo, luego explico cómo podrá hacer
  CDs sin necesidad de hacer imágenes.

  6.1.1.  mkisofs

  Puede obtener este programa de
  ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs.

  La última versión estable disponible es la 1.11 y la de desarrollo es
  la 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 1.12).

  Puede también combinar las dos, es decir, en un solo CD tener los dos
  sistemas, Rock Ridge y 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 1.12).

  Esta explicación está basada en la versión 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:

     -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 ~ y # que son generalmente copias de seguridad
        creados por la mayoría de editores *nix.

     -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 con el que
        poder definir por defecto varias cosas. En concreto este
        parámetro se identifica como APPI= especificando lo que quiera
        poner mientras tenga una extensión no superior a 128 caracteres.
        En versiones anteriores a la 1.12 se debe especificar en la
        línea de comandos con el comentario entre comillas.

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

     -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

     -f o -follow-links
        Con este parámetro hacemos que los enlaces que se encuentren
        dentro del directorio 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 master, es decir, le especificamos
        que siga los enlaces que contenga.

     -help
        Nos muestra la ayuda del programa, muy útil si no nos acordamos
        de alguno de los parámetros.

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

     -J Gracias a esta opción podremos crear CDs con sistema de ficheros
        Joliet. No incluida en versiones anteriores a la 1.12.

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

     -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 core etc...) Se pueden usar comodines o nombre
        completo.

     -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:

          dd if=/dev/zero of=/dev/sda1

     Suponiendo que sda1 sea donde queremos volcar la imagen;  OJO con
     especificar una partición equivocada, o se irá a hacer gárgaras...

     -p o -preparer
        Este es complementario al parámetro -A, con él podremos indicar
        el autor del CD, Tiene una extensión máxima de 128 caracteres.
        Corresponde al parámetro PREP= en el archivo

     -print-size
        Muestra por pantalla el tamaño estimado que ocupará la imagen,
        sin hacer nada más.

     -P o -publisher
        Especifica el editor del CD. Su longitud máxima son 128
        caracteres. En el archivo .mkisofsrc se identifica como PUBL=.

     -quiet
        No muestra mensajes por pantalla.

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

     -r Esta opción es como la anterior pero resetea los permisos de
        modo que todos los usuarios puedan acceder al CD por completo.

     -T o -translation-table
        Con esta opción generamos los archivos de transcripción,
        llamados 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 -l los archivos tendrán
        nombres de 32 caracteres y no de 8+3.

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

     -V Esta opción nos permite darle un nombre de volumen al CD para
        identificarlo. En el archivo .mkisofsrc se especifica con el
        parámetro VOLI= con una extensión máxima de 32 caracteres.

     -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:

          mkisofs ... -x estedirectoriono -x yestetampoco -x nieste

  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:

       mkisofs -a -r -T -o /cd/imagen.iso /ficheros

  Aquí se indica un sistema de ficheros Rock Ridge al que se le incluyen
  todos los archivos que se encuentren en el directorio /ficheros,
  generando archivos TRANS.TBL, para el archivo de imagen
  /cd/imagen.iso.

  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 .mkisofsrc en nuestro directorio
  personal.  Recuerdo que este archivo sólo sirve para la versión 1.12,
  con una sintaxis como ésta:

     VOLI=
        El nombre de volumen.

     PUBL=
        Cualquier cosa que quiera poner, normalmente un pequeña
        descripción del CD.

     PREP=
        Aquí puede poner sus datos o cualquier cosa para identificar el
        CD como suyo.

     APPI=
        Aquí puede poner una descripción del objetivo de este CD o su
        destino.

  O bien puede especificarlo en la línea de comandos así:

       mkisofs -a -R -l -T -V "Volumen" -P "descripción CD" -p  "preparador" \
        -A "Aplicación" -o imagen.iso /ficheros

  Este único comando se ha introducido en dos líneas, detrás del
  carácter \ hay que teclear 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:

       mkisofs -a -J -f -m '*.o' -m core -x /master/excluir -o /cd/imagen.iso /master

  En este sistema de ficheros Joliet hemos excluido todos los archivos
  que correspondan con la descripción *.o y core con la opción -m, la
  opción -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 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 1.12:

       mkisofs -a -J -f -R -m '*.o' -m core -x /master/excluir -o /cd/imagen.iso /master

  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:

       mkisofs -a -b /cdboot/eltorito.img -c /cdboot/catalogo -R -T -o imagen.iso /master

  Nótese que a los parámetros -b y -c le especificamos lo que parece un
  path absoluto, pero el directorio /cdboot no se encuentra en el
  directorio raíz de su disco duro, sino que en realidad es un
  subdirectorio de /master;  esto es así porque mkisofs para este
  parámetro se sitúa como si estuviera ya dentro del CD.

  6.1.2.  mkhfs

  Puede obtener este programa de ftp://ftp.ge.ucl.ac.uk/pub/mkhfs.

  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.

  6.1.3.  mkhybrid

  Puede obtener este programa de ftp://ftp.ge.ucl.ac.uk/pub/mkhfs.

  Es la mezcla de los dos anteriores, la ultima versión usa código del
  mkisofs 1.12 para mejor soporte de Joliet. La ayuda parece exactamente
  la del mkisofs, salvo que incluye las siguientes opciones para añadir
  el sistema de ficheros de los mac:

     -g o -apple
        Añade la extensión ISO9660 de Apple, para la compatibilidad con
        el estándar.

     -h o -hfs
        Crea el sistema HFS híbrido para la extensión ISO9660.

     -probe
        Prueba todos los archivos para el sistema Unix/HFS.

     -mac-name
        Crea todos los nombres según el estilo de los mac para
        ISO9660/Joliet/Rock Ridge

     -no-mac-name
        Evita lo anterior para los archivos Unix/Mac

  6.1.4.  mke2fs

  ¿Cómo? ¡Pero si este programa sirve para crear sistemas de ficheros en
  el formato nativo de Linux, el ext2!

  Pues sí, es posible crear CD-Roms en formato 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:

  1. 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 cdrecord en su versión de desarrollo 1.8 de
     la siguiente forma:

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

  Una vez obtenida esta información nos fijamos en la siguiente linea:

         ATIP start of lead out: 359849 (79:59/74)

  de la que nos interesa el numero 359849 el cual al multiplicarse por
  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 corre­
  sponde exactamente a 702 MegaBytes absolutos del tamaño de la imagen.

  2. Crear un fichero imagen vacío; con los datos anteriores:

       dd if=/dev/zero of=imagen-vacia.ext2 bs=2048 count=359849

  3. Formatearlo:

       mke2fs -m 0 -b 2048 imagen-vacia.ext2

  mke2fs advertirá de que imagen-vacia.ext2 no es un fichero de disposi­
  tivo de bloque, y le pedirá confirmación:

       imagen-vacia.ext2 is not a block special device.
       Proceed anyway? (y,n) y

  4. Montarlo, mediante loopback, en lo que va a ser nuestro directorio
     «maestro»:

       mount -o loop imagen-vacia.ext2 /mnt/master

  5. Copiamos a él los ficheros que queramos, si por ejemplo queremos
     hacer una réplica de /etc :

       cd /etc
       find | cpio -pdamvu /mnt/master

  6. Lo desmontamos, y grabamos normalmente.

  Si queremos montar un CD-Rom de este tipo, habrá que especificarle a
  mount que el tipo de sistema de ficheros es ext2, y de sólo lectura:

       mount -t ext2 -o ro /dev/cdrom /mnt/cdrom

  si queremos incluirlo en /etc/fstab, habrá que indicar además de su
  tipo de sistema de ficheros, y de ser sólo lectura, que no sea
  comprobado:

       /dev/cdrom      /mnt/cdrom      ext2    defaults,ro     0 0

  El último 0 es el que hace que fsck no lo compruebe en cada arranque.

  6.2.  Software de extracción de audio

  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 Big Endian,
  salvo las Yamaha, Sony y recientemente las últimas grabadoras que
  cumplen el estándar SCSI-3/MMC, que lo necesitan Little Endian.

  Casi todos los programas extractores de CD-Audio extraen por defecto
  en 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:

  ·  cdrecord: Indistintamente de la grabadora que tenga, y del software
     de extracción que use, extraiga siempre en Big Endian, el formato
     por defecto.

     cdrecord sabe qué formato necesita cada grabadora, e invertirá el
     orden de palabra si es necesario;  notará si lo invierte porque
     aparecerá la palabra swab en el listado de pistas de audio a
     grabar.

  ·  cdwrite: Aquí no hay error posible, ha de saber qué orden necesita
     su grabadora, y tener los ficheros CDDA con el orden apropiado.

  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 ``Dispositivos genéricos''.

  6.2.1.  readcdda

  Este programa es un poco difícil de encontrar, ya que las versiones
  disponibles son modificaciones o 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 ``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 readcdda es Big
  Endian por defecto.

     -D dispositivo
        Para especificar el dispositivo genérico de la unidad con la que
        vamos a extraer.

     -B dispositivo
        Dispositivo de bloque de la unidad con la que vamos a extraer,
        son válidos tanto dispositivos /dev/srX como /dev/scdX.

     -t Desde qué pista a extraer

     -z Hasta qué pista extraer (inclusive)

     -o desplazamiento del principio de la pista

     -s desplazamiento del final de la pista

     -d Tiempo total de grabación

     -S Velocidad de extracción.

     -v imprimir información sobre el CD.

     -x Formato de salida Little Endian

  Así que un ejemplo, utilizando el CDROM SCSI que estuviera en el ID
  SCSI 3, que fuese el primer CDROM disponible, extrayendo de la pista 1
  a la 15, a velocidad 6x en un solo fichero .cdr, sería:

       readcdda -D /dev/sgd -B /dev/scd0 -t 1 -z 15 -o 0 -s 0 -S 6 audio.cdr

  Esto es un poco latoso si queremos que cada pista tenga su fichero,
  para ello podemos utilizar un bucle:

       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

  6.2.2.  cdda2wav

  Este programa es más reciente, y permite extraer de CDROMs IDE si
  éstos soportan extracción. Puede obtenerlo de
  ftp://ftp.gwdg.de/pub/linux/misc/cdda2wav/. También se puede encontrar
  incluido en el mismo paquete de las últimas versiones de cdrecord.

  Comentaré sólo las opciones más habituales:

     -D Dispositivo genérico de la unidad lectora; /dev/sgX o 0,1,0 si
        es SCSI; si es IDE, con el fichero de dispositivo de bloque
        correspondiente: /dev/hdb por ejemplo para un CD esclavo del bus
        primario, o el enlace simbólico que apunte al apropiado.

     -A Dispositivo auxiliar: será un /dev/scdX si el lector es SCSI o
        el mismo que le especificamos en -D si es IDE.

     -I Tipo de interfaz; generic_scsi para dispositivos SCSI o
        cooked_ioctl para IDE.

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

     -t primera+ultima
        Especificamos la pista o rango de pistas a extraer.

     -O Formato del fichero de salida, opciones validas útiles pueden
        ser raw para formato cdr (CDDA)  o wav.

     -E Orden de la palabra binaria: big para Big Endian, little para
        Little Endian.

     -B Extraer cada pista a un fichero separado.

     -S número
        Velocidad de extracción.

     -P Desactivar overlap (utilizar si se obtienen mensajes de error
        tipo increase overlap (X) or decrease SYNC_SIZE (X).

     -H No crear ficheros informativos (.inf) por cada fichero de audio
        creado.

     -e Permite la salida directa al dispositivo de audio del ordenador.
        Por defecto /dev/dsp.

     -K dispositivo
        Cambia el dispositivo de audio por defecto /dev/dsp por que se
        le especifique.

     -q No muesta información alguna mientras se realiza el proceso de
        extracción.

  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, Big
  Endian (por defecto), en ficheros con el patrón audio_*.cdr separados,
  con sus correspondientes ficheros informativos:

       cdda2wav -D /dev/sgb -A /dev/scd0 -I generic_scsi -x -t 3+8 -B -O cdr -S 10 audio

  tambien se puede escribir de forma más abreviada de la siguiente
  forma:

       cdda2wav -D 0,2,0 -I generic_scsi -x -t 3+8 -B -O cdr

  Si extraemos las pistas con la opción -O wav por defecto serán Little
  Endian.

  En la versión 1.0 de 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:

       cdda2wav -D 0,2,0 -I generic_scsi -B

  al mismo tiempo, esto nos puede servir de ejemplo de como se pueden
  extraer pistas para la sección ``DAO con cdrecord''.

  Existe una variante del cdda2wav, llamada cdparanoia, de rendimiento
  muchísimo menor, pero que como su nombre indica, es muy paranoica con
  la calidad de las pistas extraídas, puede resultar útil con CDs muy
  estropeados.

  6.3.  Software de grabación

  6.3.1.  cdrecord

  La página principal de cdrecord es

  Puede obtenerlo por FTP de ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/.

  Este programa es más avanzado y actual que 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
  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 (TOC, 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 data 1 y data
  2, multisesión xa1 y 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:

     -version
        Muestra la versión del programa. Recomendada la versión 1.6.1
        final, las que llevan a despues del número son alphas y no es
        recomendable usarlas. Para unidades tanto IDE como SCSI se
        recomienda la 1.8aXX.

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

     -V Muestra los comandos SCSI mientras se ejecuta el programa.

     -debug
        Muestra mensajes para encontrar posibles fallos.

     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
        LUN SCSI (Logical Unit Number, valor variable sólo si se emplea
        por ejemplo un lector múltiple de CDs, en donde 0 identificaría
        a la primera bandeja, 1 a la segunda, etc).

        Un ejemplo frecuente sería 0,4,0 para el primer bus SCSI, el ID
        SCSI 4 y el LUN de todo dispositivo no múltiple, 0.  Si usamos
        la emulación SCSI o una unidad de puerto paralelo, siempre será
        0,0,0.

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

     -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 XA 2 por lo que se deberá de usar el parámetro -data
        para este fin.

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

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

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

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

     -load
        Esta opción es para cerrar la bandeja, luego sale del programa.

     -eject
        Esta opción permite expulsar el CD una vez grabado, hay unidades
        como las Philips o las Yamaha que deben hacer esto.

     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.

     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:

     ·  help Muestra la ayuda.

     ·  all Borra totalmente un disco. Esta opción tarda bastante
        tiempo.

     ·  disc o disk Borra un disco totalmente.

     ·  fast o minimal Borrado rápido del disco: Solo borra el TOC, los
        pregaps y el PMA.

     ·  track Borra una sola pista.

     ·  unreserve Activa una pista reservada.

     ·  trtail Borra la cola de una pista.

     ·  unclose Abre una pista cerrada.

     ·  session Borra la ultima sesión.

     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 b para indicarle bytes, k para
        kilobytes, 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 fifo empty count,
        tiene problemas de configuración o hardware. Ej: fs=8m.

     driver=
        Esta opción es para especificarle un driver concreto; para ver
        la lista de todos los drivers simplemente especifique
        driver=help. Si no se indica opción, 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.

     -checkdrive
        Esta opción busca el driver que corresponda a su unidad y
        termina la ejecución.

     -prcap
        Esta opción imprime las posibilidades de las unidades que
        cumplan el estándar SCSI-3/mmc y sale.

     -inq
        Esta opción hace un examen de la unidad, imprime los resultados
        en pantalla y sale.

     -scanbus
        Esta opción examina el bus SCSI en busca de unidades. Sirve para
        buscar nuestra unidad.

     -reset
        Esta opción resetea el bus SCSI donde se esté nuestra grabadora.

     -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 cdrecord.  Acepta formato CDDA (tanto .cdda como
        .cdr son extensiones válidas), .wav, .au y .raw.

        cdrecord, si no se le especifica lo contrario, asume que el
        orden de palabra es Big Endian, y convertirá automáticamente a
        Little Endian si detecta que la grabadora lo necesita.

     -data
        Tras de esta opción se indica el nombre del archivo que
        corresponde a la imagen ISO9660 que anteriormente hemos creado
        con 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.

     -mode2
        Si esta opción esta presente, todas las pistas de datos que la
        sigan se grabarán en modo 2.

     -xa1
        Si esta opción esta presente, todas las pistas que la sigan se
        grabarán en modo XA 1.

     -xa2
        Si esta opción esta presente, todas las pistas que la sigan se
        grabaran en modo XA 2.

     -cdi
        Si esta opción esta presente, todas las pistas que la sigan se
        grabaran en CDI.

  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:

       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

  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.

       cdrecord dev=0,0,0 fs=8m speed=2 -nofix -eject -xa1 imagen.iso -audio audio1.wav audio2.cdda audio3.au

  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 .wav de Microsoft, el .cdda, el PCM
  en bruto o .raw y el .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:

       cdrecord dev=0,0,0 -fix

  Para grabar una sola pista de datos podemos usar esto:

       cdrecord dev=0,0,0 fs=8m speed=2 -eject imagen.iso

  Ya que como se dijo antes no hacía falta especificar el parámetro
  -data, que es el asumido por defecto.

  Las nuevas opciones que incluye el ``cdrecord 1.8'' se describen en su
  sección.

  6.3.1.1.  Parámetros configurables permanentemente de cdrecord

  Como puede observar, es un poco 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,
  cdrecord provee la posibilidad de establecer dichos parámetros por
  defecto, mediante las variables de entorno CDR_DEVICE, CDR_SPEED y
  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 buffer de datos FIFO sea de 16 megabytes.

  Estableceríamos dichas variables de entorno mediante la inserción,
  generalmente en el fichero /etc/profile, de las siguientes líneas,
  suponiendo que utilice bash como intérprete de comandos:

       CDR_SPEED=2
       CDR_DEVICE=0,4,0
       CDR_FIFOSIZE=16m
       export CDR_SPEED CDR_DEVICE CDR_FIFOSIZE

  Dichas variables no estarán disponibles hasta que el sistema relea el
  fichero /etc/profile, lo mejor es reiniciar el terminal con un logout
  o bien recargando el archivo con source /etc/profile.  Si esto no
  funciona, reinicie el sistema para salir de dudas.

  6.3.1.2.  Grabacion sin imagen

  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
  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
  cdrecord superiores o iguales a la 1.6.1, y 1.12b5 de 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:

       mkisofs -r -T -l -print-size -f /files

  la cual nos facilitará un número, este número se lo deberemos de pasar
  en un parámetro al cdrecord para que nos reconozca el tamaño de la
  imagen a grabar, ya que si no, cdrecord no tiene forma de saber cuál
  es el tamaño de la imagen. De esta forma, si por ejemplo, mkisofs nos
  mostrará la siguiente línea:

       Total extents scheduled to be written = 290699

  Para que cdrecord reconozca el tamaño de la imagen a grabar:

       nice --20 mkisofs -r -T -l -f /files | nice --20 cdrecord fs=16m \
       tsize=290699*2048 -eject -

  O bien para multisesión:

       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

  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 nice --20 que hay delante de
  cada uno de los programas. El comando 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 tsize del cdrecord multiplico por
  2048 la cantidad dada por el mkisofs. La razón es muy simple, a partir
  de la version 1.6.1 y 1.8 de 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:

       # 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) *

  Así es como ve 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 dev=0,0,0.

       cdrecord dev=0,0,0 speed=2 fs=16m -v -dummy image.raw

  Recomiendo usar la grabadora con una version de cdrecord 1.6.1, aunque
  como se aprecia en el escaneado de muestra anterior hecho con la
  versión 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.

  6.3.2.  cdwrite

  Puede obtener este programa (y casi todos los relativos a creación de
  CDs) de ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/.

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

  Si ha comprendido los comandos del 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 /dev/srX y no va directamente al
  bus SCSI, lo cual puede resultar mas fácil de usar.

  Por defecto cdwrite busca /dev/cdwriter como dispositivo por defecto
  de la grabadora, por lo que si hace un enlace simbólico del
  dispositivo /dev/sgX a /dev/cdwriter con el dispositivo de acceso
  genérico correspondiente, (vea sección ``Dispositivos genéricos'') se
  ahorrará un parámetro más que poner.

  cdwrite necesita que se le especifique el tamaño en bytes de la imagen
  que va a grabarse; para saberlo, usamos el programa isosize (lo
  podemos encontrar dentro del paquete de distribución de cdwrite con
  otras utilidades extra que nos pueden venir muy bien); si nuestra
  imagen se llama imagen.iso:

       # isosize imagen.iso
       382060544

  nos informa de que el tamaño es 382060544, parámetro que le
  especificaremos posteriormente con -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:

       isosize /dev/sda1
       634986355

  Si hemos volcado la imagen generada por mkisofs en la primera
  partición del primer disco SCSI (con la opción -o /dev/sda1).

  Algunos ejemplos de cómo se usa cdwrite son:

       cdwrite -ve -s 2 -b 382060544 -D /dev/sgd -data /dev/scd0

  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; 382060544 es el tamaño del
  CD en cuestión, que hemos averiguado previamente mediante isosize.

       cdwrite -s 2 -e -D /dev/sgd -b 382060544 -data image.iso -audio *.cdr

  Grabará un CD mixto de datos y audio, en donde el parámetro -s indica
  la velocidad de grabación (equivale al speed=2 del cdrecord), el
  parámetro -e expulsa el CD al terminar (equivalente al -eject), el -D
  indica la unidad grabadora, aunque si ha hecho un link de /dev/sgd
  (por ejemplo) a /dev/cdwriter no hace falta que lo especifique; y por
  último igual que en el anterior están los parámetros -data y -audio,
  estando el formato de los ficheros de sonido en Compact Disc Digital
  Audio (extensiones .cdda o .cdr); podemos pasarlo de otros formatos a
  éste mediante el programa sox.

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

  Consulte la sección ``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 mkisofs para
  este fin, generando una imagen multisesión.

  6.3.3.  cdrdao

  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.

  6.4.  Entornos Integrados

  6.4.1.  X-CD-Roast

  Puede obtener este programa de http://www.fh-muenchen.de/rz/xcdroast/.

  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 cdrecord y
  mkisofs para su funcionamiento. En versiones anteriores utilizaba un
  derivado del cdwrite, pero tuvo que dejarlo ya que 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 readcdda y 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
  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 0.96d final o superior o no conseguirá que salga ni un solo CD
  bien.

  6.4.2.  Burn-It

  Este entorno utiliza las últimas versiones de cdrecord, mkisofs y
  cdda2wav, lo más peculiar sin duda es que esta escrito íntegramente en
  java; su desarrollo es muy rápido.

  Puede obtenerlo de http://www.imada.ou.dk/~jews/BurnIT/.

  6.4.3.  CDR

  CDR son las siglas de Create/Duplicate/Rip (Crear/Duplicar/Extraer).

  Su utilidad actualmente es más que nada para la preparación de audio
  que posteriormente va a ser grabado con cdrecord o cdwrite desde la
  línea de comandos. Provee una interfaz tipo ncurses. Sólo extrae de
  unidades SCSI.

  Puede obtenerlo de http://www.burdell.org/cdr.shtml.

  6.5.  Otros programas y utilidades

  Hay varias utilidades entre las que tengo que destacar sdir, isovfy,
  cdinfo y 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
  ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/ y otras que se
  pueden encontrar tanto en el paquete de X-CD-Roast (sección ``X-CD-
  Roast'') como en el de cdrecord (``cdrecord'').

  Por ejemplo, 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; isovfy
  nos sirve para verificar que no hayan errores en una imagen creada en
  el disco duro; 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 isodetect podemos ver la etiqueta
  del volumen de un CD así como los comentarios de los mismos.

  Descripción de las utilidades:

     sdir
        este programa muestra la capacidad de un directorio con sus
        subdirectorios. Los parámetros a pasarle son directorios.

     isodetect
        programa para ver el volumen, el editor, el publicador y la
        aplicación de una imagen. Su sintaxis es la siguiente:

     ·  -h Muestra la ayuda.

     ·  -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
        /dev/cdrom. Si no se indican mas parámetros indicará el tipo de
        imagen que es, iso9660 o HFS.

     ·  -V muestra el nombre del volumen de la imagen o CD.

     ·  -P muestra el comentario que hay como publicador.

     ·  -p muestra el comentario que hay como preparador.

     ·  -A muestra el comentario que hay como aplicación.

        Sólo se puede indicar un comando a la vez con -d. Este programa
        se puede encontrar en el paquete X-CD-Roast (sección ``X-CD-
        Roast'').
     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 http://www.in-berlin.de/User/kraxel/dl/cdinfo.c

        Desgraciadamente, parece ser que se ha abandonado su desarrollo.

     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 X-CD-Roast
        (sección ``X-CD-Roast'').

  7.  Software DAO y generadores de subcódigos.

  7.1.  cdrecord 1.8

  Puede obtener la última alpha del servidor FTP
  ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/.

  Descripción de los nuevos comandos para la nueva versión:

     -useinfo
        Utiliza los archivos de extensión .inf sobreescribiendo las
        opciones por defecto.

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

     -dao
        Graba el medio en Disc-At-Once.

  Ejemplo de como se usa la opción -atip se tiene en la sección
  referente a crear un sistema ext2 con el ``mke2fs'' en un archivo.

  Para usar la opción -useinfo necesitamos primero haber extraido con el
  cdda2wav un CD-Audio al disco duro sin poner la opción -H.

       cdrecord -v dev=0,3,0 fs=16m speed=4 -useinfo *.wav

  Pues sí, cdrecord tambien graba en DAO, pero sólo a partir de la
  versión de desarrollo 1.8a20. La forma de usar 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 MMC y utilizar
  la opción -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
  cdrecord, 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:

       cdrecord -v dev=3,0 fs=16m speed=4 -dao /imagen.iso /audio/*.wav

  y tambien si se pretende copiar directemente desde un CD

       cdrecord dev=3,0 speed=4 fs=16m -v -dao -isosize /dev/sr0 -audio /wavs/*.wav

  7.2.  CD Builder

  Prometedora aplicación, con entorno gráfico en X-Window, que permitirá
  generar escaletas (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 (alpha de desarrollo, aunque
  dotado de cierta funcionalidad.

  Puede obtenerlo de http://www.ccs.neu.edu/home/bchafy/cdb/cdb.html.

  Al parecer se ha abandonado el desarrollo de este programa.

  7.3.  cdrdao

  Este programa ha evolucionado tanto que la copia en 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 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
  cdparanoia, pero no con cdrdao, le envíe la información que se obitene
  de ejecutar el comando 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
  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 1.1.3, se
  puede obtener de http://www.ping.de/sites/daneb/cdrdao.html.

  Descripción de los comandos del programa:

     Utilización del programa:

          cdrdao comando [opciones] archivo-toc

     comando
        indicamos al programa qué es lo que queremos hacer.  Los
        comandos disponibles son:

     ·  show-toc Muestra la TOC y sale.

     ·  toc-info Muestra una pequeña descripcion de la información del
        archivo TOC extraido previamente.

     ·  toc-size Muestra el número total de bloques para la TOC.

     ·  read-toc Crea un archivo TOC desde un CD.

     ·  read-cd Crea el archivo TOC y extrae el contenido del CD.

     ·  show-data Muestra el contenido de los datos y sale.

     ·  read-test Realiza una prueba de lectura de todas las pistas y
        sale.

     ·  disk-info Mustra información sobre el disco que hay en unidad.

     ·  unlock Desbloquea la unidad despues de un fallo de escritura.

     ·  simulate Ya no se utiliza, ahora es write --simulate.

     ·  write Graba un CD.

     ·  copy Copia, esto se utiliza para la copia al vuelo.

     opciones
        Aqui se describen las diferentes opciones que soporta el
        programa.

     ·  --device (x,y,z) Especifica el dipositivo de la grabadora.  Se
        puede suprimir si existe un enlace simbólico del dispositivo
        correspondiente a su grabadora a /dev/cdrecorder. Se puede
        indicar tanto la del dispositivo directo como el identificador
        SCSI, ejemplo: 0,3,0 o /dev/sr1

     ·  --source-device (x,y,z) 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 copy.

     ·  --driver (id) Forzamos al programa a usar un controlador
        específico para la grabadora.
     ·  --source-driver (id) Forzamos al programa a usar un controlador
        específico para la unidad lectora. Es necesaria si usamos el
        comando copy, aunque no si el programa identifica correctamente
        esta unidad.

     ·  --simulate Para realizar una copia con el láser desactivado, en
        modo de simulación o prueba.

     ·  --multi No cierra el CD, para poder crear un CD multisesión.

     ·  --eject Expulsa el CD una vez grabado.

     ·  --swap Invierte el orden de palabra de las pistas de audio.

     ·  --on-the-fly Realiza una copia al vuelo, no crea imagen.

     ·  --datafile (archivo) Nombre del archivo de datos en donde se
        encuentran los datos a los que hace referencia el archivo TOC.
        Usado por read-cd, read-toc y copy.

     ·  --buffers (número) Expecifica el tamaño del buffer (min. 10).

     ·  --session (número) Selecciona la sesión para read-toc/read-cd.

     ·  --fast-toc No extrae los pre-gaps ni las marcas índice.

     ·  --read-raw Lee los sectores raw para read-cd.

     ·  --paranoia-mode (número) nivel de paranoia para la extracción de
        audio (0..3).

     ·  --reload Relee el disco si es necesario para grabar.

     ·  --force Fuerza la ejecución de la operación.

     ·  -v (número) Expecifica el nivel de muestra de datos.

     ·  -n (número) No hace una pausa después de grabar.

  De aqui hay que comentar que el comando copy sólo se usa para copiar
  un CD directamente, si tenemos una imagen y la queremos copiar hay que
  usar el comando 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.

  7.3.1.  Copia al vuelo de CD-ROMs.

  Ahora una breve descripción de lo que más nos interesa del programa,
  la copia directa (al vuelo) sin imagen.

       cdrdao copy -v 2 --device 0,3,0 --source-device 0,1,0 --speed 4 --buffers 64 \
       --reload --eject --on-the-fly --fast-toc

  Este es el comando que utilizo para duplicar cualquier tipo de CD al
  vuelo.  Al ponerle la opción --fast-toc 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 --paranoia-mode:

       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

  Con la opción --paranoia-mode le especificamos en que modo ha de ser
  paranoico a la hora de extraer las pistas de audio, si le
  especificamos 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 buffer underrun y perder el CD.

  Si lo que queremos es que los verifique le indicamos modo 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.

  7.3.2.  Extracción y grabación de imágenes DAO con cdrdao.

  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:

       cdrdao read-cd -v 2 --device 0,1,0 --read-raw --datafile imagen.bin imagen.toc

  De esta forma conseguimos extraer una imagen en el archivo imagen.bin
  del contenido del CD-ROM fuente y el en archivo 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:

       cdrdao write -v 2 --device 0,3,0 --speed 4 --buffers 64 imagen.toc

  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 --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á 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 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
  cdrecord.

  7.3.3.  Scripts que acompañan a cdrdao.

  Se puede usar cdrdao para copiar archivo .wav, y que gracias a un
  script en PERL que incluye en el directorio /contrib/wav2dao/ 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:

       wav2dao.pl -H

  Deberia funcionar simplemente con

       wav2dao.pl -d /dev/sr0 -w -n *.wav

  En el directorio de los fuentes /contrib/mp32dao/ encontramos otro
  script en PERL para realizar de forma automática la extracción de los
  archivo 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 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
  (Comprehensive Perl Archive Network) http://www.cpan.org para hacer
  uso de este script.

  7.3.4.  Duplicado de CD-ROMs de PlayStation con CDRDAO.

  Por último tenemos en el directorio /contrib/psxcopy-x.y/ 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 read-psx y 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:

       read-psx cd1

  y una vez extraído

       write-psx cd1

  7.3.5.  A tener en cuenta

  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.

  ATENCION: 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.

  8.  Preguntas de Uso Frecuente

  8.1.  megas para un CD 74 minutos. ¿Esto a que se debe?  Cuando grabo
  con cdrdao , muestra una capacidad de casi 750

  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.

  8.2.  disco duro deje de funcionar durante unos segundos.  Me sale un
  mensaje muy parecido al siguiente después de que el

  Me sale este mensaje después de que el disco duro deje de funcionar
  durante unos segundos:

       hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest}
       hda: disabled DMA
       ide0: reset: success

  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.

  8.3.  ¿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?

  Sí. Hay una forma de transferir una copia binaria de un CD
  directamente a disco duro, haciendo simplemente un cat o dd del
  dispositivo donde tenga la unidad lectora de CD (normalmente el enlace
  /dev/cdrom) 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

       cat /dev/cdrom > imagenCD.iso

  o

       dd if=/dev/cdrom of=imagenCD.iso

  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 cdda2wav, o readcdda, suponiendo que su lector
  lo soporte, sino puede hacerlo desde la grabadora (ver sección ``¿Se
  puede usar la grabadora para leer o extraer?'').

  8.4.  ¿Se puede copiar de CD a CD (sólo de datos) directamente sin
  ningún problema?

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

       cdrecord -v dev=0,0,0 speed=2 fs=8M -isosize -eject /dev/sr1

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

  8.5.  ¿Puedo duplicar directamente un CD mixto o de audio?

  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 DAO (Disk At Once) y
  OTH (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 ``cdrdao''.

  8.6.  ¿Puedo duplicar CDs en formato xa2? (Por ejemplo, de PlaySta­
  tion)

  La respuesta a si se puede duplicar un CD en mode xa2 es sí.

  SI. ¿Cómo? ¿Ahora sí? Pues sí, gracias al 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 ISO9660. No
  obstante, con las extensiones de nuestros sistemas somos capaces de
  leerlas. Al copiar con 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 DAO/OTH para hacer este tipo
  de copias.

  software/grabadora/lector que soportase duplicación DAO, como ahora lo
  hay.  Ver sección ``¿Puedo duplicar un CD mixto o de audio?''.

  8.7.  ¿Hay alguna FAQ genérica sobre CD-R o CD-RW?

  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
  http://www.fadden.com/cdrfaq/

  Eso sí, está en inglés, aunque puede aprovechar el traductor de
  Altavista: http://babelfish.altavista.digital.com/cgi-bin/translate.

  La traducción es un poco burda, pero menos da una piedra... :).

  8.8.  zumbido horripilante...  He grabado un CD de Audio, pero al
  escucharlo sólo se oye un

  Consulte la sección ``Software de extracción de audio'', Ha utilizado
  el orden de palabra binaria endian equivocado para grabar ficheros de
  audio.

  8.9.  Problemas con más de un dispositivo en controladoras SCSI NCR

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

  8.10.  ¿Como se crea un CD Mixto?

  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 mkisofs y tener las pistas de audio listas en algún directorio,
  procediendo con cdrecord de la siguiente manera:

       cdrecord -v dev=4,0 speed=2 fs=16m -eject image.raw -audio /wavs/*.wav

  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
  cdda2wav y luego usar el cdrecord de esta forma:

       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

  Las opciones que he incluido -nopad defpregap=0 pregap=0 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.

  8.11.  ¿Como se graba un CD multisesión?

  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 cdrecord, pasándoselas a mkisofs
  como muestra el ejemplo:

       cdrecord dev=4,0 -msinfo

  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 -multi. Entonces le pasamos a mkisofs el número que puede
  ser: 0,131456 de la siguiente forma:

       mkisofs -v -a -C 0,131456 -r -R -T -V "CDROM" -N /imagen1.iso -o /imagen2.iso /files/.

  Como se puede observar, también se ha incluido el parámetro -N 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 cdrecord de forma normal
  con el parámetro -multi para que sea multisesión.

  8.12.  ¿Como se crea un CD Plus?

  ¿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:

       cdrecord -v dev=4,0 speed=4 fs=16m -multi -audio *.wav -data imagen.iso

  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 ``¿Como se crea un CD Multisesión?''.

  8.13.  ¿Se puede usar la grabadora para leer o extraer?

  Sí, pero es algo altamente desancosejable. Las razones:

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

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

  ·  Las velocidades de lectura de los lectores suelen ser de 40x o
     incluso 50x. Las de las grabadoras, no pasan de 10x.

  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.

  8.14.  Tengo una grabadora HP-7500, y cdrecord  me hace cosas raras...

  Como por ejemplo, en un -scanbus:

  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)

  O fallos continuos...

  Necesita aplicar un parche a cdrecord, y recompilarlo para que soporte
  adecuadamente su grabadora.

  En http://www.guug.de:8080/cgi-bin/winni/lsc.pl puede obtenerlo.

  8.15.  CDRDAO no detecta bien mi unidad

  La única solución es leer bien el archivo 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.

  8.16.  Sugerencias y peticiones

  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 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 ``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 DAO/CDRWIN de MS-DOS/Windows
  respectivamente de la empresa Golden Hawk y Adaptec Easy CD/Pro.

  9.  Créditos

  Éste documento ha sido escrito por Leandro Terrés lord_lt@retemail.es
  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 (Linux Documentation Proyect). Para cualquier
  modificación, añadidura, traducción, etc. póngase en contacto con el
  autor.

  Colaboraciones, añadiduras y correcciones:

  ·  Jorge de Diego Rodríguez, toke@toke.net por su inestimable ayuda en
     la finalización del apartado sobre las grabadoras IDE/ATAPI por
     puerto paralelo.

  ·   Revisión, reestructuración, formateo y ampliación (SCSI,
     extracción de audio), Francisco J.  Montilla, pacopepe@insflug.org

  a los que desde aqui doy mis más sinceras gracias por la ayuda
  prestada.

  10.  Anexo: El INSFLUG

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

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

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

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

  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 (mirror)
  del Insflug más cercanos a Vd., e información relativa a otros
  recursos en castellano.

  En http://www.insflug.org/insflug/creditos.php3 cuenta con una
  detallada relación de las personas que hacen posible tanto esto como
  las traducciones.

  ¡Diríjase a http://www.insflug.org/colaboracion/index.php3 si desea
  unirse a nosotros!.

  Francisco José Montilla, pacopepe@insflug.org.