Foro de Linux - Gustavo Guillermo Software Compunauta Micro Linux (uLinux)
BUZÓN de CONSULTAS y COMENTARIOS | TEMARIO PRINCIPAL

[Gnupérnico II - MetaBuscador]


COMO GRABAR CDs EN LINUX CON UNA GRABADORA SCSI

VAMOS A VER COMO GRABAR CDs EN LINUX CON UNA GRABADORA SCSI


Generalidades

Para grabar un CD en LINUX, supondré por el momento, luego lo ampliaré, que ya sabemos hacerlo en windos y que tenemos idea de lo que es una imagen iso9660 y además que ya tenemos soporte en nuestro kernel para la grabadora SCSI. Si alguien no sabe como configurar el KERNEL no se alrmen, será tema futuro aquí. Las grabadoras IDE NO SON SCSI y por lo tanto tendremos que hacer 'algo extraño para hacerla funcionar' (también es un tema futuro de este foro). Si tienen alguna consulta me pueden escribir con el formulario de sugerencias y seguro que los atenderé.

GENERANDO LA IMÁGEN ISO 9660

Los archivos se almacenan en un CD utilizando el sistema de ficheros ISO9660. Para poder grabar un CD con datos, es necesario generar una imagen IS09660 que contenga los archivos y la estructura del sistema de ficheros. Para generar dicha imagen se utiliza el program mkisofs. La última versión disponible de este programa es la 1.12b4. El programa posee dos modos de uso:
Uno de ellos es en el que se indican los directorios que
queremos almacenar en la imagen ISO. Así, por ejemplo, el siguiente comando, crearía una imagen en el directorio actual llamada imagen.iso con el contenido del directorio /usr :

mkisofs -o imagen.iso /usr/

Este modo de uso permite incluir varios directorios, que se irán añadiendo al directorio raíz de la imagen. Así, el comando

mkisofs -o imagen.iso /usr /opt/kde

creará una imagen cuyo directorio raíz contendrá todos los archivos y subdirectorios de los directorios /usry /opt/kde. El otro modo de uso permite una mayor flexibilidad. Imaginemos que queremos realizar una copia de seguridad de los datos de nuestro disco duro. Los datos que queremos guardar son los ficheros de configuración de /etc, el código fuente de los programas en los que estamos trabajando, que están en /usr/src, y el correo electrónico del usuario joshua, en /home/joshua/mail. Si usáramos el método anterior, haríamos:

mkisofs -o imagen.iso letc /usr/src
/home/joshua/mail

y obtendríamos una imagen un tanto desordenada, con todos los ficheros de configuración y carpetas de correo electrónico en el directorio raíz. Una primera alternativa sería mover estos directorios a un temporal y crear la imágen ISO partiendo de este temporal:

mv letc /tmplimagen/conf
mv /usr/src /tmplimagen/fuentes
mv /home/joshua/mail /tmplimagen/mail
mkisofs -o imagen.iso /tmplimagen

Con esto conseguiríamos tener organizada nuestra imagen en tres subdirectorios. Pero como mover todos los archivos puede resultar un tanto incómodo (e incluso peligroso si luego no se restauran bien) y copiarlos es una pérdida de espacio, el mkisofs incorpora otro modo de introducir archivos/directorio, siguiendo la sintaxis destino=origen. De esta manera, la imagen anterior se haría:

mkisofs -o imagen.iso conf=leti fuentes=/usr/src
mail=/home/joshua/mail

Hay que advertir de la diferencia entre
usr/kernel/=/boot/vmlinuz
src/kernel=/boot/vmlinuz

La primera expresión (acabada en /) incluye el fichero /boot/vmlinuz en el directorio usr/kernel con el nombre vmlinuz, y la segunda incluye ese mismo fichero dentro del directorio src con el nombre kernel.
Una vez creada la imágen ISO9660, podemos montarla para comprobar si es correcta. El estándar 1509660 posee una serie de limitaciones, como son el tamaño de los nombres de ficheros (32 caracteres), el no permitir que un fichero comienze por. , el límite de 8 subdirectorios, etc. Para solucionar esto, existen varias extensiones, de las cuales las más populares son las Rock Ridge (en entonaos UNIX) y las Joliet (en entornos Win). Las extensiones Rock Ridge, aparte de solucionar las limitaciones citadas, almacenan la información sobre permisos y dueños de los archivos, así como los links y ficheros especiales. Las extensiones Joliet no permiten links ni ficheros especiales, pero son las únicas soportadas por Windows. Es posible combinar ambas extensiones, de tal modo que bajo Linux se utilizará la información Rock Ridge y Joliet; y bajo Windows sólamente la Joliet.
El listado al final en una tabla muestra un resumen de las opciones del mkisofs.
Una vez creada la imagen, podemos montarla para comprobar si es correcta antes de grabarla en el CD. Esto es posible gracias al dispositivo de loopback de Linux, por lo que tendremos que asegurarnos de que el kernel esta compilado con la opción loopback device support. El comando a ejecutar es:

mount -o loop -t iso9660 imagen.iso /mnt/loop0

GRABAR LA IMÁGEN

Para grabar una imagen previamente generada, utilizaremos el cdrecord. Lo primero será ejecutar cdrecord -scanbus para localizar el número de identificación de la grabadora dentro del bus SCSI. Esta información es necesaria para la opción dev=bus,id,tun del cdrecord. También es importante establecer el buffer fifo correctamente. Este buffer va almacenando en memoria la imagen antes de enviarla a la grabadora. Así, si no se puede leer del disco donde está almacenada la imagen durante unos segundos, este buffer evitará que la grabadora se quede sin información y estropee la grabación. Es recomendable utilizar un mínimo de 6 megas para el buffer, y un máximo de 32:
La manera de indicar el tamaño del buffer es mediante la opción fs=XXm.
Un ejemplo de grabación de imagen ISO:

cdrecord -v dev=1,0 speed=4 fs=16m -data /tmplimagen.iso

Otra opción para grabar más rápidamente los CDS es generar la imagen ISO a la vez que se va grabando. Simplemente hay que redirigir la salida del mkisofs a la entrada del cdrecord:

mkisofs -k /tmp/Eurielec-2.2/ | cdrecord -v fs=6m speed=4 dev=1,0 -

Es recomendable realizar una prueba antes de grabar utilizando este método, porque con un equipo antiguo o un disco rígido lento. Añadiendo la opción -dummy, el proceso de grabación se realizará con el láser apagado.

Listado de las opciones del MKISOFS
PARAMETRO FUNCIONAMIENTO
a Incluye todos los ficheros (por defecto ignora los acabados en ~ y que comienzan por #
A ID Establece ID como identificativo de aplicación
b FILE Indica el fichero de arranque para El Torito
c FIL Indica el fichero de catálogo para El Torito
PARAMS Parámetros para el cdwrite
d No añade un punto al final de los archivos que no lo tengan
D Almacena los subdirectorios tal cual (ignorando el limite de 8)
f Sigue links simbólicos
help Muestra la ayuda
J Genera extensiones Joliet
I Permite nombres de 32 caracteres (no se verán en MS.DDS)
L Permite que los ficheros comiencen por un punto
m FILE Excluye el fichero FILE
M FILE Utiliza FILE como sesión previa.
N omite el número de versión del nombre iso8660
o FILE Genera la imagen como FILE
p PREP Establece PREP como preparador del CD
print-size Muestra el tamaño estimado para la imagen y termina
P PUB Establece PUB como editor
quiet Ejecuta en modo silencioso
r Genera extensiones Rock Ridge racionalizadas (uid=0 y permisos globales de lectura)
R Genera extensiones Rock Ridge
split-output Parte el fichero imagen en ficheros de lGB
T Genera ficheros TRANS.TBL en todos los directorios con la traducción entre nombre corto y nombre completo
v Muestra información extra de la ejecución
V ID Establece ID como etiqueta de volumen
Las siguientes opciones sólo están disponibles en una versión parcheada del mkisofs incluida con el cdrecord-1.8
abstract FILE Establece FILE como fichero abstracto del CD
biblio BIB Establece BIB como información bibliográfica del CD
C last,next Indica el primer sector de la última sesión y el primero de la siguiente para crear CDS multisesión
copyright FILE Establece FILE como fichero de copyright del CD
hide glob Esconde los ficheros que coincidan con glob en los CDS Rock Ridge
hide-joliet glob Esconde los ficheros que coincidan con glob en los CDS Joliet
log-file FILE Redirige los errores y la información al fichero FILE
M device Utiliza el CD especificado por device como sesión previa
sysid ID Establece ID como indicador del sistema del CD
volset-size n Establece n como número de CDS del que está compuesto el conjunto
volset-seqno n Establece n como el número del CD actual ( p-e- 2/6 )

|Contrate Nuestra asesoría, instalación y cursos en Sistemas Linux, Redes, etc. Acerca de este sitio web Webmaster | Volver Al Inicio | Compunauta Micro Linux (uLinux) El servidor en CD, sin innstalación. |