  Grabadoras de CD - Como
  Leandro Terrs, Lord_LT@axis.org
  ampliacin, Francisco J. Montilla, pacopepe@iname.com
  v0.9.1, 22 de Febrero del 1999.

  Introduccin al uso de Grabadoras de CD-R, CD-RW y DVD bajo Linux, as
  como descripcin del uso de los programas necesarios. Este documento
  se diferencia del Creacin-CDRoms-Como por su enfoque, ms centrado en
  el uso de distintos tipos de grabadoras, y las ltimas novedades soft
  ware.  Es conveniente que tambin lea el Creacion-CDRoms-Como, enfo
  cado ms en la plataforma SCSI, que profundiza ms en los aspectos
  tcnicos de la tecnologa CD-R y en sus posibilidades.
  ______________________________________________________________________

  ndice General:

  1.      Introduccin

  2.      Configuracin del Kernel

  2.1.    Configurar el Kernel para grabadoras SCSI

  2.1.1.  Activacin y desactivacin de dispositivos SCSI al vuelo

  2.2.    Configurar el Kernel para grabadoras IDE

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

  2.4.    Otras opciones del kernel recomendables

  3.      Nomenclatura de dispositivos SCSI

  3.1.    Dispositivos genricos

  3.2.    Dispositivos de bloque

  3.3.    Notacin estndar

  4.      Sistemas de ficheros

  4.1.    Joliet y Romeo

  4.2.    Rock Ridge (High Sierra)

  4.3.    HFS (Hierarchical Filesystem)

  4.4.    UDF (Universal Disk Format)

  5.      Programas necesarios para grabar

  5.1.    Programas para creacin de las imgenes

  5.1.1.  mkisofs

  5.1.2.  mkhfs

  5.1.3.  mkhybrid

  5.2.    Software de extraccin de audio

  5.2.1.  readcdda

  5.2.2.  cdda2wav

  5.3.    Software de grabacin

  5.3.1.  cdrecord

  5.3.1.1.        Parmetros configurables permanentemente de cdrecord

  5.3.1.2.        Grabacion sin imagen

  5.3.2.  cdwrite

  5.4.    Entornos Integrados

  5.4.1.  X-CD-Roast

  5.5.    Burn-It

  5.6.    CDR

  5.7.    Otros programas y utilidades

  6.      Software DAO y generadores de subcdigos.

  6.1.    CD Builder

  6.2.    CDRDAO

  7.      Preguntas y respuestas

  7.1.    Me sale un mensaje muy parecido al siguiente despus de que el
  disco duro deje de funcionar durante unos segundos

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

  7.3.    Se puede copiar de CD a CD (slo de datos) directamente sin
  ningn problema?

  7.4.    Puedo duplicar directamente un CD mixto o de audio?

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

  7.6.    Hay alguna FAQ genrica sobre CD-R o CD-RW?

  7.7.    He grabado un CD de Audio, pero al escucharlo slo se oye un
  zumbido horripilante...

  7.8.    Problemas con ms de un dispositivo en controladoras SCSI NCR

  7.9.    Como se crea un CD Mixto?

  7.10.   Como se graba un CD multisesin?

  7.11.   Como se crea un CD Plus?

  7.12.   Sugerencias y peticiones

  8.      Crditos
  ______________________________________________________________________

  1.  Introduccin

  ltimamente parece ser que se est poniendo muy de moda lo de grabar
  CD-ROMs, por esa razn y como ya hay mucha gente dando la lata
  diciendo: Cmo se graban CDs?, que no saben que desde Linux tambin
  se puede y de forma muy eficiente, hago este documento para que sepan
  qu tienen que hacer y cmo solucionar los posibles problemas que
  puedan plantearse a lo largo de este trayecto.

  Tambin doy una pequea explicacin sobre los sistemas de ficheros
  para los CDs (todo a su tiempo) y de cmo se usan los programas ms
  utilizados para grabar en Linux. Por supuesto, y en ltimo lugar, la
  omnipresente PUF (Preguntas de Uso Frecuente) por si se me escapa
  algo.

  Recomiendo leer todos los apartados, uno detrs de otro, para ampliar
  conocimientos, lo que os beneficiar a la hora de buscar posibles
  irregularidades, fallos o errores en la elaboracin de este documento
  o en lo que se refiere a conceptos en Linux en s.

  Tambin recordar 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 he equivocado en algn sitio) o pueda
  aadir ms detalles, ser amablemente incluido como colaborador. Para
  hacerlo slo tiene que enviar un mail a Lord_LT@axis.org

  Y ya por ltimo indicar que hasta la versin 1 de este documento
  explicaremos cmo se graban CDs normales, pero para la siguiente
  versin, es decir, la 2.0 intentaremos llegar mas all, es decir, a
  las grabadoras DVD, ya que, segn veo yo, no queda mucho para que
  llegue este momento.

  As que os animo a que leis ste documento con paciencia y no tengis
  reparos en enviarme un mail con las correcciones o aadiduras al mismo
  para que toda la comunidad Linux se beneficie del l. Las
  felicitaciones y enhorabuenas tambin son bien recibidas ;-).

  2.  Configuracin del Kernel

  El primer paso es configurar el kernel para que Linux vea nuestras
  grabadoras y/o lectores correctamente, tanto en SCSI como en IDE y
  ATAPI por puerto paralelo, que aunque parezca que no, tiene su
  complicacin.

  En los dos ltimos casos hay que hacer ciertos chanchullos, aunque el
  que ms pueda liar al personal probablemente sea el 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, que
  os veo venir; hay que recompilar el kernel con una serie de opciones y
  modificaciones que se describen y explican en su apartado
  correspondiente.

  Para empezar hay que saber cmo 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,
  ejecutamos make mrproper para eliminar todos los binarios, incluso las
  configuraciones; es decir, una limpieza exhaustiva para 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 libreras no podr compilar los programas
  respectivos.

  Podr recurrir en ltima instancia al viejo programa de configuracin,
  un script que se invoca desde la consola con make config y en el que
  tendr que poner y, n y/o m el los lugares en donde corresponda en el
  prompt, ya que ste no permite volver hacia atrs; si quiere hacerlo
  tiene dos opciones, una pulsar Control+C y cancelar la configuracin
  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.

  2.1.  Configurar el Kernel para grabadoras SCSI

  Voy a suponer que no tiene ni la ms remota idea de qu es el sistema
  SCSI, cosa en la que yo no me voy a parar, ya que para eso hay un
  hermoso documento llamado SCSI COMO al cual podis hacer referencia en
  caso de dudas y o mal configuracin de vuestro dispositivo SCSI.

  De todas formas se ha comprado un equipo con placa madre con SCSI
  integrada o una controladora SCSI en la que ha puesto el CD, y el
  dichoso guindous lo ha configurado a la primera o los amables chicos
  de la tienda de informtica 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 ms comunes son Adaptec, Advansys y
  NCR, pero si no tiene ninguna de stas no se preocupe, el kernel lleva
  soporte para muchas ms. Puede saber qu controladora tiene mirando
  simplemente los manuales o el nombre del controlador de guindous (slo
  en ltima instancia).

  Si el controlador no corresponde exactamente al modelo que aparece en
  el kernel, seguramente funcionar con alguno de los que lleva
  genricos para varios tipos de controladoras con las mismas
  caractersticas. Puede compilar como mdulo las que ms se parezcan al
  suyo y luego ir probando los mdulos hasta que d con el que
  corresponda. Si al cargar algn mdulo 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 configuracin del kernel y entramos en
  SCSI Support, lo que luego nos dejar sealar las dems opciones que
  son para dar soporte genrico, y a unidades de CD-ROM, Discos Duros y
  cintas, de las cuales nos interesa el soporte genrico, 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 JAZZ SCSI
  deber responder y tambin 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 mdulo, es decir, poniendo m en
  lugar de y, ya que le permitir cargar/descargar a voluntad todos los
  mdulos de soporte SCSI cuando no los necesite, y apagar la unidad
  externa cuando no la est usando (cosa que con guindous no es posible
  hasta el 98) ya que al cargar su mdulo, la controladora inicializar
  y escanear los dispositivos de nuevo sin necesidad de reiniciar el
  ordenador para que los detecte; si la tiene interna, aada el soporte
  directamente en el kernel y se ahorra trabajo en cargar los mdulos.

  Si no puede descargar el soporte SCSI por tener otros dispositivos
  dependiendo de l (porque su disco duro raz sea SCSI, por ejemplo, o
  por no poder tenerlo como mdulo por las razones que sean) tambin
  puede activar y desactivar dispositivos a voluntad, incluidas
  grabadoras, cintas, escneres, etc. sin necesidad de descargar el
  mdulo. vea la seccin ``Activacin y desactivacin 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 mdulo solo le dejar seleccionar como mdulo 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 mdulos.
  Una vez recompilados los nuevos mdulos, previa configuracin, slo
  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 estn ya, a travs de un script que se puede
  encontrar junto a los programas de grabacin, as como con el script
  /dev/MAKEDEV, o bien el que lleva el ``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 mdulo, slo tendr que cargar los
  mdulos SCSI con el siguiente orden:

  1. Mdulo scsi_mod.o que es el driver principal del que cuelgan todos:

       insmod scsi_mod

  2. Seguido del mdulo de soporte para SCSI genrico (proporciona el
     interfaz ASPI Advanced SCSI Programming Interface, para poder
     grabar CDs, o usar unidades de cinta, escneres, 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 correspondern 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 estn.

  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 genricos /dev/sgX.

  Si instala el X-CD-Roast podr usar los dispositivos /dev/sr0 hasta
  /dev/sr15, que tambin puede usar en lugar de los /dev/scdX, que usan
  otros programa, y con el cdrecord a mano. Estos son los nuevos
  dispositivos que se usarn 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 mdulos sea automtica. Si tiene dudas sobre esto, lea el Kernel-
  Como para mejor referencia. Si ya tienes el kernel 2.2.X no se cargar
  el kerneld, el propio kernel hace las funciones del kerneld.

  Lea tambin la seccin ``Configuracin del kernel para grabadoras
  IDE'' porque explico algunas cosas ms 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 en otro sistema en su ordenador.

  2.1.1.  Activacin y desactivacin de dispositivos SCSI al vuelo

  La forma ms limpia de hacer que el kernel active o desactive sin
  necesidad de resetear el sistema, o cargar/descargar mdulos, dando
  igual si est compilado el soporte como mdulo o no, es mediante el
  siguiente mtodo.

  El activar o desactivar dispositivos SCSI a voluntad sin necesidad de
  demasiados aspavientos puede ser ms prctico 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 mtodo soporte
  conexin/desconexin 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 slo tiene uno; no confundir canal con
  conector) el 4 especifica el ID SCSI, y el ltimo 0 el LUN. (Ver
  seccin ``Notacin estndard'')

  y si ejecutamos

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

  La desactivaremos.

  2.2.  Configurar el Kernel para grabadoras IDE

  El problema de las grabadoras IDE es que no hay software especfico
  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 razn, no es tan sencillo la configuracin del Kernel para
  las grabadoras IDE. Lo primero es aplicar una pequea modificacin al
  Kernel, sto es necesario si tiene una grabadora Regrabable del tipo
  HP como las 7100 y las 7110 o superiores, que consiste en aumentarle
  el tiempo de espera del IRQ, ya que si no lo hacemos no cerrar los
  CDs, o al intentar cerrarlos, es decir, al escribir la Tabla de
  Contenidos (``'', ver mas abajo),se detendr con un error y habremos
  perdido el CD sin forma de recuperarlo.

  Pues bien, la modificacin consiste en irnos al archivo ide.h que se
  encuentra en /usr/src/linux/drivers/block, y buscar la siguiente
  lnea:

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

  que tenemos que modificarla hasta 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 que pongamos
  400 en vez de 1000 funciona, pero no lo he probado presonalmente. De
  todas formas, en el paquete de los fuentes del cdrecord viene un
  archivo llamado README.ATAPI, en que se dice que haga exactamente
  esto, as como hacer funcionar estas grabadoras con la versin antigua
  del cdrecord, es decir, la 1.5, aplicndole un serie de parches al
  programa y al kernel.

  Una vez realizada la modificacin 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 emulacin SCSI que slo
  hay en los ltimos kernel, versiones 2.0.31 en adelante, para que as
  los programas detecten nuestra grabadora IDE como una 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, las grabadoras reciben
  comandos estandarizados (mediante ASPI, Advanced SCSI Programming
  Interface/) para grabar que por casualidad son especficos de los
  SCSI; de esta forma, con la emulacin lo que hacemos es que se puedan
  enviar este tipo de datos a travs del bus IDE a nuestra grabadora.

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

  De la misma forma, gindous lo que hace es emular SCSI con las IDE, lo
  que le trae una pequea 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, ms que las
  SCSI, pero en linux con la emulacin parece que no o al menos no se
  nota de forma excesiva; lo nico recomendable es dejarle un puerto IDE
  para ella sola, segn recomiendan los fabricantes; lo mas comn 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 or CD-AUDIO mientras se graba el CD, si tiene
  botn de reproduccin, 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 que le d 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 seccin 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 mdulo, hay un
  fallo en la configuracin para la emulacin SCSI a la hora de incluir
  el soporte genrico 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 dndole vueltas a lo mismo).

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

  No es nada recomendable hacer cosas con el disco duro 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 pequea interferencia con el DMA, aunque no suele
  ser muy comn. Es decir, deje el disco duro slo para la grabacin.

  Otra cosa a tener en cuenta es que si no tiene un disco con extraccin
  por DMA como un Fast ATA o Ultra DMA desactive del kernel el soporte
  para el chip Intel Tritn (I/II), ya que si no har interferencia el
  DMA con la emulacin y dejar el controlador colgado, obligndole a
  resetear el ordenador con ese botn que se tiene algo olvidado la
  gente de linux.  (Mirar en el apartado fallos (PUF) para ms
  detalles).

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

  Grabadoras por puerto paralelo? De verdad eso existe? Pues s,
  existe, y cmo Linux es capaz de usarlas, Cmo? Pues gracias al
  cdrecord y a los desarrolladores del kernel que han introducido como
  novedad de los kernels 2.1.x (de desarrollo) el soporte para unidades
  ATAPI por puerto paralelo como unidades de CD-ROM y discos duros. q

  Para esto deberemos tener el kernel 2.0.35 o superior con la
  configuracion necesaria para que reconozca nuestra unidad externa, que
  se describe a continuacin:
  Lo primero de todo es reiniciar el ordenador y entrar en la
  configuracin de la BIOS, y, normalmente, en el menu Integrated
  Peripherals, si tienes 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. Y configurar el puerto de
  impresora en modo EPP, si no lo seleccionamos de este modo no habr
  forma de que funcione.

  Seguidamente, una vez arrancado nuestro sistema entrar en la
  configuracin del kernel en Floppy, IDE, and other block devices y
  selecconar como mdulo el parametro Parallel port IDE device support.
  Seguidamente seleccionar, al menos, tambin como mdulo los
  siguientes:

    Parallel port ATAPI CD-ROMs

    Parallel port generic ATAPI devices

    Shuttle EPAT/EPEZ protocol

  De esta forma ya tenemos los mdulos para hacer funcionar la grabadora
  como unidad lectora; si lo prefiere puede incluirlo en el kernel, pero
  primero asegurese de que funciona bien como mdulo antes de hacerlo.

  Seguidamente procedemos a la recompilacin e instalacin de los
  mdulos en su lugar, y sin necesidad de reiniciar (a no ser que se
  actualice partes no compiladas como mdulos)  ejecute depmod -a para
  crear las dependencias de los mdulos a fin de poder cargarlos con
  modprobe o kerneld.

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

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

       mount /dev/pcd0 /cdrom

  y 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 dispones del un kernel de la serie 2.1/2.2 antes de usar los
  controladores de cualquier dispositivo de puerto paralelo has de
  cargar el mdulo 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 al mismo tiempo (genial no??? ;-)).

  Como todava no ha cado en mis manos una grabadora de este tipo no he
  podido hacer pruebas ni nada por el estilo, los detalles de la
  configuracin del kernel los he elaborado a partir de lo que he podido
  recopilar leyendo por la Web.

  Apelo a la colaboracin de la comunidad linuxera a fin de completar
  este apartado con lo que ms le vaya haciendo falta, para estar a la
  altura de los apartados 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.

  2.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 particin
  o en un disco, sino, en un fichero. Como?En un fichero? Si, as es,
  y para eso solo necesitamos dos cosas, un dispositivo que hay en el
  kernel y el comando "mount".

  Para asegurarnos de que incluimos esta opcin en el kernel o como
  mdulo entramos en la configuracin del kernel mediante make
  menuconfig, y accedemos al men Floppy, IDE, and other block devices y
  justo bajo a Additional Block Devices se encuentra Loopback device
  support a la cual recomiendo ponerlo como mdulo, y si en el men
  principal Filesystems tienes compilada en el ncleo la opcin Kernel
  automounter support al montar el archivo, este mdulo se cargar
  automticamente, si la opcin anterior est como mdulo la debers
  cargar a mano, sino no, no se cargar automticamente ningn modulo y
  nos dar error. Para cargarla manualmente deberemos teclear lo
  siguiente insmod loop.

  Tambin 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, crelos 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 image.raw /mnt/imagenesCD

  Una vez hecho esto, acceda al directorio /mnt/imagenesCD y podr ver
  los contenidos de la imagen. Las imgenes ISO9660 son de solo lectura,
  por lo que no podr modificarlas de ninguna manera, claro, a menos que
  genere otra imagen nueva. Si la imagen es de un sistema de ficheros,
  por ejemplo, Ext2 si podr leer y grabar en ella sin problemas. Como
  puede observar no he puesto el comando -t iso9660 para especificarle
  que es una imagen ISO9660, ya que automticamente la detecta.

  Si tiene pensado hacer imgenes con 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 2.1/2.2 activar Microsoft Joliet CD-ROM extensions y dentro del
  submen Native Language Support activar los Codepage 437 y 850 y en
  NLS ISO 8859-1 que tambin se encuentran en los kernel 2.0.

  Yo recomiendo al menos incluir esto como parte del kernel de arranque,
  aunque si digamos que no te sobra mucha memoria incluyelos como
  mdulos, que el kernel se encargar de cargarlos cuando sea necesario,
  el resto de Codepages y NLSs te recomiendo que los pongas como mdulos
  si decides activarlos, aunque los mas utilizados son los que te acabo
  de indicar.

  3.  Nomenclatura de dispositivos SCSI

  Este es un tema para el que convendra que leyera el SCSI-Howto, pero
  como no hay disponible traduccin, har una breve introduccin,
  necesaria para poder especificar parmetros necesarios al software que
  usaremos.

  Bsicamente, para lo que necesitamos, hemos de saber de la existencia
  de los dispositivos de bloque, /dev/scdX o /dev/srX, y los
  dispositivos genricos, /dev/sgX:

  3.1.  Dispositivos genricos

  En lo que a nosotros atae, tanto para extraer, como para grabar bajo
  Linux, el kernel ha de tener activado el Generic SCSI Support, que
  proporciona la interfaz ASPI necesaria.

  Pero, de qu manera determina Linux cmo 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 genrico, utilizar comandos ASPI.

  El dispositivo genrico 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

  Lo que nos interesa es la lnea Host: scsi0 Channel: XX Id: XX Lun: XX
  de cada dispositivo; concretamente Id:.
  Una vez los conozca, e independientemente de que haya IDs vacos, la
  correspondencia ID - dispositivo genrico es esta:

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

  y as...

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

  3.3.  Notacin estndar

  En entornos *nix existe cierta notacin para identificar dispositivos
  SCSI:

       Numero_Bus_SCSI,ID_SCSI_dispositivo,LUN_dispositivo

  El LUN es un parmetro 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 sera el dispositivo SCSI del sistema
  0,4,0.

  4.  Sistemas de ficheros

  Este apartado est dedicado a explicar algunas cosas para
  familiarizarle con la grabacin de CDs, de modo que le sea mas fcil y
  rpido elaborarlos.

  Una breve explicacin sobre los sistemas de ficheros de los CD-ROMs,
  para que pueda elegir cul es el ms conveniente en cada momento o CD:
  como ya sabr, se sigue un estndar para que todos los ordenadores
  puedan leer los CD-ROMs sin ningn problema, para eso se cre el
  ISO9660 que especifica el estndar.

  Pero dentro de ese estndar existen algunas variantes, o ms
  concretamente extensiones, que permiten ampliar las posibilidades
  originales del ISO9660, como son los nombres largos o incluso sistemas
  de arranque y ciertas cosas ms.

  4.1.  Joliet y Romeo

  Estos sistemas fueron diseados por Microsoft para su plataforma
  Windows 95/NT. Permiten sistemas de archivos tipo VFAT pero con la
  limitacin de longitud a 64 caracteres, en el caso del Joliet, y de
  128 en el caso del Romeo.

  Para que Linux sea capaz de ver estos sistemas de ficheros ---por
  ahora slo Joliet--- Necesita tener dicho soporte en el kernel: hasta
  el kernel 2.0.34 no lo haba, aunque es posible tenerlo gracias a un
  parche para el kernel que se encuentra en Internet. Este mismo parche
  permite ver tambin particiones con FAT32, el sistema de archivos que
  usa la OSR2 de Windows 95 que le posibilita tener particiones de hasta
  4Tb, limitacin inexistente en el sistema de ficheros de Linux, el
  Ext2, que desde su aparicin soporta hasta 4Tb ;).

  4.2.  Rock Ridge (High Sierra)

  Esta extensin se ide para la plataforma UNIX, por lo que recoge una
  serie de caractersticas y ventajas de las que nos podemos beneficiar
  ms 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 simblicos y
  dems aspectos tpicos 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 transcripcin en forma
  de ficheros llamados TRANS.TBL, que aparecern 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 forneo, otras por sus controladores, la transcripcin no
  funciona muy bien, llegando incluso al reseteo sin previo aviso.

  4.3.  HFS (Hierarchical Filesystem)

  No s mucho sobre este sistema de ficheros, s que es el que utilizan
  los MAC 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
  tambin hay un programa para crear imgenes con este sistema de
  ficheros para que podamos grabar CDs a nuestros amigos los del mac.

  Sobre las caractersticas de este sistema de ficheros no puedo decir
  nada, puesto que de momento no las s. Ayuda!!!

  4.4.  UDF (Universal Disk Format)

  Este es el sistema de archivos que usan los DVD y tambin se puede
  usar en los CD-ROM normales, de hecho el Adaptec DirectCD usa este
  sistema de ficheros. Las caractersticas son muy interesantes, hasta
  256 caracteres en ASCII y 128 en unicodes, posibilidad de grabar los
  discos como packet writing, lo cual elimina la posibilidad de un
  buffer underrun (muy comn 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 muy verde, aunque ya se ha conseguido que se puedan
  leer discos grabados con el DirectCD, aunque con limitaciones de
  ciertas limitaciones, aunque ya podemos acceder a ellos.

  Hasta la fecha el parche para el kernel de Linux soporta hasta la
  versin 1.5 del sistema UDF.

  Para mas informacin pasarse por estas pginas WEB: http://ww.osta.org
  para obetener toda la informacin sobre el sistema UDF y
  http://trylinux.com/projects/udf desde donde podemos acceder a los
  patches para que el kernel vea este sistema de ficheros y no solo eso,
  tambien estan utilidades para crear CDs con el sistema UDF.

  5.  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 estn las ltimas versiones de desarrollo,
  por ello procuro adems dar en la seccin de cada uno la direccin
  origen.

  Aqu hago una descripcin de los programas que vamos a necesitar para
  elaborar nuestros propios CDs, con ellos haremos las imgenes y las
  grabaremos; podremos comprobar la diversidad que hay y las ventajas
  que nos proporcionan.

  Slo voy a describir las ltimas versiones de estos programas, que
  aunque en algunos casos estn en fase alpha o de desarrollo (slo
  algunos) funcionan perfectamente, y en el caso del 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.

  5.1.  Programas para creacin de las imgenes

  La parte mas importante es la de 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 slo eso, la imagen nos permite revisar que
  el CD va a salir como nosotros queremos, pudiendo evitar errores y
  ciertas cosas ms, difcilmente detectables en el momento de la
  grabacin si la generamos al tiempo de grabar.

  Adems, podemos montar las imgenes para comprobar cmo 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 imgenes, si contina leyendo, luego explico cmo podr hacer
  CDs sin necesidad de hacer imgenes, no se impaciente.

  5.1.1.  mkisofs

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

  La ltima versin disponible es la 1.13.

  Este es el principal programa que usaremos para crear nuestras
  imgenes, ya que est hecho especialmente para hacer imgenes ISO9660
  a las que aadir extensiones Rock Ridge, o imgenes Joliet.

  Puede tambin combinar las dos, es decir, en un solo CD tener los dos
  sistemas, el Rock Ridge y el Joliet, de tal forma que es portable a
  los sistemas operativos que usen uno u otro, manteniendo los nombres
  largos.

  Esta explicacin est basada en la versin 1.12a4, de la cual slo voy
  a indicar los parmetros que son ms utilizados.

  La sintaxis de este programa y su uso se explica a continuacin:

     -a o -all-file
        Este parmetro 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 mayora de editores *nix.

     -A o -appid
        Este parmetro indica un comentario sobre la aplicacin 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
        parmetro se identifica como APPI= especificando lo que quiera
        poner mientras tenga una extensin no superior a 128 caracteres.
        En versiones anteriores a la 1.12 se debe especificar en la
        lnea de comandos con el comentario entre comillas.

     -b o -eltorito-boot
        Este parmetro sirve para indicarle el nombre y la ruta del
        archivo que contiene la imagen de arranque que ser usada para
        hacer un CD autoarrancable segn el estndar El Torito. De esta
        forma creamos un CD autoarrancable para aquellas BIOS que
        acepten arrancar desde CD-ROM. La imagen debe tener un tamao 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
        tericamente, por culpa generalmente de la controladora, no del
        estndar.

     -c o -eltorito-catalog
        Con este parmetro, que est ligado al anterior para hacer CDs
        autoarrancables, se especifica dnde se crear en el CDROM el
        archivo del catlogo para el arranque del CD-ROM. Por defecto lo
        crea en el directorio raiz de la imagen

     -f o -follow-links
        Con este parmetro 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 estn 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 parmetros.

     -i Sirve para aadir archivos que no estn en el directorio o
        subdirectorio que hayamos indicado para hacer la imagen, para su
        adicin a la imagen del CD. Esta opcin est temporalmente
        deshabilitada, y parece ser que da problemas, por lo que est en
        espera de ser reescrita.

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

     -l Gracias a este parmetro 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 parmetro indicamos un patrn de archivos que no
        queramos incluir en el CD, que puedan encontrarse dentro de
        algn 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 opcin indicamos el nombre que le queremos dar al
        fichero, incluida su ruta, que contendr la imagen, o el fichero
        de dispositivo correspondiente a la particin donde queremos
        volcarla.

        El volcar las imgenes (slo de datos) a particin es muy
        recomendable para equipos lentos; dicha particin no ha de tener
        formato alguno, por ello la lectura es ms rpida, ocurre como
        con la particin de swap.

        Si utilizamos volcado a particin, conviene resetearla antes de
        generar una imagen nueva con el comando:

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

     Ojo con especificar una particin equivocada, o se ir a hacer
     grgaras...

     -p o -preparer
        Este es complementario al parmetro -A, con l podremos indicar
        el autor del CD, Tiene una extensin mxima de 128 caracteres.
        Corresponde al parmetro PREP= en el archivo

     -print-size
        Muestra por pantalla el tamao estimado que ocupar la imagen,
        sin hacer nada ms.

     -P o -publisher
        Especifica el editor del CD. Su longitud mxima 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 opcin principal para generarlo, manteniendo los permisos
        tal y como estn.

     -r Esta opcin 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 opcin generamos los archivos de transcripcin,
        llamados TRANS.TBL en cada directorio del CD-ROM, que contendrn
        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 opcin -l en el archivo
        aparecern nombres de 32 caracteres y no de 8+3.

     -v Nos muestra la ayuda y la versin del programa.

     -V Esta opcin nos permite darle un nombre de volumen al CD para
        identificarlo. En el archivo .mkisofsrc se especifica con el
        parmetro VOLI= con una extensin mxima de 32 caracteres.

     -x Esta opcin nos permite excluir un directorio especfico que se
        encuentre dentro de la ruta de origen. Puede excluir hasta un
        mximo de 1000 directorios, ojo que hay que especificar el
        parmetro antes de cada directorio, tantas veces como
        directorios a excluir haya:

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

  Estos son los parmetros ms utilizados, si quiere ms informacin o
  ms posibilidades siempre puede consultar la pgina del manual. Ahora
  unos pocos ejemplos de cmo funcionan algunos parmetros:

  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, con el archivo de imagen /cd/imagen.iso.

  Para que al crear la imagen se establezca el nombre de volumen, la
  identificacin, el editor y la aplicacin del CD, hay dos mtodos, uno
  consiste en crear un archivo llamado .mkisofsrc en nuestro directorio
  personal.  Recuerdo que este archivo slo sirve para la versin 1.12,
  con una sintaxis como sta:

     VOLI=
        El nombre de volumen.

     PUBL=
        Cuanquier cosa que quiera poner, normalmente un pequea
        descripcin del CD.

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

     APPI=
        Aqui puede poner una descripcion del objetivo de este CD o su
        destino.

  O bien puede especificarlo en la lnea de comandos as:

       mkisofs -a -R -l -T -V "Volumen" -P "descripcion CD" -p  "preparador" \
        -A "Aplicacion" -o imagen.iso /ficheros

  Este nico comando se ha introducido en dos lneas, detrs del
  carcter \ hay que darle a Enter, y teclear el resto. Se ha hecho as
  por motivos de formato de este documento.

  En l podemos observar, aparte de cmo 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 identificacin que tiene cada archivo en el disco.

  Un ejemplo de cmo 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 descripcin *.o y core con la opcin -m, la
  opcin -f indica que los enlaces que se encuentren sern 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 slo se puede hacer en la versin 1.12:
       mkisofs -a -J -f -R -m '*.o' -m core -x /master/excluir -o /cd/imagen.iso /master

  Uff, casi se me olvida, para hacer un CD autoarrancable (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 segn 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

  Ntese que a los parmetros -b y -c le especificamos lo que parece un
  path absoluto, pero el directorio /cdboot no se encuentra en el
  directorio raz de su disco duro, sino que en realidad es un
  subdirectorio de /master;  esto es as porque mkisofs para este
  parmetro se sita como si estuviera ya dentro del CD.

  5.1.2.  mkhfs

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

  Es su homlogo para el sistema de ficheros de los mac, HFS, no lo he
  llegado a probar todava pero seguro que funciona bien. Su uso es muy
  sencillo y no tiene mucha complicacin.

  5.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 versin usa cdigo del
  mkisofs 1.12 para mejor soporte de Joliet. La ayuda parece exactamente
  la del mkisofs, salvo que incluye las siguientes opciones para aadir
  el sistema de ficheros de los mac:

     -g o -apple
        Aade la extensin ISO9660 de Apple, para la compatibilidad con
        el estndar.

     -h o -hfs
        Crea el sistema HFS hbrido para la extensin ISO9660.

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

     -mac-name
        Crea todos los nombres segn el estilo de los mac para
        ISO9660/Joliet/Rock Ridge
     -no-mac-name
        Evita lo anterior para los archivos Unix/Mac

  5.2.  Software de extraccin de audio

  Aviso: La mayora 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 estndar SCSI-3/mmc, que lo necesitan Little Endian.

  Casi todos los programas extractores de CDAudio 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 ms que un
  horripilante ruido, similar al sonido de una televisin 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 extraccin 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 mecionado ms veces posteriormente a lo
  largo del documento, quiero recalcar, y que necesitar especialmente
  con los extractores, es el del dispositivo genrico SCSI, que es
  explicado en la seccin ``Dispositivos genricos''.

  5.2.1.  readcdda

  Este programa es un poco difcil 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 seccin ``X-CD-Roast''.

  No hay pgina man disponible, y tampoco certifico que los comandos que
  aqu explico correspondan a la versin que Vd. pueda conseguir; no
  obstante lo explico aqu por su excepcional calidad y fiablilidad. Eso
  s, slo funciona con dispositivos SCSI.

  Su sintaxis es un poco pesada, pero como deca 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 genrico de la unidad con la que
        vamos a extraer.

     -B dispositivo
        Dispositivo de bloque de la unidad con la que vamos a extraer,
        son vlidos 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 grabacin

     -S Velocidad de extraccin.

     -v imprimir informacin 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, sera:

       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

  5.2.2.  cdda2wav

  Este programa es ms reciente, y permite extraer de CDROMs IDE si
  stos soportan extraccin. Puede obtenerlo de
  ftp://ftp.gwdg.de/pub/linux/misc/cdda2wav/.

  O tambien de su FTP principal
  ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/cdda2wav.

  Comentar slo las opciones ms habituales:

     -D Dispositivo genrico de la unidad lectora; /dev/sgX 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 simblico 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 Extraccin a calidad CD: muestreo a 44100Hz, 16 bits estreo.

     -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 Velocidad de extraccin

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

  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 patrn audio_*.cdr separados,
  con sus correspondientes ficheros informativos:

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

  Si extraemos las pistas con la opcin -O wav por defecto sern Little
  Endian.

  Existe una variante del cdda2wav, llamada cdparanoia, de rendimiento
  muchsimo menor, pero que como su nombre indica, es muy paranoica con
  la calidad de las pistas extradas, puede resultar til con CDs muy
  estropeados.

  5.3.  Software de grabacin

  5.3.1.  cdrecord

  La pgina principal del cdrecord es
  http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html

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

  Este programa es ms 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 soporta
  cdwrite.

  La mayor ventaja de este programa es que funciona perfectamente con
  las grabadoras IDE (con emulacin SCSI activada, por supuesto) y SCSI,
  incluyendo ms opciones como el soporte para regrabables y sus
  comandos especficos, como borrar un CD-RW, una particin, etc.

  Permite visualizar las tablas de contenido (TOC o Table Of Contents),
  que es donde se almacena la informacin sobre las pistas y el tamao
  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 multisesin o al hacer un
  CD normal o de CD-Audio.

  Tambin puede grabar pistas CDI, en modo normal de datos data 1 y data
  2, multisesin xa1 y xa2 de datos, y audio.

  Otra funcin muy til es que puede realizar ciertas pruebas a la
  unidad para comprobar sus capacidades y compatibilidad, etc.

  Los comandos que ms nos pueden interesar se detallan a continuacin:

     -version
        Muestra la versin del programa. Recomendada la versin 1.6.1
        final, las que llevan la a despues del nmero son alphas y no es
        recomendable usarlas.

     -v Muestra informacin mientras se ejecuta el programa para conocer
        el estado de la grabacin (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 situacin 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 slo si se emplea
        por ejemplo un lector mltiple de CDs, en donde 0 identificara
        a la primera bandeja, 1 a la segunda, etc).

        Un ejemplo frecuente sera 0,4,0 para el primer bus SCSI, el ID
        SCSI 4 y el LUN de todo dispositivo no mltiple, 0.  Si usamos
        la emulacin SCSI o una unidad de puerto paralelo, siempre ser
        0,0,0.

     -dummy
        Con este parmetro indicamos que vamos a hacer un test de la
        unidad y del sistema, simulando una grabacin para comprobar si
        se realiza adecuadamente. Durante este test el lser de la
        grabadora est desactivado por lo que no correremos el riesgo de
        perder un CD.

     -multi
        Esta opcin es para indicar que vamos a hacer un CD multisesin,
        es decir con varias pistas de datos. Este parmetro 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 parmetro -data
        para este fin.

     -msinfo
        Esta opcin nos permite ver la informacin que hay grabada en un
        CD multisesin o con al menos una pista, mientras el CD no se
        haya cerrado.

     -toc
        Muestra informacin sobre la tabla de contenidos del CD, este
        parmetro puede ser usado tanto en las grabadoras como en los
        lectores.

     -fix
        Esta opcin es para cerrar un CD que no se haya cerrado antes,
        si despus de haber grabado los datos no se ha escrito la tabla
        de contenidos. De momento esto no funciona con las unidades
        TEAC.

     -nofix
        Esta opcin, usada en la lnea 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 adems datos. Los CDs
        de datos sin cerrar no pueden ser usados por unidades lectoras.

     -load
        Esta opcin es para cerrar la bandeja, luego sale del programa.

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

     speed=X
        Esta opcin es para indicarle a la unidad la velocidad a la que
        debe grabar. El nmero especifica el multiplicador de 150Kb/s
        para datos y 172Kb/s para audio.

     blank=opcion
        Esta opcin borra un CD-RW y sale o bien borra antes de
        continuar con una grabacin. Slo puede ser usada por unidades
        regrabables y con discos CD-RW. Las opciones se describen a
        continuacin:

       help Muestra la ayuda.

       all Borra totalmente un disco. Esta opcin tarda bastante
        tiempo.

       disc o disk Borra un disco totalmente.

       fast o minimal Borrado rpido 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 sesin.

     fs=
        Esta opcin 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 nmero seguido de b para indicarle bytes, k para
        kilobytes, m para megabytes.

        Por defecto tiene un buffer de 4 Mb. La recomendacin para el
        tamao del buffer es de entre 4 y 32 Megas, debiendo ser como
        mnimo igual al tamao de buffer interno de la grabadora y como
        mximo no superior a la mitad de la RAM fsica del ordenador.

        Lo normal es que no necesite poner ms de 8 MB que es lo que yo
        recomiendo. Si an as aparecen mensajes como fifo empty count,
        tiene problemas de configuracin o hardware. Ej: fs=8m.

     driver=
        Esta opcin es para especificarle un driver concreto; para ver
        la lista de todos los drivers simplemente especifique
        driver=help. Si no se indica opcin, cdrecord tratar de
        encontrar el driver ms apropiado para la unidad. Si no lo
        consigue, tendr que indicrselo; sepa que si el driver no es
        absolutamente compatible corre un riesgo muy grande de perder el
        CD.

     -checkdrive
        Esta opcin busca el driver que corresponda a su unidad y sale.

     -prcap
        Esta opcin imprime las posibilidades de las unidades que
        cumplan el estndar SCSI-3/mmc y sale.

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

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

     -reset
        Esta opcin resetea el bus SCSI donde se est nuestra grabadora.

     -audio
        Detrs de esta opcin se indican los nombres de los archivos de
        sonido que sern grabados como pistas de audio, siempre y cuando
        los archivos tengan una calidad de muestreo 44.100 Khz a 16
        Bits, estreo en alguna variante PCM; si no son as, sern
        rechazados por cdrecord.  Acepta formato CDDA (tanto .cdda como
        .cdr son extensiones vlidas), .wav, .au y .raw.

        cdrecord, si no se le especifica lo contrario, asume que el
        orden de palabra es Big Endian, y convertir automticamente a
        Little Endian si detecta que la grabadora lo necesita.
     -data
        Detrs de esta opcin 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 opcin
        viene por defecto, lo que quiere decir que si no la indicamos
        grabaremos de esta forma.

     -mode2
        Si esta opcin esta presente, todas las pistas de datos que la
        sigan se grabarn en modo 2.

     -xa1
        Si esta opcin esta presente, todas las pistas que la sigan se
        grabarn en modo XA 1.

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

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

  Estos son los comandos que ms se usan, para ampliar informacin 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 dems 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 explicacin 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 multisesin XA 1 y
  las siguientes pistas sern 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 estreo). Y al final no ser
  escrita la TOC por lo que para hacerlo tenemos la siguiente lnea:

       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 haca falta especificar el parmetro
  -data, ya que es el que se asume por defecto.

  5.3.1.1.  Parmetros 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 dnde se encuentra la
  grabadora, o la velocidad de grabacin ya que generalmente grabar
  casi siempre al mximo de velocidad.

  Para no tener que especificarlo siempre en la lnea de comandos,
  cdrecord provee la posibilidad de establecer dichos parmetros por
  defecto, mediante las variables de entorno CDR_DEVICE y CDR_SPEED.

  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
  grabacin por defecto, a menos de que se especifique lo contrario
  mediante parmetros de la lnea de comandos, va a ser a doble
  velocidad (2x).

  Estableceramos dichas variables de entorno mediante la insercin,
  generalmente en el fichero /etc/profile, de las siguientes lneas,
  suponiendo que utilice bash como intrprete de comandos:

       CDR_SPEED=2
       CDR_DEVICE=0,4,0
       export CDR_SPEED CDR_DEVICE

  Dichas variables no estarn disponibles hasta que el sistema relea el
  fichero /etc/profile, lo mejor es reiniciar el terminal con un logout.
  Si esto no funciona, reinicia el sistema para salir de dudas.

  5.3.1.2.  Grabacion sin imagen

  Ahora viene algo que le puede interesar a ms 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 mnimo retraso en la
  transferencia de datos puede ocasionar que no se grabe el CD
  correctamente a pesar de que durante la grabacin 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 grabacin, peligro
  de hacer un CD desde el que no se pueda leer ningn 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 recomendar realizar esta operacin con la version del
  cdrecord 1.6.1 y del mkisofs 1.12b4, ya que he comprobado que
  funcionan mucho mejor y tambin, se entienden mucho mejor, perdiendo
  peligro de realizar CDs corruptos.

  As mismo recomendar realizar esta operacin con la version del
  CDrecord 1.6.1 y del mkisofs 1.12b4, ya que he comprobado que
  funcionan mucho mejor y tambin, se entienden mucho mejor, perdiendo
  peligro de realizar CDs corruptos.

  Bueno, antes de ponernos a grabar el CD debe realizar primero la
  siguiente operacin:

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

  la cual nos facilitar un nmero, este nmero se lo deberemos de pasar
  en un parmetro al cdrecord para que nos reconozca el tamao de la
  imagen a grabar, ya que si no, el cdrecord no tiene forma de saber
  cual es el tamao de la imagen. De esta forma, si por ejemplo, el
  mkisofs nos mostrara la siguiente linea:

       Total extents scheduled to be written = 290699

  nosotros haramos lo siguiente para que el cdrecord nos reconozca el
  tamao 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 multisesin:

       nice --20 mkisofs -r -T -l -f /files | nice --20 cdrecord fs=16m \
       tsize=290699*2048 -eject -xa1 - -audio audio1.wav auido2.wav auido3.au

  Ntese que no especificamos ni la localizacin SCSI de la grabadora,
  ni la velocidad de grabacin, 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 ejecucin, y en este caso concreto establecemos la mxima
  posible.

  Use esto con cuidado.

  Y para terminar voy a indicar como 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 Jrg Schilling
       scsibus0:
                         0) 'HP      ' 'CD-Writer+ 7200 ' '3.01' Removable CD-ROM
                         1) *
                         2) *
                         3) *
                         4) *
                         5) *
                         6) *
                         7) *

  As es como ve el cdrecord nuestra grabadora, ya sea interna o
  externa, por lo que para inidicarle al cdrecord como usar nuestra
  grabadora habremos de poner el parmetro dev=0,0,0.

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

  Recomiendo usar la grabadora con la version del cdrecord 1.6.1, aunque
  como se aprecia en el escaneado de muestra anterior hecho con la
  versin 1.6, esta ltima es capaz de usarla. Tambin es muy
  recomendable hacer pruebas de grabacin para comprobar que no haya
  falta de potencia en el puerto paralelo del ordenador antes de
  proceder a la grabacin final de CD-ROM's.

  5.3.2.  cdwrite

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

  Este programa era el ms utilizado hasta hace un par de aos mas o
  menos, (y el nico que haba). 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 excepcin 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 ser mas fcil de usar.

  Por defecto cdwrite busca /dev/cdwriter como dispositivo por defecto
  de la grabadora, por lo que si hace un enlace simblico del
  dispositivo /dev/sgX a /dev/cdwriter con el dispositivo de acceso
  genrico correspondiente, (vea seccin ``Dispositivos genricos'') se
  ahorrar un parmetro ms que poner.

  cdwrite necesita que se le especifique el tamao en bytes de la imagen
  que va a grabarse; para saberlo, usamos el programa isosize (lo
  podemos encontrar dentro del paquete de distribucin 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 tamao es 382060544, parmetro que le
  especificaremos posteriormente con -b.

  podemos usarlo tambin con CD-Roms o particiones, si hemos generado la
  imagen directa a una particin en lugar de a fichero:

       isosize /dev/sda1
       634986355

  Si hemos volcado la imagen generada por mkisofs en la primera
  particin del primer disco SCSI (con la opcin -o /dev/sda1).

  Algunos ejemplos de cmo 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 grabacin; 382060544 es el tamao del
  CD en cuestin, 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 parmetro -s indica
  la velocidad de grabacin (equivale al speed=2 del cdrecord), el
  parmetro -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 estn los parmetros -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 slo se
  escuche un desagradable ruido.

  Consulte la seccin ``Software de extraccin de audio''.

  No podr hacer CDs multisesin con este programa. Para hacer CDs
  multisesin tendr que usar las opciones que lleva el mkisofs para
  este fin, generando una imagen multisesin.

  5.4.  Entornos Integrados

  5.4.1.  X-CD-Roast

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

  Este programa es el ms 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 automticamente, adems de
  funcionar correctamente y sin problemas. Con l puede configurar y
  hacer las imgenes de CD fcilmente sin necesidad de ir a la lnea de
  comandos, as como extraer pistas de audio y volver a grabarlas
  gracias a sus modificaciones del readcdda y playcdda (que slo 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 extraccin
  de pistas CDDA o de CD-Audio.

  Puede hacer una copia directa de CD a CD, siempre que sean slo 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 caractersticas 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
  versin 0.96d final o superior o no conseguir que salga ni un solo CD
  bien.

  5.5.  Burn-It

  Este entorno utiliza las ltimas versiones de cdrecord, mkisofs y
  cdda2wav, lo ms peculiar sin duda es que esta escrito ntegramente en
  java; su desarrollo es muy rpido.

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

  5.6.  CDR

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

  Su utilidad actualmente es ms que nada para la preparacin de audio
  que posteriormente va a ser grabado con cdrecord o cdwrite desde la
  lnea de comandos. Provee una Interfaz tipo ncurses. Slo extrae de
  unidades SCSI.

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

  5.7.  Otros programas y utilidades

  Hay varias utilidades entre las que tengo que destacar el sdir, el
  isovfy, el cdinfo y el isodetect, que son pequeas, de consola pero
  muy tiles a la hora de comprobar y verificar CDs. Estas pequeas
  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 del ``X-CD-Roast'' como en el del
  cdrecord. Por ejemplo, el sdir nos puede ayudar a saber el tamao
  total de un directorio y sus subdirectorios que nos es muy util cuando
  queremos evaluar y calcular el tamao del CD a copiar el vuelo; el
  isovfy nos sirve para verificar que no hayan errores en una imagen
  creada en el disco duro; el cdinfo nos puede ayudar a comprobar que se
  han copiado bien los CDs y no solo eso, este pequeo programa muestra
  la estructura de un CD en minutos y segundos, nos dice si es
  autoarrancable, los sistemas de archivo que contiene, si lleva pistas
  de audio o es un video CD, etc; y con el isodetect podemos ver la
  etiqueta del volumen de un CD as como los comentarios de los mismos.

  Descripcin de las utilidades son:

     sdir
        este programa nos muestra la capacidad de un directorio con sus
        subdirectorios. Los parmetros son directorios.

     isodetect
        programa para ver el volumen, el editor, el publicador y la
        aplicacin a la que han sido puestos en una imagen. Su sintaxis
        es la siguiente:

       -h Te muestra la ayuda.

       -d y un nombre de un archivo de imagen o de un dispositivo le
        indican en donde realizar la bsqueda, por defecto busca en
        /dev/cdrom. Si no se indican mas parmteros te dice el tipo de
        imagen que es, iso9660 o HFS.

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

       -P Te muestra el comentario que hay como publicador.

       -p Te muestra el comentario que hay como preparador.

       -A Te muestra el comentario que hay como aplicacin.

        Solo se puede indicar un comando a la vez con -d. Este programa
        se puede encontrar en el paquete del ``X-CD-Roast''.

     cdinfo
        excelente y pequea utilidad que nos muestra la estructura de un
        CD, en lo que a pistas se refiere, te identifica un CD mixto,
        autoarrancable, con sistema HFS, CD Plus, etc. (Altamente
        recomendada y muy util).

     isovfy
        esta pequea utilidad nos v a servir para encontrar posibles
        errores en las imgenes. Su sintaxis es muy sencilla, solamente
        se le ha de indicar un dispositivo de bloques o un nombre de
        archivo de una imagen. Este programa viene en el paquete del
        ``X-CD-Roast''.

  6.  Software DAO y generadores de subcdigos.

  6.1.  CD Builder

  Prometedora aplicacin, con entorno grfico en X-Window, que permitir
  generar escaletas (cue sheets para la creacin de CDs, as como de
  subcdigos, 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.

  6.2.  CDRDAO

  Programa en fase alpha de desarrollo, de lnea de comandos, que
  promete mucho, especialmente por permitir creacin de subcdigos,
  introducir CD-TEXT, pistas de audio ocultas, etc; en general,
  flexibilidad total ,aunque esto implique mayor dificultad y
  complejidad de uso, claro.

  Est disponible (por ahora en versiones muy alpha) en
  http://www.ping.de/sites/daneb/cdrdao.html.

  7.  Preguntas y respuestas

  7.1.  disco duro deje de funcionar durante unos segundos Me sale un
  mensaje muy parecido al siguiente despus de que el

  Me sale este mensaje despus 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 Tritn (I/II) DMA, ya que su disco duro no soporta extraccin
  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 extraccin
  DMA para ese disco, (con las unidades de CD-ROM que no lo soporten
  tambin pasa) tiempo suficiente para que el CD pueda salir daado al
  no llegarle constantemente los datos.

  En el caso de estar emulando dispositivos SCSI es rotundamente
  necesario desactivar dicha opcin en el kernel ya que en el momento en
  que pase, el bus se quedar colgado al hacer interferencia el
  dispositivo controlador IDE y la emulacin SCSI, esto hace que no
  pueda leer de las unidades al estar literalmente bloqueadas, por lo
  que el nico remedio es apagar el ordenador.

  7.2.  que no sea copiar los ficheros del CD al disco y luego sacar la
  imagen?  Hay alguna forma de hacer una imagen exacta de un CD al
  disco duro

  S. Hay una forma de transferir una copia binaria de un CD
  directamente al 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 particin libre en el
  disco duro; de esta forma podremos hacer una imagen exacta del CD si
  no tenemos una unidad secundaria desde donde copiar el CD, o si
  queremos comprobar la legibilidad del CD a copiar.

  Un ejemplo de cmo se hace es

       cat /dev/cdrom > imagenCD.iso

  o

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

  una vez hecho esto slo tenemos que usar esa imagen para grabar y
  obtenemos una copia exacta del CD original. Si el CD lleva pistas de
  audio tendr que extraer las pistas de audio primero al disco con un
  extractor digital como el cdda2wav, o el readcdda, suponiendo que su
  lector lo soporte, sino puede hacerlo desde la grabadora.

  7.3.  problema?  Se puede copiar de CD a CD (slo de datos) directa
  mente sin ningn

  Efectivamente se puede copiar de CD a CD slo de datos sin ningn
  problema, pero eso s, (el tpico 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, hagale muchas pruebas antes de
  poroceder.

  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 como se hace una copia directa desde la
  unidad lectora a la grabadora (IDE en este caso), y si se da cuenta,
  el parmetro -isosize es para forzar al programa grabador a que
  determine primero el tamao del CD imagen ya que por s solo no lo
  hace, e intenta leer los dos ultimos bloques, pudiendo resultar un CD
  defectuoso.

  7.4.  Puedo duplicar directamente un CD mixto o de audio?

  Actualmente, ninguno de los programas para grabacin 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 ya que ninguno de ellos soporta duplicacin de tipo DAO, Disk At
  Once, adems de tener que soportarlo la grabadora, y por supuesto el
  lector.

  Ver seccin ``CDRDAO''.

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

  La respuesta poder duplicar un CD en mode xa2 es s, pero la respuesta
  a hacerlo con un CD del tipo de los de Playstation es rotunda: NO. Ni
  con imagen en disco duro ni sin imagen. Ni el kernel soporta leer
  correctamente el CD, ni cdrecord duplicarlo. Ojo que aunque pueda
  montar el CD, y parezca que puede leer parte, solo conseguir
  malgastar un CD.

  El problema de los CD-ROM de Playstation es que incorporan un sistema
  de grabacin basados en la lista 0, esta pista est grabada como de
  datos y es erronea para el sistema ISO9660, pero que con las
  extensiones de nuestros sistemas somos capaces de leerlas. Entonces al
  copiar el cdrecord es pista 0 como pista 1, la Playstation no coge el
  CD, ya que el busca la pista 0.  Esa es la razn de usar un programa
  DAO para hacer este tipo de copias.

  Para poder duplicar este tipo de CDs, debera usarse una combinacin
  de software/grabadora/lector que soportase duplicacin DAO, ver
  seccin ``Puedo duplicar un CD mixto o de audio?''.

  7.6.  Hay alguna FAQ genrica sobre CD-R o CD-RW?

  S. En ella puede consultar desde qu tipo de CD-R vrgenes son mejor
  para qu cosa hasta qu grabadora es la ms recomendable, o cules 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 ingls, aunque puede aprovechar el traductor de
  Altavista: http://babelfish.altavista.digital.com/cgi-bin/translate.

  La traduccin es un poco burda, pero menos da una piedra... :).

  7.7.  zumbido horripilante...  He grabado un CD de Audio, pero al
  escucharlo slo se oye un

  Consulte la seccin ``Software de extraccin de audio'', ha utilizado
  para grabar ficheros con el orden de Bytes (Big/Little Endian
  equivocado para su grabadora.

  7.8.  Problemas con ms 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 configuracin 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 cuelgen el sistema.

  Pues bien, cuando tena slo la grabadora y estos tres parmetros
  activados efectivamente el sistema se me colgaba.  Posteriormente
  adquir una unidad lectora SCSI para poder realizar duplicaciones
  directas, pero en las duplicaciones aparecan 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 caa.

  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 cul fue mi sorpresa al ver que no
  slo haba 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 ms 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 ms de
  uno; familiarcese 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.

  7.9.  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 algn directorio, y
  procedemos con el 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 imgenes. Recomiendo usarlas en las copias de CD mixtos y CD
  Plus.

  7.10.  Como se graba un CD multisesin?

  El asunto de un CD multisesin es bastante complicado. Si comenzamos
  con que hemos grabado una imagen digamos de 200 MB y tambin queremos
  grabar otra de otros 200 MB de forma continua no podremos, es decir,
  primero tendremos que grabar una, y despus crear la segunda imagen
  con unas opciones que tenemos que sacar del cdrecord y pasarle al
  mkisofs como se muestra en el ejemplo:

       # cdrecord dev=4,0 -msinfo

  Para obtener el nmero que hace falta, es decir, la informacin
  multisesion del CD. Solo funciona con CDs que hayan sido grabados con
  la opcin -multi. Entonces le pasamos al mkisofs el nmero que puede
  ser como este 0,131456 de la siguiente forma:

       # mkisofs -v -a -C 0,131456 -r -R -T -V "CDROM"-o /imagen.iso /files/.

  Y luego procedemos a copiar la imagen con el cdrecord de forma normal
  con el parmetro -multi para que la copie multisesin.

  7.11.  Como se crea un CD Plus?

  Pero que es un CD Plus? Un CD Plus es un CD que contiene primero
  pistas de audio y al final una pista de datos. Que raro no? Y esto
  para que sirve?  Esto se usa de forma comn para usar este tipo de CDs
  con lectores de CD-Audio normales Has probado a escuchar un CD de
  datos en un lector de CD-Audio normal? Entonces para crear este tipo
  de CDs lo primero es crear una imagen sin archivos en ella, es decir,
  hacer una imagen bsica desde un directorio en el que no hayan
  archivos. Una vez copiadas las pistas de audio y la imagen bsica 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 las pistas de audio y la imagen bsica con la
  sentencia anterior,  obtenemos la informacin de multisesin del CD y
  hacemos la imagen y la grabamos de la misma forma que est explicada
  en la seccin ``Como se crea un CD Multisesin?''.

  7.12.  Sugerencias y peticiones

  Desde este documento pido la ayuda, dedicacin que cada uno pueda
  aportar a la creacin/desrroyo de algn programa DAO (Disk-At-Once)
  para la duplicacin de CD-ROMs, ya que es muy costoso y trabajoso la
  creacin o duplicacin de CD Mixtos y de Audio, para que linux est a
  la altura de hacer 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 el Adaptec Easy CD/Pro.

  8.  Crditos

  ste documento ha sido escrito por Leandro Terrs Lord_LT@axis.org
  tras leer varios documentos en ingls, 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 incorporacin propia y pruebas
  que he ido haciendo, a base de perder algn que otro CD con grabadoras
  IDE, que es la parte ms actual por la que se ha hecho ste documento.

  ste documento es propiedad intelectual de Leandro Terrs como parte
  del LPD (Linux Documentation Proyect). Para cualquier modificacin,
  aadidura, traduccin, etc. pngase en contacto con el autor.

  Posterior revisin, reestructuracin, formateo y ampliacin, Francisco
  J.  Montilla, pacopepe@iname.com al que le desde aqui le doy mi mas
  sinceras gracias por la ayuda prestada.

  Colaboraciones, aadiduras y correcciones:

  Jorge de Diego Rodrguez, toke@toke.net por su inestimable ayuda en la
  finalizacin del apartado sobre las grabadoras IDE/ATAPI por puerto
  paralelo.

