cdrw+cdrecord+dd+mkisofs


Autor: Augusto Sotelo L.



Aquí trato de exponer lo que yo hice para configurar mi grabador Asus cdrw-2410A en slackware 8.0 con el kernel-2.4.19. Y también doy una breve reseña del uso de cdrecord, mkisofs y dd. Espero esto les sirva de ayuda con la configuración y utilización de sus CDRW.

Lo primero que hice fue lo siguiente:

  # cd /usr/src/linux

#make menuconfig ( o make xconfig si te es más cómodo)

y la sección " ATA/IDE/MFM/RLL support --->" debe estar de la siguiente manera:

ATA/IDE/MFM/RLL support                                                              <y>

Luego dentro de la subsección " IDE, ATA and ATAPI Block devices ---> " dejas las cosas así:
 
Enhanced /IDE/MFM/RLL disk/cdrom/tape/floppy support             <y>

Include IDE/ATAPI CDROM support                                               <m>

SCSI emuation support                                                                     <m>

luego dentro de " SCSI support ---> " dejas así:

SCSI support                                                                                      <m>

SCSI CDROM support                                                                      <m>

SCSI generic support                                                                         <m>

y con esas opciones nuestro kernel se encontrará en las condiciones adecuadas para ser compilado.

NOTA: Recuerda que siempre es aconsejable hacer un respaldo de tu actual vmlinuz . Si no tienes idea de como hacer esto mira el "howtito" de Configuración ac97 onboard en la sección Documentación --> Periféricos en donde se explica brevemente como hacer un respaldo de tu vmlinuz. i tienes dudas sobre como compilar el kernel lee el documento escrito por Jote sobre el kernel o el kernel-howto en www.insflug.org .

Ahora debemos saber en cual dispositivo esta nuestro CDRW. Lo siguiente nos muestra como linux nombras a los dispositivos IDE:

/dev/hdaX Canal IDE primario, dispositivo maestro

/dev/hdbX Canal IDE primario, dispositivo esclavo

/dev/hdcX Canal IDE secundario, dispositivo maestro

/dev/hddX Canal IDE secundario, dispositivo esclavo

Mi CDRW esta en el dispositivo secundario maestro, lo que significa que esta en "/dev/hdc". Con estos datos ahora debemos modificar el archivo "/etc/ lilo.conf " para que nos reconozca nuestro CDRW como un dispositvo SCSI, lo que se logra agregando la linea que en mi caso seria:

append="hdc=ide-scsi"

guardas y posteriormente tecleas desde el prompt como root "lilo", lo que se debería ver mas o menos así:

Slacker@Jaho:~# lilo

lo que genera una salida como esta:

Added DOS

Added Slackware *

Added SlackyBKP

Con todo lo anterior la próxima vez que arranque tu linux el kernel tratará al CDRW como un dispositivo SCSI, el que pasa a ser /dev/scd0 ( en caso de que no tengas ningún otro dispositivo SCSI en tu sistema). Ahora mi CDRW ya no se encuentra en "/dev/hdc" por lo que hay que decirle al sistema su nueva localización, osea "/dev/scd0", lo que se indica editando el archivo "/etc/fstab" y agregando la siguiente linea:

/dev/scd0 /cdrw iso9660 defaults,ro,user,noauto 0 0

Luego de haber hecho esto paso a paso y después de haber reiniciado el sistema sin ningun problema levanta el modulo ide-scsi con el siguiente comando:

  Slacker@Jaho:~# modprobe ide-scsi

Con esto ya podemos usar nuestro grabador, el que montamos tecleando el comando "mount /cdrw" lo que dejará el dispositivo "/dev/scd0" montado en el directorio "/cdrw".

También es acosenjable agregar el comando "modprobe ide-scsi" en uno de los script's de inicio del sistema, yo edite el archivo "/etc/rc.d/rc.local" agregando esto:

##CDRW

modprobe ide-scsi

O también lo puedes agregar como parametro de inicio del kernel editando el archivo /etc/lilo.conf y agregando la línea append ="ide-scsi" en el lugar de boteo de la imagen, lo que debe quedar algo parecido a esto:

# Slackware
 
image = /vmlinuz
  root = /dev/hda2
  append="hdd=ide-scsi"
  label = Slackware
  read-only

NOTA: Los siguientes comandos deben ser ejecutados como ROOT, o sino deberás darle los permisos correspondiente a los binarios para que los demás usuarios del sistema puedan utilizarlos.

Con esto ya podremos proceder a verificar si nuestro CDRW es detectado con el siguiente comando:

  Slacker@Jaho# cdrecord -scanbus

EL cual nos debería generar una salida mas o menos así :

Cdrecord 1.11a23 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schilling

Linux sg driver version: 3.1.24

Using libscg version 'schily-0.6'

   scsibus0:

            0,0,0           0) 'ASUS ' 'CRW-2410A ' '1.0 ' Removable CD-ROM

            0,1,0           1) *

            0,2,0           2) *

            0,3,0           3) *

            0,4,0           4) *

            0,5,0           5) *

            0,6,0           6) *

            0,7,0           7) *

Si no os encuentra nuestro cdrw deberás releer este docillo y ver que hiciste mal :D .

NOTA: Para realizar los pasos deberás tener instalado cdrecord y otras utilidades para poder crear imagenes, etc., osea que deberás bajarte las cdrtools e instalarlas.

Con esto ya tenemos nuestro cdrw listo para comenzar a utilizarlo.

A continuación explicaré brevemente como crear imágenes con mkisofs o dd, como pasarlas a un cd y como borrar un CDRW.

Para crear una imágen con mkisofs del directorio /home/InCuBuS/Respaldos el comando a teclear sería mas o menos así:

Slacker@Jaho:~# mkisofs -J -o /imagenes/Respaldos.raw /home/InCuBuS/Respaldos

La opción "-J" la utilizamos para que la imagen creada usara las extensiones Joliet de Microsoft, lo que nos permite usar nombres largos, de esta forma los Cds se leen sin problemas tanto en Linux como en Windows.

Ahora, si queremos utilizar dd para el mismo directorio el comando a utlizar sería así:

Slacker@Jaho:~# dd if=/home/InCuBuS/Respaldos of=/imagenes/Respaldos.raw

Ahora que ya sabemos crear imágenes con mkisofs y dd podemos pasarlas a un Cd cosa que explicaré a continuación .

Como te habrás dado cuenta nuestro CDRW se encuentra en el numero 0, entonces necesitamos pasarle a cdrecord este parámetro: dev=0,0,0 . También indicamos la velocidad que deceamos utilizar para nuestra grabación, en mi caso 24, entonces le paso speed=24. Y también le indico la opción "-v" para que al momento de la grabación nos dé una mayor información sobre lo que se está realizando.
Ya con estos datos claros procederemos a grabar en un CD la imagen que se encuentra en la ubicación /imgenes/slackware8.raw con lo que teclearemos un comando mas o menos así :

Slacker@Jaho:~# cdrecord -v speed=24 dev=0,0,0 /imagenes/slackware8.raw

También si queremos se puede grabar un CD al vuelo, lo que se hace indicandole a cdrecord donde se encuentra el dispositivo que contiene el CD, no es necesario montarlo, y debemo incluir una nueva opción ( -isosize ) . Por ejemplo si la unidad de Cdrom se encuentra en /dev/hdc el comando a utilizar sería así:

Slacker@Jaho:~# cdrecord -v speed=24 dev=0,0,0 -isosize /dev/hdc

Ahora si lo que queremos es borrar el contenido de un CDRW para que podamos utilizarlo mas adelante se usa la opción " blank", entonces nuestro comando a teclear sería el siguiente:

Slacker@Jaho:~# cdrecord -v speed=24 dev=0,0,0 blank=fast

Con todo lo anteriormente escrito bien realizado ya podemos comenzar a utilizar nuestro CDWR en linux. Si tienes alguna duda o aporte que hacer para que este howtito sea más explicativo porfavor hazmelo saber. Mi intención no es explicar la compilación del kernel o la utilizacion de los comandos modprobe, lilo, mkisofs, dd en su totalidad o algún otro que haya usado aquí, si tienes alguna duda respecto al uso de alguno usa los comandos man, info, apropos, less FAQ, busca en /usr/src/linux/Documentation/ , CD-Writing Howto, etc.