Cómo grabar CD desde una terminal en Slackware


En Slackware ( haciendo uso del kernel 2.4 y mayores ) una quemadora de CD conectada mediante cable IDE será reconocida como una IDE/ATAPI CD-Writer, así que los sistemas Linux crean la siguiente nomenclatura:

hda IDE bus/connector 0 master device
hdb IDE bus/connector 0 slave device
hdc IDE bus/connector 1 master device
hdd IDE bus/connector 1 slave device

Como primer paso debemos sabes en qué nomeclatura está nuestra quemadora, abrimos Konsole ( ventana de terminal ) y ejecutamos $ dmesg | grep '^hd.:' para identificarla.

Obtenemos lo siguiente :

hda: Maxtor 6E040L0, ATA DISK drive
hdb: ST340810A, ATA DISK drive
hdc: SAMSUNG CDRW/DVD SM-316B, ATAPI CD/DVD-ROM drive

El mío es el hdc, osea, es el maestro secundario.

Si queremos usar unquemador IDE/ATAPI en Linuz tenemos que emular la función SCSI, así que entonces tendremos que saber si la versión del kernel que tenemos instalado tiene soporte para esta emulación, ¿Cómo lo sabemos? abrimos Konsole ( ventana de terminal ) y ejecutamos:

$ locate ide-scsi.o
/lib/modules/2.4.26/kernel/drivers/scsi/ide-scsi.o.gz

Ahora tendremos que editar algunos archivos de configuración para que el kernel arranque con soporte para emulación SCSI. Esto lo haremos asignando parametros al loader que usemos, en mi caso es LILO y para configurarlo debemos editar el archivo lilo.conf ubicado en etc/lilo

Veremos algo así :

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section

Después de esa línea ( la de start lilo blablabla ) agregamos lo siguiente :

append="hdc=ide-scsi"

Guardamos las modificaciones y ejecutanos LILO, para esto abrimos una ventana de terminal y ejecutamos:

# /sbin/lilo -v -v

Reiniciamos nuestra PC y una vez que estemos nuevamente en Linux ejecutamos :

$ lsmod | grep ide-scsi

Debemos ver algo como :

ide-scsi 9328 0

Lo que nos indica que ya tenemos el módulo ide-scsi cargado.

De aquí en adelante usaré el texto proporcionado por Jorge Armando Medina ( http://www.tuxjm.net/docs/grabando-cds-en-slack.txt ) para explicar el uso de laherramienta CDRecord, el texto no tiene correcciones de ortografía ni de estilo.

Ahora usaremos la herramienta cdrecord (mas info man cdrecord)

Como root ejecuta lo siguiente:

# cdrecord --scanbus
Cdrecord 2.00.3 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schilling
Linux sg driver version: 3.1.25
Using libscg version 'schily-0.7'
scsibus0:
0,0,0 0) 'SAMSUNG ' 'CDRW/DVD SM-316B' 'T306' 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) *

Bien hasta aqui todo esta listo para quemar, anteriormente, antes de usar la emulacion scsi, nosotros usabamos el dispositivo /dev/hdc para accesar al cd, y existia un link simbolico a ese dispositivo asi: /dev/cdrom puedes verlo ejecutando esto:

$ ls -l /dev/cdrom
lrwxrwxrwx 1 root root 8 2004-06-29 17:51 /dev/cdrom -> /dev/hdc

y ahora con la emulaciono scsi, estara asi:

$ ls -l /dev/cdrom
lrwxrwxrwx 1 root root 8 2004-09-15 13:59 /dev/cdrom -> /dev/sr0

y ahora veremos los permisos de /dev/sr0

$ ls -l /dev/sr0
brw-rw---- 1 root cdrom 11, 0 1999-04-12 21:24 /dev/sr0

Como podemos ver, solo el usuario root y los miembros del grupo cdrom tienen permiso de lectura y escritura a ese
dispositivo. Pero como normalmente en linux se trabaja como usuario normal tendremos que hacer unos arreglos para poder tener acceso al dispositovo /dev/sr0 y a los programas para quemar, que basicamente son /usr/bin/cdrdao y /usr/bin/cdrecord.

Nosotros haremos lo siguiente:

Agregaremos un grupo llamado "burning"

# groupadd burning

agregamos nuestro usuario normal al grupo "burning"

# gpasswd -a jmedina burning

Cambiaremos los permisos para el dispositivo /dev/sr0

# chmod 660 /dev/sr0
# chown root:burning /dev/sr0

tambien cambiaremos los permisos de los programas:
/usr/bin/cdrdao
/usr/bin/cdrecord

# chown root:burning /usr/bin/cdrdao
# chown root:burning /usr/bin/cdrecord

# chmod 4710 /usr/bin/cdrdao
# chmod 4710 /usr/bin/cdrecord

Y los comprobamos asi:
# ls -l /dev/sr0
brw-rw---- 1 root burning 11, 0 1999-04-12 21:24 /dev/sr0

Y

# ls -l /usr/bin/cdrdao
-rws--x--- 1 root burning 563540 2004-06-08 12:57 /usr/bin/cdrdao*
# ls -l /usr/bin/cdrecord
-rws--x--- 1 root burning 279324 2003-08-17 17:38 /usr/bin/cdrecord*

Con estos cambios un usuario normal ya podra quemar, lo comprobamos corriendo nuevamente el comando cdrecord --scanbus pero ahora como usuario normal, asi:

$ cdrecord --scanbus
Cdrecord 2.00.3 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schilling
Linux sg driver version: 3.1.25
Using libscg version 'schily-0.7'
scsibus0:
0,0,0 0) 'SAMSUNG ' 'CDRW/DVD SM-316B' 'T306' 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) *

Anteriormente si lo corriamos como usuario normal nos daria un error de que no tenemos permisos.

Ahora les mostrare el uso basico del comando cdrecord.

Haremos una imagen iso (archivos .iso) de un directorio cualquiera para probar:

$ mkisofs -r -o prueba.iso /home/jmedina/My-Pics

Ahora tenemos un archivo prueba.iso y crearemos un CD apartir de este archivo, asi:

$ cdrecord speed=16 dev=0,0,0 -data -dao -pad -eject -v /home/jmedina/prueba.iso

Listo ahora ya tenemos nuestro primer CD en linux el cual lo creamos desde una imagen iso que tambien nosotros creamos.

Ahora prueba montando el CD, claro solo lo podras hacer como root, asi:

# mount -t iso9660 /dev/cdrom /mnt/cdrom/
mount: block device /dev/cdrom is write-protected, mounting read-only

Y si quieres montarlo como un usuario normal, tendras que hacer unos arreglos al archivo de tablas del sistema de archivos, /etc/fstab, asi:

Cambiar:

/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0

Por:

/dev/cdrom /mnt/cdrom iso9660 user,noauto,owner,ro 0 0

Con esto, ya podras montarlo como usuario normal.


0 comentarios :