Grabando Cds en Slackware desde la linea de comandos. En este documento explicare como usar tu grabadora de cds en linux, aunque este documento este hecho para Slackware deberia de funcionar en cualquier otra distro. Empecemos con algo de info antes de lanzarnos al ruedo. En linux en especial con kernels 2.4.x, si tenemos una quemadora que se conecta al cable IDE, se dice que que es un IDE/ATAPI CD-Writer, bien como es IDE, el sistema los reconoce como se muestra en la siguiente tabla: Nombre Dispositivo 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 Ahora que sabemos la nomenclatura de los dispositivos IDE en linux tendremos que saber en cual esta la nuestra, asumiremos que tu quemadora ya esta conectada a algun cable IDE, ejecutemos el siguiente comando para identificarlo: $ dmesg | grep '^hd.:' hda: Maxtor 6E040L0, ATA DISK drive hdb: ST340810A, ATA DISK drive hdc: SAMSUNG CDRW/DVD SM-316B, ATAPI CD/DVD-ROM drive El mio es el hdc, osea, es el maestro secundario. En linux para usar los quemadores IDE/ATAPI se tendra que usar la "emulacion scsi", entonces tendremos que saber si nuestro kernel tiene soporte para emulacion scsi, esto lo podremos saber ejecutando el siguiente comando: $ locate ide-scsi.o /lib/modules/2.4.26/kernel/drivers/scsi/ide-scsi.o.gz Como podemos ver en esa ruta esta el modulo del kernel para la emulacion scsi. NOTA: La mayoria de las distribuciones ya traen este modulo. Ahora tendremos que editar algunos archivos de configuracion para que el kernel arranque con soporte para emulacion scsi (ide-scsi). Esto lo haremos pasandole parametros al loader que usemos, en nuestro caso es LILO, tendras que editar el archivo de configuracion de LILO que es /etc/lilo.conf y agregar una linea como esta: # LILO configuration file # generated by 'liloconfig' # # Start LILO global section append="hdc=ide-scsi" <<----- Esa es la que hace la magia. Despues que has editado el archivo de configuracion, tendras que ejecutar lilo para que guarde los cambios, asi: # /sbin/lilo -v -v Ahora es tiempo de reiniciar para comprobar los cambios. Prueba ejecutando esto: $ lsmod | grep ide-scsi ide-scsi 9328 0 Ahi dice que ya tiene el modulo ide-scsi cargado. 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: