Escribiendo-CD COMO

Winfried Trüemper winni@xpilot.org
Traducido por Salvador Fernández Barquín salvador@netspace.com.mx

v2.0, Agosto 1, 1997
Este documento trata sobre el procedimiento de escritura de CD's bajo Linux.

1. Introducción

Mi primera experiencia con Grabadores de CD fue guiada por el "Grabador de CD Linux mini-COMO" (Linux CD Writer mini-HOWTO) por Matt Cutts < cutts@ms.uky.edu>. Gracias Matt!

Aunque mi intención fue solamente hacer una actualización a su documento, yo lo reescribí después de que a primera vista me dí cuenta de cuanto había cambiado desde 1994.

1.1 Advertencia legal

Yo (Winfried Trüemper) CEDO TODAS LAS GARANTIAS CON TODO LO RELACIONADO A ESTE DOCUMENTO, INCLUYENDO TODAS LAS GARANTIAS IMPLICADAS DE LA MERCANTILIDAD Y CONVENIENCIAS PARA UN CIERTO PROPOSITO; EN NINGUN EVENTO PODRE TENER UNA OBLIGACION EN ESPECIAL, POR DAÑOS INDIRECTOS O CONSECUENTES O POR ALGUNOS DAÑOS CUALQUIERA QUE SEAN RESULTADOS DE LA PERDIDA DE USO, DATOS O BENEFICIOS, YA SEA QUE EN UNA ACCION DE CONVENIO, NEGLIGENCIA O OTRA ACCION TORTUOSA, SOBREVENIDA O EN CONECCION CON EL USO DE ESTE DOCUMENTO. En pocas palabras: léalo y úselo bajo su propio riesgo.

1.2 Lecturas sugeridas

El FAQ CD-R < http://www.cd-info.com/CDIC/Technology/CD-R/FAQ.html> es un FAQ general acerca de los discos compactos regrabables (CD-R).

El Linux CD-ROM COMO explica todo lo que debes saber acerca de las unidades de CD-ROM bajo Linux. Como un suplemento, Vd. podría querer echarle un vistazo a Linux SCSI COMO (Linux SCSI HOWTO) y a núcleo-Linux COMO.(Linux Kernel HOWTO).

1.3 Terminología ... lásers al máximo ... fuego!

CD-ROM significa Disco Compacto Memoria de Solo Lectura (Compact Disc Read Only Memory), un medio de almacenamiento que utiliza un láser óptico que sensa fisuras microscópicas (pits) sobre un disco plateado (El brillo planteado proviende de una capa aluminizada la cual es el carrier). Las fisuras representan los bits de la información (de algún modo) y son tan pequeños que algunos billones de estas fisuras hay en el disco. De esta forma un CD es un medio masivo de almacenamiento.

El término CD-R es una forma corta de CD-ROM grabable (CD-ROM recordable) y refiere a un CD que no tiene estas "microscópicas fisuras" (pits) en su superficie.

En su lugar tiene una capa de aluminio (plateada) esta tiene una película especial (coloreada) dentro de la cual "fisuras microscópicas" (pits) pueden ser quemadas. Esto es hecho dando al láser que solo normalmente sensa las fisuras, un poco más de poder tal que quema las fisuras. Esta acción puede solamente ser efectuada sobre un CD-R.

Vd puede omitir algunas áreas para después escribir, en firme, creando un así lo que se llama CD multi-sesión.

Este mini-COMO trata con la tarea de escribir un CD-R. Bienvenido a bordo, capitán.

1.4 Grabadores de CD soportados.

Una lista detallada de los modelos los cuales han sido reportados que (no) trabajan satisfactoriamente esta disponible en

< http://www.shop.de/cgi-bin/winni/lsc.pl>

Esta lista será incluída en futuras versiones de este mini-COMO.

Si su "hardware" no esta soportado puede aún usar Linux para crear una imagen del posterior CD, pero entonces debe usar Software para DOS para escribir la imagen en el CD-R. Vd podría desear hacerlo porque la mayoría del Software de DOS no puede tratar con los nombres de archivos largos disponibles en Linux.

En este caso puede saltarse todas las secciones relacionadas con el "hardware" (aquellas sobre manejadores SCSI genéricos y cdwrite).

1.5 "características" soportadas

Actualmente el software para quemar CDs bajo Linux soporta las siguientes características principales.


       Caracteristicas     cdwrite-2.0          cdrecord-1.5
       ------------------------------------------------------
       Multisesion         solamente parcial    si

       RockRidge           si (mkisofs)         si (mkisofs)
       El Torito           si (mkisofs)         si (mkisofs)

RockRige es una extesión que permite usar nombres de archivos largos y una profunda jerarquía de directorios. El Torito puede ser usado para producir CDs autoarrancables. Por favor vea la documentación acompañada por más detalles sobre estas características especiales.

La sección obtener lista la disponibilidad del software mencionado.

1.6 Listas de correo

Si quiere unirse a un equipo de desarrollo (con la intención de _ayudarlos_ activamente), envía un e-mail a
cdwrite-request@pixar.com
y coloca la palabra "subscribe" en el cuerpo del mensaje.

1.7 Disponibilidad.

La última versión de este documento esta siempre disponible en
< http://www.shop.de/~winni/linux/cdr/ >

2. Prepara tu máquina Linux para escribir CD-ROMs

2.1 Configurando el hardware

Ejecute "shutdown" en su computadora, apáguela y conecte su grabador de CDs al bus SCSI.

Asegúrese que el bus SCSI esté propiamente terminado y escoga un identificador SCSI libre (SCSI-ID). Dele un vistazo a Linux SCSI-COMO (SCSI-HOWTO) si no está seguro. Si Vd está completamente despistado, pregunte a un experto.

Encienda nuevamente el ordenador y compruebe los mensajes que el BIOS del controlador-SCSI muestra inmediatamente después de haberla encendido. Si éste no reconoció su grabador, vuelva al paso anterior. Deberá ver un mensaje como

  NOTA: salida de pantalla perdida; alguien tiene una salida de pantalla de esto?

2.2 Una nota acerca de escribir CDs bajo Linux

En contraste con otros rumores, el núcleo de Linux (kernel) _no_ requiere un parche para ejecutar escritura de CDs. Aunque el archivo drivers/scsi/scsi.c de los fuentes del núcleo contiene estas líneas

       case TYPE_WORM:
       case TYPE_ROM:
        SDpnt->writeable = 0;

esto lo único que significa es que CDs y WORMs no son grabables por medio de los dispositivos estándar /dev/sda-/dev/sdh - lo cual esta bien.

En lugar de usar estos dispositivos la escritura de CDs es hecha por medio de los llamados dispositivos-SCSI genéricos los cuales permiten casi cualquier cosa - hasta la escritura de CDs.

2.3 Creación de dispositivos genéricos

El Linux SCSI-COMO (SCSI-HOWTO) habla acerca de los dispositivos-SCSI genéricos:

       El gestor de dispositivo-SCSI generico proporciona una interfaz
       para mandar intrucciones SCSI a todos los dispositivos SCSI -
       discos, cintas, CDROMs, robots de cambio de medios, etc.

Hablando de dispositivos genéricos como interfaces por medio de las cuales, se proporciona un camino alternativo para acceder al hardware SCSI en lugar de los dispositivos estándar.

Este camino alternativo se necesita porque los dispositivos estándar son diseñados para leer datos en forma de bloques desde un disco, cinta o cd-rom. Comparando esto, con manejar un grabador de cd (o un digitalizador) es más exótico, por ejemplo instrucciones para posicionar el láser pueden ser transmitidas. Para tener una implementación limpia (y por consiguiente rápida) de los dispositivos estándar, todas semejantes acciones exóticas debe ser hechas por medio de los dispositivos genéricos scsi.

Como cualquier cosa puede ser hecha por el hardware SCSI por medio de los dispositivos genéricos, ellos no sean sido fijados para un propósito específico, de ahí su nombre genéricos.

Vaya al directorio /dev y compruebe los dispositivos scsi genéricos; con el comando ls deberá mostrar del sga al sgh:

       bash> cd /dev
       bash> ls -l sg*
       crw-------   1 root   sys     21,   0 Jan  1  1970 sga
       crw-------   1 root   sys     21,   1 Jan  1  1970 sgb
       crw-------   1 root   sys     21,   2 Jan  1  1970 sgc
       crw-------   1 root   sys     21,   3 Jan  1  1970 sgd
       crw-------   1 root   sys     21,   4 Jan  1  1970 sge
       crw-------   1 root   sys     21,   5 Jan  1  1970 sgf
       crw-------   1 root   sys     21,   6 Jan  1  1970 sgg
       crw-------   1 root   sys     21,   7 Jan  1  1970 sgh

Si no tiene estos archivos de dispositivo entonces créelos usando el script /dev/MAKEDEV:

       bash> cd /dev/
       bash> ./MAKEDEV sg

Ahora deberán de mostrarse los archivos de dispositivo.

2.4 Habilitar el uso de scsi genéricos y dispositivos de loopback.

El núcleo de Linux (kernel) necesita un módulo que le añada esta habilidad de manejar los dispositivos scsi genéricos. Si su núcleo (kernel) que está ejecutando tiene esta característica, esta deberá ser listada en el pseudo-archivo /proc/devices:

       bash> cat /proc/devices
       Character devices:
        1 mem
        2 pty
        3 ttyp
        4 ttyp
        5 cua
        7 vcs
        21 sg         <----- levanta el "dispositivo generico scsi "
        30 socksys

       Block devices:
        2 fd
        7 loop        <----- nosotros tambien podemos usar dispositivos loop
        8 sd
       11 sr          <----- levanta el "cd-rom scsi"

Tal vez Vd deba aplicarle los comandos insmod sg, insmod loop o insmod sr_mod para cargar los módulos en el núcleo (kernel). Verifique nuevamente después de probar estos.

Si uno de ellos no funciona, debe reconfigurar su núcleo (kernel) y recompilarlo.

       bash> cd /usr/src/linux
       bash> make config

       [..]
       *
       * Additional Block Devices
       *
       Loopback device support (CONFIG_BLK_DEV_LOOP) [M/n/y/?] M

       [..]
       *
       * SCSI support
       *
       SCSI support (CONFIG_SCSI) [Y/m/n/?]
       *
       * SCSI support type (disk, tape, CD-ROM)
       *
       SCSI disk support (CONFIG_BLK_DEV_SD) [Y/m/n/?] Y
       SCSI tape support (CONFIG_CHR_DEV_ST) [M/n/y/?] M
       SCSI CD-ROM support (CONFIG_BLK_DEV_SR) [M/n/y/?] M
       SCSI generic support (CONFIG_CHR_DEV_SG) [M/n/y/?] M

       [..]
       ISO9660 cdrom filesystem (CONFIG_ISO9660_FS) [Y/m/n/?] M

Por favor note que he omitido las preguntas que no son importantes.

2.5 Construyendo e instalando el núcleo (kernel)

Si tiene preguntas con respecto a esto, el Linux núcleo-COMO (Kernel-Howto) es la lectura sugerida. Además en su distribución de Linux debe venir con alguna documentación acerca de esta cuestión.

Nota: mientras recompila, usted puede continuar con los pasos 2.7-2.9

2.6 Reinicie su computadora para que los cambios tomen efecto.

No se preocupe si su núcleo de Linux (kernel) muestra mensajes rápidamente y usted no puede leerlos, al menos la inicialización de los dispositivos SCSI puede ser redesplegada con el comando dmesg:

  scsi0 : NCR53c{7,8}xx (rel 17)
  scsi : 1 host.
  scsi0 : target 0 accepting period 100ns offset 8 10.00MHz
  scsi0 : setting target 0 to period 100ns offset 8 10.00MHz

    Vendor: FUJITSU   Model: M1606S-512        Rev: 6226
    Type:   Direct-Access                      ANSI SCSI
  Detected scsi disk sda at scsi0, channel 0, id 0, lun 0

    Vendor: NEC       Model: CD-ROM DRIVE:84   Rev:  1.0a
    Type:   CD-ROM                             ANSI SCSI
  Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0

  scsi : detected 1 SCSI disk total.
  SCSI device sda: hdwr sector= 512 bytes. Sectors= 2131992

Lo mostrado arriba es solamente la parte de los mensajes de inicialización que reportan la detección de los dispositivos SCSI presentes físicamente.

2.7 Creando dispositivos loopback

Vaya al directorio /dev y verifique los dispositivos "loopback". Estos no son críticos si Vd no tiene estos dispositivos, pero es conveniente que los tenga (ver prueba ). Si Vd ya los tiene, el comando ls deberá mostrar del loop0 al loop7:

       bash> cd /dev
       bash> ls -l loop*
       brw-rw----   1 root  disk    7,   0 Sep 23 17:15 loop0
       brw-rw----   1 root  disk    7,   1 Sep 23 17:15 loop1
       brw-rw----   1 root  disk    7,   2 Sep 23 17:15 loop2
       brw-rw----   1 root  disk    7,   3 Sep 23 17:15 loop3
       brw-rw----   1 root  disk    7,   4 Sep 23 17:15 loop4
       brw-rw----   1 root  disk    7,   5 Sep 23 17:15 loop5
       brw-rw----   1 root  disk    7,   6 Sep 23 17:15 loop6
       brw-rw----   1 root  disk    7,   7 Sep 23 17:15 loop7

Si Vd no tiene estos archivos de dispositivo, entonces créelos usando el script /dev/MAKEDEV:

       bash> cd /dev/
       bash> ./MAKEDEV loop

Este último comando solo se efectua si tiene el módulo loop en su núcleo (kernel) (ver habilitar para manejo de módulos). Si "insmod loop" no ayuda, deberá esperar hasta que su nuevo núcleo (kernel) este propiamente instalado (ver construir ).

2.8 Obtener software del usuario para quemar CDs

Programas de línea de órdenes.

El siguiente paquete se necesita para generar prototipos de CD-Rs:

< ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/mkisofs-1.11.tar.gz>

Dependiendo el modelo de su grabador de cd (ver terminos ), uno de los siguientes programas para escribir prototipos de CD-Rs se necesita:

< ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/cdwrite-2.0.tar.gz >

< ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/cdrecord.tar.gz>

Por favor use los mirrors más cercanos para estos servidores de ftp o obtenga estos de un CD.

Asegúrese totalmente que tiene la versión 2.0 de cdwrite o más nueva. No la vieja versión y especialmente no las versiones beta porque no trabajará correctamente, no confié en una página man (vieja) de mkisofs las cuales consideran que Vd necesita la versión 1.5 de cdwrite.

Para información acerca de los ports de cdwrite a Irix y AIX visite la dirección URL:

< http://lidar.ssec.wisc.edu/~forrest/>

La distribución Debian contiene un parche para la versión 1.05 de mkisofs que añade la opción "-K" para esto (ver iso9660 ) ; esta disponible en

< ftp://ftp.debian.org/pub/debian/rex/source/misc/mkisofs_1.05-3.diff.gz >

Este parche solo es necesario si quiere montar la imagen del CD via el dispositivo loopback (ver prueba ).

Una corrección para scsi.c (kernel) que hace este parche superfluo, fue escrita por Eric Youngdale y será incluída en al siguiente versión estable del núcleo de Linux (kernel).

Una interfaz gráfica para usuarios (opcional)

X-CD-Roast es un Programa Grabador de CDs totalmente basado en X, y este es sucesor de cdwtools-0.93. Esta disponible en

< http://www.fh-muenchen.de/home/ze/rz/services/projects/xcdroast/e_overview.html>

Actualmente X-CD-Roast esta basado en una versión parchada de cdwrite-2.0 y de este modo viene con exactamente las mismas características (ver 1.4). Futuras versiones podrían estar basadas en algún software alternativo para grabar CDs.

3. El Emperador nerón acerca de quemar sus propios CDs clásicos (AD64; el no lo entendía completamente): " Si te sale humo entonces yo no dejaré de tocar mientras te quemas".

Usualmente la escritura de un CD bajo Linux se hace en 2 pasos:

En esto es también posible combinar los 2 pasos en uno por medio de una redirección (pipe) pero esto es descartado porque no es seguro. Ver más adelante.

3.1 Determinar a cual dispositivo scsi genérico esta conectado.

Note: el esquema actual para nombrar dispositivos scsi bajo Linux es innecesariamente complicado y no es lo bastante formal. El hecho que tenga que describirlo a grandes detalles aquí no debe de ser mal interpretado como una confirmación a este esquema.

Después siguiendo todos los pasos del segundo capítulo su sistema deberá ser capaz de tratar con la tarea de escritura de CDs. Esta sección puede ser usada como una prueba que todo trabaja como decimos.

Emite el comando dmesg. Esta deberá reportar los mensajes del núcleo de Linux (kernel) incluyendo los que se imprimen mientras arranca (limitación: solamente los últimos 200) y contiene alguna información acerca del grabador de CDs conectado al bus SCSI.

ejemplo simple:

       Vendor: YAMAHA  Model: CDR100       Rev: 1.11
       Type:   WORM                        ANSI SCSI revision: 02
       Detected scsi CD-ROM sr1 at scsi0, channel 0, id 3, lun 0

Esta máquina tiene 4 dispositivos SCSI conectados a ella (tu no puedes ver eso por eso te lo digo), con SCSI-id desde 0 al 3. El grabador esta físicamente presente en el cuarto y esta conectado por medio de /dev/sgd (el cuarto dispositivo SCSI genérico, al estar contando estaremos iniciando por la letra a). En este caso el comando

       cdwrite  --eject  --device /dev/sgd

abre la bandeja del cd y es una prueba que todo está configurado debidamente. Un ejemplo más complicado es:

  scsi0 : AdvanSys SCSI 1.5: ISA (240 CDB)
  scsi1 : Adaptec 1542
  scsi : 2 hosts.

    Vendor: HP      Model: C4324/C4325  Rev: 1.20
    Type:   CD-ROM                      ANSI SCSI revision: 02
  Detected scsi CD-ROM sr0 at scsi0, channel 0, id 2, lun 0

    Vendor: IBM     Model: DPES-31080   Rev: S31Q
    Type:   Direct-Access               ANSI SCSI revision: 02
  Detected scsi disk sda at scsi1, channel 0, id 0, lun 0

  scsi : detected 1 SCSI cdrom 1 SCSI disk total.
  SCSI device sda: hdwr sector= 512 bytes.

En este ejemplo tenemos dos controladores SCSI con un dispositivo SCSI en cada uno. Qué desperdicio (hay posibilidad de colocar hasta 7 dispositivos SCSI en cada uno). Esta no es mi configuración así que paren de preguntar si tengo mucho dinero....de cualquier manera para el siendo un ejemplo descuidado esta configuración es casi excelente. :-)

En el ejemplo de arriba el grabador CD tiene SCSI-id 2 pero es asociado con el primer dispositivo SCSI genérico /dev/sga porque este es el primero físicamente presente en el dispositivo SCSI el cual Linux ha detectado. Espero esto se vea más claramente que el SCSI-id de un dispositivo no tiene nada que ver con el dispositivo genérico asociado.

Dos preguntas estan faltando: ¿Que pasa si se detecta el dispositivo erróneo? Si Vd no especifica la opción "--<FABRICANTE>" o no escribe algún dato al dispositivo, usualmente un mensaje de advertencia es mostrado y nada malo sucede:

       bash> cdwrite  --eject  --device /dev/sgb

"Unknown CD-Writer"; si este modelo es compatible con algún tipo soportado, por favor use el parámetro apropiado en la línea de comandos.

       Manufacturer:  IBM
       Model:         DPES-31080
       Revision:      S31Q

En este caso el dispositivo /dev/sbg es un disco duro scsi (de IBM).

Si escribe datos en un dispositivo erróneo, Vd sobrescribirá el contenido original de este y probablemente generará un daño irrecuperable a su sistema. Sea cuidadoso, esto ya me ha pasado a mí por accidente.

3.2 Colectar software

Usualmente esto toma más de lo que uno espera. Recuerda que los archivos olvidados no pueden añadirse una vez que el CD esté grabado :-)

También debes mantener en mente que una cierta cantidad del espacio libre de un CD es usada para grabar información del sistema de archivos iso9660 (usualmente unos pocos MB).

3.3 Grabando datos en un CD.

El término iso9660 refiere al formato en el cual los datos estan organizados en el CD. Para ser más preciso: este es el sistema de archivos del CD.

Por supuesto la apariencia de los archivos grabados en este formato es unificada por el núcleo de Linux (kernel), como para todos los sistemas de archivos, también. Por lo si Vd monta un CD en su árbol de directorios, no puede distinguir estos archivos de otros archivos (Ese mecanismo usado para unificar la apariencia de los archivos es llamado sistema de archivos virtual (virtual filesystem), en forma corta SAV (VFS)).

Las características del sistema de archivos iso9660 no son tan esplédidas comparadas con las del sistema de archivos extended-2 el cual es normalmente usado bajo Linux. Por otro lado, el CD solamente es grabable por única vez y algunas características hacen que no tenga sentido poseer mayores características. Las limitaciones del sistema de archivos iso9660 son:

3.4 Crear un sistema de archivos iso9660

Antes de que algún medio de almacenamiento (por ejemplo: disco flexible disco duro o CD) puedan ser usados, este debe obtener un sistema de archivos (hablando DOS: ser formateados). Este sistema de archivos es responsable de organizar e incorporar los archivos que deberán ser grabados en el medio.

Bueno, un CD grabable es solamente grabable _una sola vez_ si nosotros grabamos en él un sistema de archivos vacío, este podría ser formateado - pero permenecería completamente vacío para siempre. :-)

Por lo tanto lo que nosotros necesitamos es una herramienta que cree el sistema de archivos mientras copia archivos al CD. Esta herramienta se llama mkisofs. Un ejemplo de su empleo lo vemos como siguiente:

       mkisofs  -r -K  -o cd_imagen   coleccion_privada/
                       `---------'   `-----------------'
                            |               |
                   escribe salida en   toma el directorio como entrada

La opción "-r" fija los permisos de todos los archivos para ser de lectura pública en el CD y habilita las extesiones Rock Ridge. Esto es lo que usualmente se quiere y el uso de esta opción es recomendado hasta que Vd conozca que esta haciendo (nota: sin la "-r" el punto de montaje tendrá los permisos de coleccion_privada!). La opción "-K" fija un error en el núcleo de linux (kernel) y previene que el último archivo en el CD vaya a ser "destruído" (no realmente, pero Linux no puede leerlo). Vd necesita la versión parchada de mkisofs para esto. Esta opción es equivalente a la opción "-P" de cdwrite. Por favor vea la página manual de mkisofs para detalles.

mkisofs tratará de mapear todos los nombres de archivos con el formato 8.3 usado por DOS y se asegurará de la mayor compatibilidad posible. En caso de tener conflictos con nombres (diferentes archivos tienen el mismo nombre 8.3), números son usados en los nombres de archivo e información acerca del archivo escogido es mostrada via stderr (usualmente la pantalla).

NO SE ASUSTE:

Bajo Linux Vd nunca verá esos nombres de archivos de 8.3 porque Linux hace uso de las extensiones de Rock Ridge tales contienen la información original del archivo (permisos, nombre del archivo, etc.).

Ahora Vd puede sorprenderse, de porqué la salida de mkisofs no es directamente enviada al dispositivo grabador. Aqui tenemos dos razones:

Porque la sincronización del grabador de CD está en un punto crítico, nosotros no alimentamos a este directamente del mkisofs (recuerda Linux no es un sistema operativo de tiempo real y las tareas pueden ser desincronizadas). En lugar de esto se recomenda almacenar la salida de mkisofs en un archivo separado en el disco duro. Este archivo es entonces una imagen 1:1 del CD posterior y es actualmente escrito en el CD con la herramienta cdwrite en un segundo paso.

La imagen 1:1 es grabada en un archivo enorme por lo que Vd necesita el mismo espacio de disco libre que el software colectado necesite. Esta es una desventaja.

Uno podría pensar en crear un partición extra para esto y escribir la imagen en tal partición en lugar de un archivo. Yo voto en contra de tal estrategia porque si tu escribes en la particion equivocada (debida a un error de tecleo), Vd puede perder completo su sistema Linux. Además, este es un "cubo de basura" de espacio en disco porque la imagen del CD es información temporal que puede ser borrada después de grabar el CD.

3.5 Probando la Imagen del CD

Linux tiene la habilidad de montar archivos como si ellos fueran particiones de disco. Esta característica es util para verificar que la disposición del directorio en la imagen del CD sea la correcta. Para montar el archivo imagen_cd creado arriba en el directorio /cdrom, dar el comando

       mount -t iso9660 -o ro,loop=/dev/loop0 imagen_cd /cdrom

Ahora tu puedes inspeccionar los archivos bajo /cdrom- ellos aparecen exactamente como estan en un CD real. Para desmontar la imagen del CD, solamente da umount /cdrom. Advertencia: Si Vd no usó la opción "-K" para mkisofs entonces el último archivo en el /cdrom podría no ser totalmente leíble.

Nota:

algunas versiones ancestrales de mount no son capaces de tratar con los dispositivos loopback. Si Vd tiene semejante versión vieja de mount esta es una oportunidad para actualizar su sistema Linux.

Varias personas ya me han sugerido poner información acerca de como obtener las mas nuevas versiones de mount en este mini-COMO (mini-HOWTO). Yo siempre me reuso a eso. Si tu Distribución de Linux viene con un mount ancestral; repórtelo como un error (bug). Si su Distribución de Linux no es fácilmente actualizable: repórtelo como un error (bug).

Si ya incluyó toda la información que es necesaria para trabajar alrededor de los errores en las Distribuciones de Linux mal diseñadas, este mini-COMO (mini-HOWTO) podría ser un rollo enorme y duro de leer.

3.6 Notas sobre los discos CD grabables en blanco.

Una revista alemana de computadores "c't" tiene una lista de tips con respecto a los CD's en blanco en su revista de noviembre de 1996

3.7 Escribir la imagen del CD a un CD

No falta mucho por hacer. Antes de mostrarle el último comando, dejeme advertirle que los grabadores de CD deben ser alimentados constantemente con un flujo de datos porque ellos tienen solamente pequeños búferes de datos. Por lo tanto el proceso de escritura de la imagen de CD al CD debe no ser interrumpido o un CD corrompido será el resultado.

Para asegurarse de que que nada puede interrumpir este proceso, tire a todos los usuarios del sistema y desconecte el cable ethernet ... Lea el operador Bastardo del infierno para aprender acerca de la correcta actitud para hacer esto también. ;-)

Si Vd esta mentalmente preparado, engalanese con una capa negra, multipique el SCSI-id de su grabador de CD con la revisión SCSI e ilumine con muchas velas, diga dos versos del ASR-FAQ y finalmente teclee

       cdwrite  --device /dev/sgd  imagen_cd
       o
       cdrecord -v speed=2 dev=4,0 imagen_cd
  

dependiendo de cual software quiere usar. Por supuesto tiene que reemplazar el ejemplo de dispositivo con el dispositivo scsi al cual su grabador esta conectado.

Por favor note que el grabador no puede reposicionar este láser y no puede continuar con la marcha original sobre el CD cuando este es molestado. Por consiguiente algunas vibraciones fuertes o asi como un golpe destruyen completamente el CD que esta grabando.

3.8 Si alguna cosa va mal ...

4. Preguntas Frecuentemente Hechas (FAQ) y respuestas.

4.1 ¿Que tan sensitivo es el proceso de grabación?

Respuesta: esto depende de sus grabador. Los modernos deben tener un búfer de datos de 1 MB o semejante y puede vivir 1-2 segundos sin datos. Vea los manuales o pregunte a su fabricante si quiere conocer más detalles.

A pesar del tamaño de esos búfers de datos Vd debe garantízar una constante transferencia de 300kb/s o 600kb/s en un tiempo largo de ejecución.

Los procesos de disco intensivos como los de actualización de la base de datos de localización disminuyen al máximo el ratio del flujo seguramente corrompiendo el CD; Vd debe mejor verificar que tales procesos no se inicien via cron, at o anacron mientras esta quemando CD-Rs.

Por otro lado, gente reportó que ellos compilaban un núcleo (kernel) mientras quemaban un CD sin un rasguño. Por supuesto Vd necesita una máquina rápida para tales experimentos.

4.2 ¿Tiene la fragmentación un mal impacto en la transferencia?

La fragmentación es usualmente muy baja tanto que ese impacto no se nota.

Si está inseguro entonces observe los mensajes impresos mientras arranca, el porcentaje de fragmentación es reportado mientras se verifican los sistemas de archivos. Vd puede verificar este valor con el más peligroso comando

       bash> e2fsck -n  /dev/sda5        # "-n" es importante!
       [stuff deleted - ignore any errors]
       /dev/sda5: 73/12288 files (12.3% non-contiguous)

En este ejemplo la fragmentación mostrada parece ser muy alta - pero hay solamente 73 archivos muy pequeños en este sistema de archivos (usado como /tmp) por lo tanto el valor _no_ es alarmante.

4.3 ¿Es posible grabar una imagen de CD bajo un sistema de archivos UMSDOS ?

Si. El único sistema de archivos que no es confiable y los suficiente rápido para escribir CDs es el sistema de archivos de red NFS (network filesystem).

Yo estoy usando UMSDOS para mí compartiendo espacio en disco entre Linux y DOS/Win en un PC (486/66) dedicada a escribir CDs.

4.4 ¿Hay alguna forma de darle vuelta a las limitaciones del iso9660?

Si. Tu puedes colocar cualquier sistema de archivos que te guste en el CD. Pero otros sistemas operativos diferentes de Linux no podrán ser capaces de tratar con este CD.

Aquí les va al receta:

Si tu quieres hacer un entrada en /etc/fstab para un CD semejante, deshabilita la verificación de este, por ejemplo:

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

El primero 0 significa "no incluye vaciados de golpe (dumps)", el segundo (=importante) dice "no verificar errores mientras inicia" (fsck fallará en checar errores en el CD).

4.5 ¿Como leer y escribir CDs de audio?

Por favor obtenga los paquetes "cdda2wav" y "sox", disponibles desde sunsite y sus espejos:

< ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/cdda2wav0.71.src.tar.gz>

< ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/sox-11gamma-cb2.tar.gz

cdda2wav permite que Vd obtenga un intervalo específico ( o una pista entera) desde su CD de audio y lo convierta en un archivo .wav. sox convierte los archivos wav nuevamente al formato cdda (audio-CD) este también puede ser escrito al CD-R usando cdwrite.

4.6 ¿Como probar los dispositivos SCSI después del arranque?

El archivo drivers/scsi/scsi.c contiene la información

       /*
        * Empleo: echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
        * con "0 1 2 3" replazar por tu "Host Canal Id Lun".
        * Consideralo una caracteristica BETA.
        *     PRECAUCION: Esto no es para conectar en caliente tus perifericos.
        *     Como SCSI no fue diseñado para eso, eso puede dañar tu hardware.
        * Sin embargo en tal caso es legitimo prender un dispositivo que ya
        * este conectado. Esto sin embargo no garantiza que este dispositivo
        * no se corrompa al momento de la transferencia de datos.
        */

4.7 ¿Es posible realizar una copia 1:1 de un CD de datos?

Si. Pero Vd deberá ser cuidadoso del hecho que cualquier error mientras se lee el original (ocasionados por el polvo o rayaduras) resultarán en una copia defectuosa.

Primer caso: Vd tiene un grabador CD y separadamente una unidad CD-ROM. usando el comando

       cdwrite -v -D /dev/sgc --pad -b  $(isosize  /dev/scd0) /dev/scd0
       o
       cdrecord -v dev=3,0 speed=2 -isosize /dev/scd0

Vd lee el flujo de datos desde la unidad CD-ROM conectada como /dev/scd0 y escribe directamente por medio de /dev/sgc al CD-R.

Segundo caso: usted no tiene una unidad separada de CD-ROM. Tiene que usar el grabador para leer el CD-ROM en este caso:

       dd if=/dev/scd0 of=imagen_cd bs=1c count=`isosize  /dev/scd0`

Este comando es equivalente al resultado de mkisofs, tal como usted procedería como es descrito en el capítulo 3. Por favor note que este método fallará en CDs de audio!.

4.8 ¿Linux puede leer CDs Joliet?

Si. Pero Vd necesita un parche para el núcleo (kernel) y recompilarlo. Para detalles adicionales ver

< http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html>

4.9 ¿Como le hago para leer/montar CD-ROMs con el grabador de CD?

Tal como si Vd lo hiciera con dispositivos CD-ROM regulares. No hay trucos en absoluto. Note que Vd tiene que usar los dispositivos scd (SCSI CD-ROM) para montar CDs para lectura. Un entrada por ejemplo para el /etc/fstab:

       /dev/scd0  /cdrom  iso9660  ro,user,noauto  0  0

5. Problemáticas

5.1 No trabaja... bajo Linux

Por favor verifique primero si su grabador trabaja bajo otros sistemas operativos. Concretamente:

Si "no trabaja" de igual forma bajo otros sistemas operativos Vd tiene un conflicto de hardware o hardware defectuoso.

5.2 No trabaja: bajo DOS y amigos

Pruebe usando Linux. La instalación y configuración de los manejadores SCSI para dos es el infierno. Linux es también complicado? Ja!

5.3 Errores SCSI durante la fase de grabado

La mayoría de estos errores es causado por

Bajo varias circustancias los dispositivos scsi se desconectan y reconectan ellos mismos (electrónicamente) del bus scsi. Si esta característica no esta disponible (verificar el controlador y los paramétros del núcleo (kernel)) algunos grabadores tienen un error de ejecución quemando o fijando el CD-R.

Especialmente el manejador SCSI NCR 53c7,8xx tiene esa característica deshabilitada por defecto, por lo que Vd debe querer verificar lo primero:

       NCR53c7,8xx SCSI support                  [N/y/m/?] y
          always negotiate synchronous transfers [N/y/?] (NEW) n
          allow FAST-SCSI [10MHz]                [N/y/?] (NEW) y
          allow DISCONNECT                       [N/y/?] (NEW) y

6. Créditos

Andreas Erdmann < erdmann@zpr.uni-koeln.de>
Proporcionó un ejemplo con el grabador YAMAHA

Art Stone < stone@math.ubc.ca>
Tuvo la idea de colocar sistemas de archivos no-iso9660 en un CD

Bernhard Gubanka < beg@ipp-garching.mpg.de>
Advirtió la necesidad de una versión más reciente de mount para utilizar el dispositivo loopback.

Brian H. Toby
Pulió el rollo.

Bruce Perens < bruce@pixar.com>
Dió la información sobre las listas de correo de cdwrite.

Dale Scheetz < dwarf@polaris.net>
Ayudó a mejorar la sección acerca de la creación de la imagen del CD.

Edwin H. Kribbs
Reportó que "-K" requiere un parche para mkisofs.

Gerald C Snyder < gcsnyd@loop.com>
Probó escribiendo un CD-ROM ext2 (ver limitantes )

Ingo Fischenisch < ingo@mi-uni-koeln.de>
proporcionó un ejemplo con 2 controladoras que tenían 2 dispositivos.

Janne Himanka < shem@oyt.oulu.fi>
Señaló un parche al kernel para leer CDs Joliet

Joerg Schilling < schilling@fokus.gmd.de>
Información sobre cdrecord

Jos van Geffen < jos@tnj.phys.tue.nl>
Notó el problema en leermontar .

Markus Dickebohm < m.dickebohm@uni-koeln.de>

Pierre Pfister < pp@uplift.fr>
Ayudó a desarrollar la receta en 1:1 copias.

Rick Cochran < rick@msc.cornell.edu>
Probó acerca de des-/reconectar deshabilitado por defecto en el manejador ncr.

Stephan Noy < stnoy@mi.uni-koeln.de>
Información y experiencia acerca de la escritura de CDs de audio

Stephen Harris < sweh@mpn.com>
Contribuyó acerca de la escritura de CDs de audio

The Sheepy One < kero@escape.com>
Sugerió usar los CDs defectuosos como portavasos para las bebidas.

Volker Kuhlmann < kuhlmav@elec.canterbury.ac.nz>
Reportó que el paquete "cdwrite" no contiene el mkisofs
Fin de Linux Escribiendo-CD mini-COMO

7. Nota del Traductor.

Mi nombre es Salvador Fernández Barquín, formo parte del proyecto LuCAS/INSFLUG y GULMT (Grupo de Usuarios de Linux de México en Toluca). Este documento es mi aportación para que cada linux se convierta en el estándar para la grabación de CDs, que desde luego contengan Software Libre y los respaldos que se necesitan para una buena administración de un sistema.

A la vez para que el proyecto Linux y Documentación de Linux en Castellano sea cada vez más grande, y además conocido entre nosotros los que hablamos la lengua de Cervantes, y ahora que la integración de Servidores Intranet en las Universidades, Tecnológicos, Empresas y Corporaciones es una realidad palpable, Linux es una solución real y tangible.

Particularmente espero que este documento sea de ayuda para crear masters de nuestro sistema operativo, sus aplicaciones de software libre y respaldos para que más y más gente lo conozca y se beneficie de sus características.

Hay mucho por traducir, y también hay muchos documentos traducidos, visite http://lucas.hispalinux.es o http://www.insflug.org o los múltiples servidores réplica para conocer más sobre este proyecto u obtener otros documentos en castellano.

También tenemos el Proyecto de crear un directorio interactivo de búsquedas de FAQ en Castellano (Preguntas y Respuestas Frecuentes) como parte de los proyectos que el GULMT realiza para promover Linux en Toluca. Lo invitamos a formar parte en: http://www.internetica.net.mx/linux/ o http://faq.internetica.net.mx/.

No esta de más decir que he intentado ajustarme lo mayor posible al original de Winfried Trümper y he revisado la traducción un par de veces. No obstante aún puede quedar algo por pulir o se me ha podido colar alguna errata, de cuya responsabilidad me hago cargo, pero jamás del buen o mal uso que pueda derivar la lectura de este documento.

Para cualquier comentario, errata o consulta sobre la traducción, mándeme un correo electrónico a: salvador@netspace.com.mx

Un saludo,

Salvador Fernández Barquín.

8. Anexo: Grupos LiNUXeros en España.

Francisco José Montilla, pacopepe@iname.com, FidoNet 2:345/402.22 es coordinador del INSFLUG: (Impatient & Novatous Spanish Fidonet LiNUX Users Group) uno de los varios grupos de usuarios existentes en España, y más concretamente en la mejor ;-) área de FidoNet: R34.LINUX junto con LuCas (LinUx en CAStellano).

El INSFLUG se orienta preferentemente a la traducción de documentos breves, como los COMOs y PUFs

Preguntas de Uso Frecuente, las FAQs. :)
, etc.

LuCas Coordina y realiza las traducciones de las guides, es decir, documentos más extensos.

Por supuesto, la orientación de cada grupo no tiene carácter excluyente; si quiere colaborar en las dos, ¡mejor! ;-).

Otra fuente de información obligada para el recién incorporado son las PUF elaboradas a partir del correo circulante por R34.LINUX por Pablo Gómez, pgomez@arrakis.es, 2:341/43.40, disponibles próximamente en los formatos habituales de documentación (.ps, .dvi, .html, .sgml, etc) en los servidores de Internet especificados más adelante, así como en el mismo área.

¡Necesitamos su colaboración para futuras traducciones! si quiere unirse a nosotros póngase en contacto con:

INSFLUG: (Traducción y autoría de COMOs)

Francisco José Montilla, pacopepe@iname.com, FidoNet 2:345/402.22

LuCas: (Traducción y autoría de guías)

  1. Juan José Amor, jjamor@ls.fi.upm.es, FidoNet 2:341/12.19
  2. Alfonso Belloso, alfon@bipv02.bi.ehu.es, FidoNet 2:344/17.2

Por último, recordar que un inmejorable lugar para estar informado, así como consultar y discutir todo lo relacionado con LiNUX lo tiene en FidoNet, en R34.LINUX.

Actualmente, ambos grupos poseen las siguientes listas de correo:

Ambas son listas tipo majordomo; para suscribirse:

envíe un email a majordomo@nova.es, con "subscribe insflug" en el cuerpo del mensaje.

En el caso de LuCAS sería a majordomo@infor.es, con "subscribe lucas" en el cuerpo del mensaje.

Dispone de todos los ``COMOs'' traducidos hasta ahora, así como información puntual sobre el INSFLUG y temas relacionados en:

http://www.insflug.org en sus versiones html

Actualización lenta
, y listas para bajar, en

ftp://ftp.insflug.org

Este es el lugar actualizado con más frecuencia; en Sunsite y sus mirrors está replicado en el directorio ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/es De todos modos, probablemente con su distribución de Linux vengan incluidos.

Otro buen punto de búsqueda, consulta, y obtención de la documentación traducida, en formato HTML, con links a los demás formatos, así como las traducciones de las guías traducidas por LuCAS es:

http://lucas.hispalinux.es

junto con su ftp:

ftp://lucas.hispalinux.es

Tanto el INSFLUG, como LuCAS, y todos los traductores implicados, esperamos que esta traducción le haya sido de utilidad.