Grabadoras de CD - Como
Leandro Terr�s,
[email protected]
v1.6.1, 21 de Noviembre de 1999
Introducci�n al uso de Grabadoras de CD-R, CD-RW y DVD bajo Linux, as�
como descripci�n del uso de los programas necesarios. Este documento
se diferencia del Creaci�n-CDRoms-Como por su enfoque, m�s centrado en
el uso de distintos tipos de grabadoras, y las �ltimas novedades soft�
ware. Es conveniente que tambi�n lea el Creacion-CDRoms-Como, enfocado
m�s en la plataforma SCSI, que profundiza m�s en los aspectos t�cnicos
de la tecnolog�a CD-R y en sus posibilidades.
______________________________________________________________________
�ndice General:
1. Introducci�n
1.1. Aportaciones
2. Grabadoras soportadas
3. Configuraci�n del Kernel
3.1. Configurar el Kernel para grabadoras SCSI
3.1.1. Activaci�n y desactivaci�n de dispositivos SCSI al vuelo
3.2. Configurar el Kernel para grabadoras IDE
3.3. Configurar el Kernel para grabadoras IDE-ATAPI por puerto
paralelo
3.4. Otras opciones del kernel recomendables
4. Nomenclatura de dispositivos SCSI
4.1. Dispositivos gen�ricos
4.2. Dispositivos de bloque
4.3. Notaci�n est�ndar
5. Sistemas de ficheros
5.1. Joliet y Romeo
5.2. Rock Ridge (High Sierra)
5.3. HFS (Hierarchical Filesystem)
5.4. UDF (Universal Disk Format)
5.5. EXT2 (Extended Filesystem II)
5.6. El Torito
6. Programas necesarios para grabar
6.1. Programas para creaci�n de las im�genes
6.1.1. mkisofs
6.1.2. mkhfs
6.1.3. mkhybrid
6.1.4. mke2fs
6.2. Software de extracci�n de audio
6.2.1. readcdda
6.2.2. cdda2wav
6.3. Software de grabaci�n
6.3.1. cdrecord
6.3.1.1. Par�metros configurables permanentemente de cdrecord
6.3.1.2. Grabacion sin imagen
6.3.2. cdwrite
6.3.3. cdrdao
6.4. Entornos Integrados
6.4.1. X-CD-Roast
6.4.2. Burn-It
6.4.3. CDR
6.5. Otros programas y utilidades
7. Software DAO y generadores de subc�digos.
7.1. cdrecord 1.8
7.2. CD Builder
7.3. cdrdao
7.3.1. Copia al vuelo de CD-ROMs.
7.3.2. Extracci�n y grabaci�n de im�genes DAO con cdrdao.
7.3.3. Scripts que acompa�an a cdrdao.
7.3.4. Duplicado de CD-ROMs de PlayStation con CDRDAO.
7.3.5. A tener en cuenta
8. Preguntas de Uso Frecuente
8.1. Cuando grabo con cdrdao , muestra una capacidad de casi 750
megas para un CD 74 minutos. �Esto a que se debe?
8.2. Me sale un mensaje muy parecido al siguiente despu�s de que el
disco duro deje de funcionar durante unos segundos.
8.3. �Hay alguna forma de hacer una imagen exacta de un CD al disco
duro que no sea copiar los ficheros del CD al disco y luego sacar la
imagen?
8.4. �Se puede copiar de CD a CD (s�lo de datos) directamente sin
ning�n problema?
8.5. �Puedo duplicar directamente un CD mixto o de audio?
8.6. �Puedo duplicar CDs en formato xa2? (Por ejemplo, de
PlayStation)
8.7. �Hay alguna FAQ gen�rica sobre CD-R o CD-RW?
8.8. He grabado un CD de Audio, pero al escucharlo s�lo se oye un
zumbido horripilante...
8.9. Problemas con m�s de un dispositivo en controladoras SCSI NCR
8.10. �Como se crea un CD Mixto?
8.11. �Como se graba un CD multisesi�n?
8.12. �Como se crea un CD Plus?
8.13. �Se puede usar la grabadora para leer o extraer?
8.14. Tengo una grabadora HP-7500, y cdrecord me hace cosas
raras...
8.15. CDRDAO no detecta bien mi unidad
8.16. Sugerencias y peticiones
9. Cr�ditos
10. Anexo: El INSFLUG
______________________________________________________________________
1. Introducci�n
Este documento pretende guiar al usuario, de forma que sepan qu�
tienen que hacer y c�mo solucionar los posibles problemas que puedan
plantearse a lo largo del camino de la grabaci�n de CDRoms.
Se da una peque�a explicaci�n sobre los sistemas de ficheros para los
CDs (todo a su tiempo) y de c�mo se usan los programas m�s utilizados
para grabar en Linux. Por supuesto, y en �ltimo lugar, la omnipresente
PUF (Preguntas de Uso Frecuente) por si se escapa algo.
Recomiendo leer todos los apartados, uno detr�s de otro, para ampliar
conocimientos, que resultar� beneficioso a la hora de buscar posibles
irregularidades, fallos o errores en la elaboraci�n de este documento
o en lo que se refiere a conceptos en Linux en s�.
Y ya por �ltimo indicar que hasta la versi�n 1 de este documento
explicaremos c�mo se graban CDs normales, pero para la siguiente
versi�n, la 2.0 intentaremos ir mas all�, a las grabadoras DVD,
momento que bajo mi punto de vista no tardar� en llegar.
1.1. Aportaciones
Recuerde que este documento est� en desarrollo y cualquiera que pueda
aportar su granito de arena con sus problemas y soluciones,
correcciones (ya que seguro que me he equivocado en alg�n sitio) o
adici�n de detalles; siendo adem�s amablemente incluido como
colaborador. (Ver secci�n ``Cr�ditos'')
Para hacerlo s�lo tiene que o bien utilizar el sistema en l�nea de
Insflug,
http://www.insflug.org/comos/comos.php3 de adici�n al sistema
de fe de erratas, o sugerencias, para que inmediatamente est�
disponible para todos, y enviar un mail a
[email protected]
Animo a leer este documento con paciencia, sin reparos en participar
con correcciones o a�adiduras al mismo, para que toda la comunidad
Linux se beneficie de �l. Las felicitaciones y enhorabuenas tambi�n
son bien recibidas ;-).
2. Grabadoras soportadas
Podemos dividir el soporte a una grabadora bajo LiNUX en tres
aspectos:
1. Que Linux tenga soporte gen�rico para el bus del que cuelga la
grabadora.
2. Que el software espec�fico de grabaci�n soporte la utilizaci�n de
dicho bus para grabar.
3. Que adem�s de lo anterior, el software espec�fico de grabaci�n
soporte la grabadora en concreto.
Respecto al punto 1, Linux soporta gen�ricamente grabadoras CD-R, CD-
RW, DVD-R, DVD-RW y DVD-RAM con interfaces:
� SCSI
� IDE/ATAPI
� IDE/ATAPI por puerto paralelo.
Podemos decir por tanto que, a excepci�n de las grabadoras SCSI, con
las que adem�s es preciso que la controladora SCSI est� soportada por
Linux, hoy en d�a la capacidad de utilizar una grabadora en concreto
reside enteramente en el programa utilizado para grabar.
En la actualidad, el �nico programa con desarrollo activo es cdrecord;
por lo que la cuesti�n depender� enteramente de que cdrecord la
soporte o no; a grosso modo, podemos afirmar que casi todas las
grabadoras est�n soportadas.
En
http://www.guug.de:8080/cgi-bin/winni/lsc.pl Winfried Truemper
mantiene un listado de las soportadas. Si entre ellas est� la suya,
hay un 99% de posibilidades de que pueda utilizarla bajo Linux sin
problemas.
No obstante, la �ltima palabra la tiene siempre la documentaci�n de
cdrecord: vea la secci�n ``cdrecord''.
Aun en el caso de que su grabadora no estuviera soportada, le quedar�a
la opci�n de crear las im�genes bajo Linux, y grabarlas bajo cualquier
otro sistema operativo.
3. Configuraci�n del Kernel
El primer paso es configurar el kernel para que Linux vea nuestras
grabadoras y/o lectores correctamente, tanto si son SCSI como IDE o
ATAPI por puerto paralelo.
En los dos �ltimos casos hay que hacer ciertos �chanchullos�, aunque
el que m�s pueda resultar dificultoso sea configurar el kernel para
grabadoras IDE, ya que no basta conectarla, decirle que es un
dispositivo IDE/ATAPI CD-ROM y directo a grabar como un poseso; hay
que recompilar el kernel con una serie de opciones y modificaciones
que se describen y explican en su apartado correspondiente.
Hay que saber c�mo configurar el kernel, para ello entramos en el
directorio /usr/src/linux, donde normalmente se encuentran los
fuentes. Para asegurarnos de que nada raro pueda pasar, ejecutaremos
make mrproper lo que elimina todos los binarios, incluso las
configuraciones; es decir, una limpieza exhaustiva que asegure que no
haya ninguna interferencia de nada de lo anterior que pueda hacer que
el nuevo kernel no compile o nos d� errores.
Una vez hecho esto, teclearemos make menuconfig si queremos interfaz
ncurses para el shell o make xconfig desde un terminal de X-Window
para hacer lo mismo en X con interfaz TCL/TK, lo que quiere decir que
si no tiene dichas librer�as no podr� compilar los programas
respectivos.
Podr� recurrir en �ltima instancia al viejo programa de configuraci�n,
un script que se invoca desde la consola con make config y en el que
tendr� que poner y (si), n (no) y/o m (m�dulo) el los lugares en donde
corresponda en el prompt, ya que �ste no permite volver hacia atr�s;
si quiere hacerlo tiene dos opciones, una pulsar Control+C y cancelar
la configuraci�n volviendo a empezar, o terminar de configurar y
volver a empezar, (lo configurado anteriormente se mantiene), y
rectificar lo que haya dejado o haya puesto mal.
Si tiene mas dudas sobre c�mo configurar el n�cleo del sistema le
remito al documento Kernel Como que se encuentra en
http://www.insflug.org.
3.1. Configurar el Kernel para grabadoras SCSI
Voy a suponer que no tiene ni la m�s remota idea de qu� es el sistema
SCSI, cosa en la que tampoco voy a profundizar, ya que para eso hay un
hermoso documento llamado SCSI-HOWTO al cual puede referirse en caso
de dudas y o problemas de configuraci�n del dispositivo SCSI.
El caso es que se ha comprado un equipo cuya placa madre trae SCSI
integrada, o una controladora SCSI en la que ha puesto el CD, y el
dichoso windows lo ha configurado a la primera o los amables chicos de
la tienda de inform�tica en donde acaba de comprarlo han instalado y
configurado todo.
Lo primero es saber qu� tipo de controladora SCSI es, me refiero a su
chip principal; las controladoras m�s comunes son Adaptec, Advansys y
las basadas en los chip Symbios 53c8xx (NCR), pero si no tiene ninguna
de �stas no se preocupe, el kernel lleva soporte para muchas m�s.
Puede saber qu� controladora tiene mirando simplemente los manuales,
mirando el chip principal de la tarjeta o el nombre del controlador de
windows (s�lo en �ltima instancia).
Si el controlador no corresponde exactamente al modelo que aparece en
el kernel, seguramente funcionar� con alguno de los que lleva
gen�ricos para varios tipos de controladoras con las mismas
caracter�sticas. Puede compilar como m�dulo las que m�s se parezcan al
suyo y luego ir probando los m�dulos hasta que d� con el que
corresponda. Si al cargar alg�n m�dulo nota que se le ha quedado el
ordenador colgado, no lo vuelva a intentar con ese, ya que algunos
controladores que no corresponden al hardware instalado son cargados
de todos modos produciendo estas desagradables situaciones.
Acto seguido nos vamos a la configuraci�n del kernel y entramos en
SCSI Support, lo que luego nos dejar� se�alar las dem�s opciones que
son para dar soporte gen�rico, y a unidades de CD-ROM, Discos Duros y
cintas, de las cuales nos interesa el soporte gen�rico, SCSI generic
support, que proporciona el interfaz ASPI, (para poder grabar) y el
SCSI CD-ROM support, para leer unidades de CD-ROM, incluidas
grabadoras y DVDs. Si dispone de un disco duro, ZIP o JAZ SCSI deber�
responder y tambi�n si quiere poder usarlo.
Si por casualidad tiene la grabadora como unidad externa, y la
controladora SCSI dedicada en exclusiva a ella, recomiendo que ponga
el driver de la controladora como m�dulo, es decir, poniendo m en
lugar de y, ya que le permitir� cargar/descargar a voluntad todos los
m�dulos de soporte SCSI cuando no los necesite, y apagar la unidad
externa cuando no la est� usando (cosa que con windows no es posible
hasta el W98) ya que al cargar su m�dulo, la controladora inicializar�
y escanear� los dispositivos de nuevo sin necesidad de reiniciar el
ordenador para detectarlos; si la tiene interna, a�ada el soporte
directamente en el kernel y se ahorra trabajo en cargar los m�dulos.
Tenga en cuenta no obstante, que si carga, descarga, y vuelve a cargar
el m�dulo sin reiniciar el equipo, la controladora recibir� un n�mero
de host distinto, y los par�metros que tengamos para cdrecord
configurados no ser�n v�lidos.
Si no puede descargar el soporte SCSI por tener otros dispositivos
dependiendo de �l (porque su disco duro ra�z sea SCSI, por ejemplo, o
por no poder tenerlo como m�dulo por las razones que sean) tambi�n
puede activar y desactivar dispositivos a voluntad, incluidas
grabadoras, cintas, esc�neres, etc. sin necesidad de descargar el
m�dulo. vea la secci�n ``Activaci�n y desactivaci�n de dispositivos
SCSI al vuelo''.
As� que una vez hecho esto pase al apartado siguiente para especificar
el driver de su controladora. Si le ha dicho antes, en soporte SCSI,
que lo compile como m�dulo solo le dejar� seleccionar como m�dulo el
driver del controlador.
Espero que no se equivoque en escoger el driver para su controladora,
porque si es as� le tocar� elegir otro y recompilar solo los m�dulos.
Una vez recompilados los nuevos m�dulos, previa configuraci�n, s�lo
tendr� que probarlos; si ha incluido soporte SCSI en el kernel junto a
un controlador, �ste detectar� el dispositivo y podr� accederse a �l
desde los ficheros de dispositivo /dev/scdX o /dev/srX (estos �ltimos
se crean, si no lo est�n ya, a trav�s de un script que se puede
encontrar junto a los programas de grabaci�n, as� como con el script
/dev/MAKEDEV, o bien el que trae el X-CD-Roast (secci�n ``X-CD-
Roast'') o bien a mano con el comando mknod con este bucle:
for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ;
do mknod /dev/sr$i b 11 $i;
done
Del mismo modo, si lo ha hecho como m�dulo, s�lo tendr� que cargar los
m�dulos SCSI en el siguiente orden:
1. M�dulo scsi_mod.o que es el driver principal del que cuelgan todos:
insmod scsi_mod
2. Seguido del m�dulo de soporte para SCSI gen�rico (proporciona el
interfaz ASPI Advanced SCSI Programming Interface, para poder
grabar CDs, o usar algunos programas con unidades de cinta,
esc�neres, etc) sg.o y el de soporte de CD-ROMs SCSI, sr_mod.o:
insmod sg
insmod sr_mod
3. Por �ltimo, hacer un insmod al driver que corresponda a su
controladora, el cual sacar� un debug de lo que encuentre, de tal
forma que las unidades de CD corresponder�n a /dev/sr0 para el
primer dispositivo CD-ROM SCSI, /dev/sr1 para el segundo, etc,
independientemente del bus o ID SCSI en el que est�n.
De todas maneras si hace un cat al archivo /proc/scsi/scsi podr� ver
qu� ID SCSI se tienen sus dispositivos, dato indispensable para
determinar los interfaces gen�ricos /dev/sgX.
Si instala X-CD-Roast podr� usar los dispositivos /dev/sr0 hasta
/dev/sr15; tambi�n puede usarlos en lugar de los dispositivos
/dev/scdX, que usan otros programas, como cdrecord. Estos son los
nuevos dispositivos que se usar�n a partir de ahora para referirse a
las unidades de discos �pticos tipo ROM como los CD-ROM y DVD-ROM.
Recomiendo que active el soporte kerneld, e introduzca el alias
apropiado a la controladora en /etc/conf.modules, para que la carga de
los m�dulos sea autom�tica. Si tiene dudas sobre esto, lea el Kernel-
Como para mejor referencia. Si ya tiene una distribuci�n con el kernel
2.2.XX no se cargar� el kerneld, el propio kernel hace las funciones
del kerneld.
Lea tambi�n la secci�n ``Configuraci�n del kernel para grabadoras
IDE'' porque explico algunas cosas m�s que pueden servir para
solucionar posibles problemas que puedan ocurrir y que son comunes
tanto para IDE como para SCSI. Y porqu� no, para cuando un amigo se
instale una grabadora IDE...
3.1.1. Activaci�n y desactivaci�n de dispositivos SCSI al vuelo
La forma m�s limpia de hacer que el kernel active o desactive sin
necesidad de resetear el sistema, o cargar/descargar m�dulos, dando
igual si est� compilado el soporte como m�dulo o no, es mediante el
siguiente m�todo.
El activar o desactivar dispositivos SCSI a voluntad sin necesidad de
demasiados aspavientos puede ser m�s pr�ctico de lo que parece:
suponga que su grabadora es externa, y la mantiene apagada mientras no
la usa, lo mismo sucede con un scanner, unidad ZIP, JAZ, CDROMs o
unidades de cinta externa, dando por supuesto que son SCSI, claro
est�.
Advertencia: Cuando hablamos de activar, nos referimos al caso en que
el dispositivo est� conectado externamente a la controladora, pero en
un principio apagado, y una vez encendido, deseamos activar; no que
cualquier controladora SCSI mediante este m�todo soporte
conexi�n/desconexi�n en caliente de dispositivos, tenga cuidado o
puede desde corromper datos a estropear definitivamente dispositivos
del bus SCSI.
Supongamos que la grabadora est� en la primera o �nica controladora
SCSI del sistema, y que la grabadora tiene asignado el ID SCSI 4.
si ejecutamos el comando:
echo "scsi add-single-device 0 0 4 0" > /proc/scsi/scsi
El kernel activar� la grabadora.
En este caso, el primer 0 especifica la primera controladora, el
segundo el canal de la controladora (a menos que tenga una Wide o UW
SCSI. siempre ser� 0, ya que s�lo tiene uno; no confundir canal con
conector) el 4 especifica el ID SCSI, y el �ltimo 0 el LUN. (Ver
secci�n ``Notaci�n est�ndard'')
y si ejecutamos
echo "scsi remove-single-device 0 0 4 0" > /proc/scsi/scsi
La desactivaremos.
3.2. Configurar el Kernel para grabadoras IDE
El problema de las grabadoras IDE es que no hay software espec�fico
que detecte y grabe en estos dispositivos, ya que todos los programas
se basan en la interfaz SCSI (ASPI) del kernel para acceder a �stos.
Por esta raz�n, no es tan sencillo configurar del Kernel para las
grabadoras IDE. Lo primero es aplicar una peque�a modificaci�n al
Kernel, s�lo necesario si tiene una grabadora Regrabable HP como las
7100 o 7110 o superiores.
La modificaci�n, que consiste en aumentarle el tiempo de espera del
IRQ, es absolutamente necesaria ya que si no lo hacemos no cerrar� los
CDs, o al intentar cerrarlos, es decir, al escribir la Tabla de
Contenidos, se detendr� con un error y habremos perdido el CD sin
forma de recuperarlo.
Para efectuarla, vamos al archivo ide.h que se encuentra en
/usr/src/linux/drivers/block, y buscamos la siguiente l�nea:
#define WAIT_CMD (10*HZ) /* 10sec - maximum wait for an IRQ to happen */
que tenemos que modificar de modo que quede as�:
#define WAIT_CMD (1000*HZ) /* 1000sec - maximum wait for an IRQ to happen */
Con lo cual solucionamos el problema. Parece ser que con poner 400 en
vez de 1000 funciona, pero no lo he probado personalmente. De todas
formas, con el paquete de los fuentes del cdrecord viene un archivo
llamado README.ATAPI, en que se dice que haga exactamente esto, as�
como c�mo hacer funcionar estas grabadoras con la versi�n antigua de
cdrecord, es decir, la 1.5, aplic�ndole un serie de parches al
programa y al kernel.
Una vez realizada la modificaci�n debe configurar el kernel, ir al
men� Floppy, IDE and other block devices, desactivar el soporte para
IDE/ATAPI CD-ROM (�OJO, NO el Enhanced IDE/MFM/RLL
disk/cdrom/tape/floppy support!) y activar la emulaci�n SCSI que s�lo
hay en los �ltimos kernel, versiones 2.0.31 en adelante y 2.2.XX, para
que as� los programas detecten nuestra grabadora IDE como SCSI y
funcione como tal.
Si activamos el soporte IDE/ATAPI para las unidades de CD-ROM el
kernel no detectar� nuestra grabadora como un dispositivo SCSI y
habremos perdido el tiempo. Hacer que a nuestra grabadora la vean los
programas como si fuera SCSI es muy sencillo, y se basa en que las
grabadoras reciben comandos estandarizados (pertenecientes al interfaz
ASPI, Advanced SCSI Programming Interface) para grabar que por
casualidad son espec�ficos de los SCSI; de esta forma, con la
emulaci�n lo que hacemos es que se puedan enviar este tipo de comandos
a trav�s del bus IDE de nuestra grabadora.
Hasta el momento que he tenido para probarlo, funciona perfectamente,
tan bien, que se consigue un rendimiento similar al de una SCSI
aut�ntica.
De la misma forma, windows lo que hace es emular SCSI con las IDE, lo
que le trae una peque�a serie de inconvenientes como cierto software
que no funciona bien o el excesivo consumo de recursos del sistema.
Por lo visto las grabadoras IDE consumen muchos recursos, m�s que las
SCSI, pero en linux con la emulaci�n la carga parece menor, o al menos
no se nota de forma excesiva; lo �nico recomendable es dejar un puerto
IDE para ella sola, seg�n recomiendan los fabricantes; lo mas com�n
suele ser el secundario.
Con esto nos aseguramos de que no haya cualquier posible interferencia
del otro dispositivo que haya conectado al puerto de la grabadora
(solo por seguridad); yo he probado a tener el lector y la grabadora
en el mismo interfaz, esto se puede hacer pero recomiendo que desmonte
la unidad lectora de CD para que no haya interferencias; se puede
usar, por ejemplo, para escuchar CDs de m�sica mientras se graba el
CD, si tiene bot�n de reproducci�n, claro esta ;).
He recibido noticias de que hay gente que tiene la grabadora y la
unidad lectora colocadas en la misma interfaz haciendo copias directas
sin muchos problemas. Antes de ponerlo as�, recomiendo realizar muchas
pruebas antes de dejarlo de forma fija.
El �ltimo paso para configurar el kernel es ir a la secci�n SCSI
support e incluir el soporte SCSI en el kernel, junto al SCSI generic
y el soporte SCSI para los CD-ROM (Ojo, no lo haga como m�dulo, hay un
fallo en la configuraci�n para la emulaci�n SCSI a la hora de incluir
el soporte gen�rico SCSI en el kernel, por lo que si no lo incluimos
manualmente en �l no podremos compilar el nuevo kernel y es posible
que se pase un buen rato d�ndole vueltas a lo mismo).
Gracias a este procedimiento ahora nuestra grabadora y/o lectora/as
aparecer�n como dispositivos SCSI en vez de IDE.
No es nada recomendable hacer cosas con el disco duro �origen�
mientras se est� grabando, si lee datos de un disco secundario podr�
trabajar con el principal, pero no recomiendo abusar de su uso ya que
es posible que pueda haber alguna peque�a interferencia con el DMA,
aunque no suele ser muy com�n. Es decir, deje el disco duro s�lo para
la grabaci�n.
Otra cosa a tener en cuenta es que si no tiene un disco con extracci�n
por DMA como un Fast ATA o Ultra DMA desactive del kernel el soporte
para el chip Intel Trit�n (I/II), ya que si har� interferencia el DMA
con la emulaci�n y dejar� el controlador colgado, oblig�ndole a
resetear el ordenador con ese bot�n que se tiene algo olvidado la
gente de linux. (Mirar en el apartado ``Preguntas de Uso Frecuente'')
para m�s detalles).
3.3. Configurar el Kernel para grabadoras IDE-ATAPI por puerto par�
alelo
�Grabadoras por puerto paralelo? �De verdad eso existe? Pues s�,
existe, y c�mo Linux es capaz de usarlas, �C�mo? Gracias cdrecord y a
los desarrolladores del kernel que han introducido como novedad de los
n�cleos 2.1.x: (de desarrollo) el soporte para unidades ATAPI por
puerto paralelo como unidades de CD-ROM y discos duros.
Para esto deberemos tener el kernel 2.0.35 o superior con la
configuraci�n necesaria para que reconozca nuestra unidad externa, que
se describe a continuaci�n:
Lo primero de todo es reiniciar el ordenador y entrar en la
configuraci�n de la BIOS, y, normalmente, en el men� Integrated
Peripherals, si tiene la controladora del puerto paralelo integrada en
la placa base, como en las �ltimas placas de 486 y en todas las placas
de Pentium y Pentium Pro/II. Configuraremos el puerto de impresora en
modo EPP, si no lo establecemos as�, no habr� forma de que funcione.
Seguidamente, una vez arrancado nuestro sistema entrar en la
configuraci�n del kernel en Floppy, IDE, and other block devices y
seleccionar como m�dulo el par�metro Parallel port IDE device support.
Seguidamente seleccionar, al menos, tambi�n como m�dulos los
siguientes:
� Parallel port ATAPI CD-ROMs
� Parallel port generic ATAPI devices
� Shuttle EPAT/EPEZ protocol
De esta forma ya tenemos los m�dulos para hacer funcionar la grabadora
como unidad lectora; si lo prefiere puede incluirlo en el kernel, pero
primero aseg�rese de que funciona bien como m�dulo antes.
Seguidamente procedemos a la recompilaci�n e instalaci�n de los
m�dulos en su lugar, y sin necesidad de reiniciar (a no ser que se
actualice partes no compiladas como m�dulos) ejecute depmod -a para
crear las dependencias de los m�dulos a fin de poder cargarlos con
modprobe, kerneld o kmod.
Comenzamos por cargar el modulo paride, el epat, y por �ltimo el
m�dulo del driver que vayamos a usar; como nos interesa poder usar
nuestra grabadora tenemos que cargar el pg para que nos reconozca la
grabadora cdrecord (equivalente al m�dulo sg en SCSI) y el pcd para
usar la grabadora como unidad lectora (el equivalente a sr en SCSI).
Para usar nuestra unidad como lectora debemos montar la unidad con la
orden:
mount /dev/pcd0 /cdrom
No obstante, si piensa utilizar su grabadora como lector, o para
extracci�n de audio asiduamente, le recomiendo que lea la secci�n
``�Es recomendable utilizar la grabadora para extraer o leer?'', su
bolsillo lo acabar� agradeciendo.
Si no existe el dispositivo /dev/pcd0 puede crearlo con el siguiente
bucle:
for i in 0 1 2 3 ; do mknod /dev/pcd$i b 46 $i ; done
Si dispone del un kernel de la serie 2.1.x o 2.2.x antes de usar los
controladores de cualquier dispositivo de puerto paralelo ha de cargar
el m�dulo parport.o, el cual hace de interfaz para poder tener
cargados y operativos varios dispositivos de puerto paralelo al mismo
tiempo como unidades ZIP, discos y lectores/grabadores de CD e
impresoras y scanners simult�neamente (genial ���no??? ;-)).
Como todav�a no ha ca�do en mis manos una grabadora de este tipo no he
podido hacer pruebas ni nada por el estilo, los detalles de la
configuraci�n del kernel los he elaborado a partir de lo que he podido
recopilar leyendo por la Web y la ayuda prestada por colaboradores.
Apelo a la colaboraci�n de la comunidad linuxera a fin de completar
este apartado con lo que m�s le vaya haciendo falta, para estar a la
altura de los anteriores; bien se lo merece el esfuerzo mostrado por
las personas que hacen posible que dispositivos tan raros y
minoritarios sean capaces de ser utilizados por Linux.
3.4. Otras opciones del kernel recomendables
En linux (y en unix) existe la posibilidad de poder acceder, leer y
escribir en sistemas de archivos que no se encuentren en una partici�n
o en un disco, sino, en un fichero. �C�mo? �En un fichero? Si, as� es,
y para eso solo necesitamos dos cosas, un dispositivo loopback y el
comando mount.
Para asegurarnos de que incluimos esta opci�n en el kernel como m�dulo
entramos en la configuraci�n del kernel mediante make menuconfig, y
accedemos al men� Floppy, IDE, and other block devices; justo tras
Additional Block Devices se encuentra la opci�n Loopback device
support la cual recomiendo seleccionar como m�dulo, y si en el men�
principal Filesystems tiene seleccionada la opci�n Kernel automounter
support al montar el archivo, este m�dulo se cargar� autom�ticamente;
si la opci�n anterior est� como m�dulo deber� cargarlo a mano, sino no
se cargar� autom�ticamente ning�n modulo y nos dar� error. Para
cargarla manualmente deberemos teclear: insmod loop.
Tambi�n debemos asegurarnos que en dev existan los ficheros especiales
de dispositivo loopX:
brw-rw---- 1 root disk 7, 0 Jul 1 1996 /dev/loop0
brw-rw---- 1 root disk 7, 1 Jul 1 1996 /dev/loop1
brw-rw---- 1 root disk 7, 2 Jul 1 1996 /dev/loop2
si no los tiene, cr�elos con el siguiente bucle:
for i in 0 1 2 3 4 5 6 7; do mknod /dev/loop$i b 7 $i ; done
as�, para montar una imagen para revisarla, en el directorio
/mnt/imagenesCD haremos:
mount -o loop imagenCD.iso /mnt/imagenesCD
Una vez hecho esto, acceda al directorio /mnt/imagenesCD y podr� ver
los contenidos de la imagen. Las im�genes ISO9660 son de s�lo lectura,
por lo que no podr� modificarlas de ninguna manera, claro, a menos que
genere otra imagen nueva.
Como puede observar no he puesto el comando -t iso9660 para
especificarle que es una imagen ISO9660, ya que autom�ticamente lo
debe detectar.
Si tiene pensado hacer im�genes Joliet, le recomiendo que cargue en el
kernel el soporte para Joliet, en el men� principal Filesystems,
activar el soporte para ISO9660 en los kernels 2.0.33 en adelante, y
en los superiores a 2.0.37, o 2.1.x o 2.2.x activar Microsoft Joliet
CD-ROM extensions; y dentro del submen� Native Language Support
activar Codepage 437, 850 y NLS ISO 8859-1.
Recomiendo al menos incluir esto como parte del kernel de arranque,
aunque si no le sobra mucha memoria incl�yalos como m�dulos, que el
kernel se ocupar� de cargarlos cuando sea necesario. El resto de
Codepages y NLSs recomiendo que los ponga como m�dulos si decide
activarlos, aunque los m�s utilizados son los mencionados
anteriormente.
4. Nomenclatura de dispositivos SCSI
Este es un tema para el que convendr�a que leyera el SCSI-Howto, pero
como no hay disponible traducci�n, har� una breve introducci�n,
necesaria para poder especificar par�metros necesarios al software que
usaremos.
B�sicamente, para lo que necesitamos, hemos de saber de la existencia
de los dispositivos de bloque, /dev/scdX o /dev/srX, y los
dispositivos gen�ricos, /dev/sgX:
4.1. Dispositivos gen�ricos
En lo que a nosotros ata�e, tanto para extraer audio, como para grabar
bajo Linux, el kernel ha de tener activado Generic SCSI Support, que
proporciona la interfaz ASPI necesaria.
Pero, �de qu� manera determina Linux c�mo ha de tratar un mismo
dispositivo? dependiendo de a qu� fichero de dispositivo le hagamos
referencia; si es un fichero de dispositivo de bloques, lo tratar�
como tal, y si es gen�rico, utilizar� comandos ASPI.
El dispositivo gen�rico de cada unidad conectada al bus SCSI se
determina mediante su ID SCSI, haga cat /proc/scsi/scsi para ver un
listado de los disponibles en su sistema, por ejemplo:
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: QUANTUM Model: FIREBALL1280S Rev: 630G
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: QUANTUM Model: FIREBALL ST4.3S Rev: 0F0C
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 02 Lun: 00
Vendor: PIONEER Model: CD-ROM DR-U06S Rev: 1.05
Type: CD-ROM ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 04 Lun: 00
Vendor: YAMAHA Model: CDR102 Rev: 1.01
Type: WORM ANSI SCSI revision: 02
Lo que nos interesa es la l�nea Host: scsi0 Channel: XX Id: XX Lun: XX
de cada dispositivo; concretamente Id:.
El sistema asigna din�micamente dispositivos sgX por orden de ID a los
presentes en ese mismo instante; en el ejemplo anterior:
00 ---> /dev/sga
01 ---> /dev/sgb
02 ---> /dev/sgc
04 ---> /dev/sgd
cuando decimos din�micamente, nos referimos a que si por ejemplo,
tiene una unidad externa magneto �ptica, un zip, o similar, en el ID
03, la enciende, y hace que el kernel reescanee el bus, los
dispositivos ahora ser�an:
00 ---> /dev/sga
01 ---> /dev/sgb
02 ---> /dev/sgc
03 ---> /dev/sgd
04 ---> /dev/sge
Ahora, la grabadora ser�a /dev/sge en lugar de /dev/sgd como antes.
Con lo que queremos decir que hay que tener mucho cuidado con la
adici�n de dispositivos SCSI �al vuelo� y el uso de los sgX.
4.2. Dispositivos de bloque
En el caso concreto que nos ocupa, nos interesan los dispositivos ROM:
/dev/scdX o la nomenclatura nueva, /dev/srX.
Aqu� el primer fichero de dispositivo corresponder� al primer CDROM
SCSI (incluyendo grabadoras) SCSI disponible en el sistema, /dev/sr0,
/dev/sr1 ser� el segundo, etc; da igual el ID SCSI que tenga, o en el
bus SCSI que est�.
4.3. Notaci�n est�ndar
En entornos *nix existe cierta notaci�n para identificar dispositivos
SCSI:
Numero_Bus_SCSI,ID_SCSI_dispositivo,LUN_dispositivo
El LUN es un par�metro que siempre va a ser 0, menos en el caso
improbable de que Vd disponga de un cargador de CDs, o un robot
cambiador de magneto-�pticos o de cintas.
Por tanto, un dispositivo que tuviese el ID 4 en la primera
controladora SCSI del sistema ser�a el dispositivo SCSI del sistema
0,4,0.
5. Sistemas de ficheros
Este apartado est� dedicado a explicar algunas cosas para
familiarizarle con la grabaci�n de CDs, de modo que le sea mas f�cil y
r�pido elaborarlos.
Una breve explicaci�n sobre los sistemas de ficheros de los CD-ROMs,
para que pueda elegir cu�l es el m�s conveniente en cada momento o CD:
como ya sabr�, se sigue un est�ndar para que todos los ordenadores
puedan leer los CD-ROMs sin ning�n problema, para eso se cre� el
ISO9660 que especifica el est�ndar.
Pero dentro de ese est�ndar existen algunas variantes, o m�s
concretamente extensiones, que permiten ampliar las posibilidades
originales del ISO9660, como son los nombres largos o incluso sistemas
de arranque y ciertas cosas m�s.
5.1. Joliet y Romeo
Estos sistemas fueron dise�ados por Microsoft para su plataforma
Windows 95/NT. Permiten sistemas de archivos tipo VFAT pero con la
limitaci�n de longitud a 64 caracteres, en Joliet, y de 128 para
Romeo.
Para que Linux sea capaz de ver estos sistemas de ficheros ---por
ahora s�lo Joliet--- Necesita tener dicho soporte en el kernel: hasta
el kernel 2.0.34 no lo hab�a, aunque es posible tenerlo gracias a
parches para el kernel que se encuentran en Internet. Estos mismos
parches permiten ver tambi�n particiones con FAT32, el sistema de
archivos que usa la OSR2 de Windows 95 que le posibilita tener
particiones de hasta 4 TeraBytes, limitaci�n inexistente en el sistema
de ficheros de Linux, ext2, que desde su aparici�n soporta
precisamente 4 TeraBytes ;)
Para los que est�n usando un kernel de la serie 2.2.x, decirles que
tanto el soporte Joliet como de FAT32 vienen �de serie�, y no tienen
m�s que compilar o cargar m�dulos cuando se necesite si el kernel no
los carga autom�ticamente.
5.2. Rock Ridge (High Sierra)
Esta extensi�n se ide� para la plataforma UNIX, por lo que recoge una
serie de caracter�sticas y ventajas de las que nos podemos beneficiar
m�s que con los otros.
La primera ventaja es la de poder tener un sistema de ficheros con
atributos propios del UNIX en �l, es decir, puede haber archivos
ejecutables, de acceso restringido a un usuario, enlaces simb�licos y
dem�s aspectos t�picos de un sistema de archivos UNIX, en el CD. Otra
de las ventajas es que podemos tener nombres de hasta 128 caracteres,
a diferencia del Joliet.
Por otra parte hay un sistema de compatibilidad que permite a otros
sistemas operativos ver nombres de hasta 32 caracteres; no es mucho,
pero de algo sirve. Para aquellos que no ven este sistema de ficheros
tenemos la posibilidad de crear unas tablas de transcripci�n en forma
de ficheros llamados TRANS.TBL, que aparecer�n en cada directorio del
CD, transcribiendo el nombre visible por el que de verdad se encuentra
en �l.
En algunos casos puede ayudar, pero unas veces por fallo del sistema
operativo for�neo, otras por sus controladores, la transcripci�n no
funciona muy bien, llegando incluso al reseteo sin previo aviso.
5.3. HFS (Hierarchical Filesystem)
No s� mucho sobre este sistema de ficheros, s� que es el que utilizan
los Macintosh y es incompatible con el de los PC, por lo menos windows
no sabe lo que es. Como es habitual Linux se adapta y por supuesto hay
un parche para el kernel para ver este tipo de sistema de ficheros y
tambi�n hay un programa para crear im�genes con este sistema de
ficheros para que podamos grabar CDs a nuestros amigos los del mac.
Sobre las caracter�sticas de este sistema de ficheros no puedo decir
nada, puesto que de momento no las s�. Si alguien conoce las
caracter�sticas de este sistema por favor, env�emelas a mi direcci�n
de correo y amablemente le incluir� como colaborador.
5.4. UDF (Universal Disk Format)
Este es el sistema de archivos que usan los DVD y tambi�n se puede
usar en los CD-ROM normales, de hecho el Adaptec DirectCD usa este
sistema de ficheros. Las caracter�sticas son muy interesantes, hasta
256 caracteres en ASCII y 128 en unicodes, posibilidad de grabar los
discos en modo packet writing, lo cual elimina la posibilidad de un
buffer underrun (muy com�n cuando no llegan los datos de forma
constante al CD y acabamos por tirarlo a la basura). Es el sistema de
ficheros que acabar� por estandarizarse. En Linux este sistema de
ficheros aun est� algo verde, aunque ya se ha conseguido leer discos
grabados con DirectCD con ciertas limitaciones.
Hasta la fecha el parche para el kernel de Linux soporta hasta la
versi�n 1.5 del sistema UDF .
Para m�s informaci�n, consulte estas p�ginas web:
http://www.osta.org
para obtener toda la informaci�n sobre el sistema UDF y
http://trylinux.com/projects/udf desde donde podemos acceder a los
parches para que el kernel vea este sistema de ficheros y no solo eso,
tambi�n hay utilidades para crear CDs con el sistema UDF.
Lo que todav�a no he conseguido es copiar un sistema UDF a mi
regrabable y poder grabar en �l. Si alguien sabe c�mo hacerlo, por
favor, me lo comunique con explicaciones claras, si no es mucha
molestia.
5.5. EXT2 (Extended Filesystem II)
S�, en efecto, no se trata de un formato de ficheros t�pico de CDRoms,
lo cual no significa que no pueda hacerse.
Consulte la secci�n ``mke2fs''.
5.6. El Torito
El nombre en castellano puede llevar a confusiones pero es el nombre
que se le ha puesto al sistema para incluir un sistema de arranque en
el CD. La explicaci�n de c�mo hacer un CD arrancable con este sistema
se describe en la secci�n del ``mkisofs''
6. Programas necesarios para grabar
Casi todos los programas que aqu� vamos a mencionar pueden obtenerse
de
ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/; no
obstante, es posible que no est�n las �ltimas versiones de desarrollo,
por ello procuro adem�s dar en la secci�n de cada uno la direcci�n
origen.
Aqu� hago una descripci�n de los programas que vamos a necesitar para
elaborar nuestros propios CDs, con ellos haremos las im�genes y las
grabaremos; podremos comprobar la diversidad que hay y las ventajas
que nos proporcionan.
S�lo voy a describir las �ltimas versiones de estos programas, que
aunque en algunos casos est�n en fase alpha o de desarrollo (s�lo
algunos) funcionan perfectamente.
En el caso concreto de cdrecord, resulta imprescindible para poder
usar grabadoras IDE, IDE-ATAPI de puerto paralelo y las regrabables,
al ser el �nico que de momento las soporta.
6.1. Programas para creaci�n de las im�genes
La parte m�s importante es hacer una imagen, pero �porqu� hay que
hacer una imagen? Muy sencillo, la imagen es el molde con el que se
crea el futuro CD; y no s�lo eso, la imagen nos permite comprobar que
el CD va a salir como nosotros queremos, pudiendo evitar errores y
ciertas cosas m�s, dif�cilmente detectables en el momento de la
grabaci�n si la generamos al tiempo de grabar.
Adem�s, podemos montar las im�genes para comprobar c�mo han quedado,
como se explica en el apartado ``Otras opciones del Kernel
recomendables''
S�, ya lo s�, en windows puedo hacer CDs perfectamente sin necesidad
de hacer im�genes, si contin�a leyendo, luego explico c�mo podr� hacer
CDs sin necesidad de hacer im�genes.
6.1.1. mkisofs
Puede obtener este programa de
ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs.
La �ltima versi�n estable disponible es la 1.11 y la de desarrollo es
la 1.12b5.
Este es el principal programa que usaremos para crear nuestras
im�genes, ya que est� hecho especialmente para hacer im�genes ISO9660
a las que a�adir extensiones Rock Ridge, o im�genes Joliet (s�lo
versiones 1.12).
Puede tambi�n combinar las dos, es decir, en un solo CD tener los dos
sistemas, Rock Ridge y Joliet, de tal forma que el CD sea portable
entre los sistemas operativos que usen uno u otro, manteniendo los
nombres largos (s�lo versi�n 1.12).
Esta explicaci�n est� basada en la versi�n 1.12a5, de la cual s�lo voy
a indicar los par�metros que son m�s utilizados.
La sintaxis de este programa y su uso se explica a continuaci�n:
-a o -all-file
Este par�metro indica que queremos incluir todos los archivos
que se encuentran en el directorio especificado, ya que el
programa no incluye por defecto los archivos que contengan
caracteres ~ y # que son generalmente copias de seguridad
creados por la mayor�a de editores *nix.
-A o -appid
Este par�metro indica un comentario sobre la aplicaci�n a la que
va dirigido el CD, puede ser definido en un archivo con el que
poder definir por defecto varias cosas. En concreto este
par�metro se identifica como APPI= especificando lo que quiera
poner mientras tenga una extensi�n no superior a 128 caracteres.
En versiones anteriores a la 1.12 se debe especificar en la
l�nea de comandos con el comentario entre comillas.
-b o -eltorito-boot
Este par�metro sirve para indicarle el nombre y la ruta del
archivo que contiene la imagen de arranque que ser� usada para
hacer un CD arrancable seg�n el est�ndar El Torito. De esta
forma creamos un CD arrancable para aquellas BIOS que acepten
arrancar desde CD-ROM. La imagen debe tener un tama�o de 720,
1.44 o 2.88 Mbs, la de un diskette de arranque, que contenga por
ejemplo el LILO. Ojo que esto no funciona muy bien con CDs SCSI
aunque la controladora SCSI lo soporte te�ricamente, por culpa
generalmente de la controladora, no del est�ndar.
-c o -eltorito-catalog
Con este par�metro, que est� ligado al anterior para hacer CDs
arrancable, se especifica d�nde se crear� en el CDROM el archivo
del cat�logo para el arranque del CD-ROM. Por defecto lo crea en
el directorio ra�z de la imagen
-f o -follow-links
Con este par�metro hacemos que los enlaces que se encuentren
dentro del directorio maestro especificado no sean tomados como
tales, sino como ficheros o directorios reales, lo cual nos
permite incluir en el CD cosas que no est�n en el mismo sistema
de ficheros donde tenemos el master, es decir, le especificamos
que siga los enlaces que contenga.
-help
Nos muestra la ayuda del programa, muy �til si no nos acordamos
de alguno de los par�metros.
-i Sirve para a�adir archivos que no est�n en el directorio o
subdirectorio que hayamos indicado para hacer la imagen, para su
adici�n a la imagen del CD. Esta opci�n est� temporalmente
deshabilitada, y parece ser que da problemas, por lo que est� en
espera de ser reescrita.
-J Gracias a esta opci�n podremos crear CDs con sistema de ficheros
Joliet. No incluida en versiones anteriores a la 1.12.
-l Gracias a este par�metro podremos establecer el modo de
compatibilidad de ficheros de 32 caracteres para aquellos
sistemas que no aceptan la longitud de los ficheros para los que
est� grabado el CD. Usar con cuidado.
-m o -exclude
Con este par�metro indicamos un patr�n de archivos que no
queramos incluir en el CD, que puedan encontrarse dentro de
alg�n subdirectorio en la ruta desde la que vamos a hacer la
imagen (ficheros core etc...) Se pueden usar comodines o nombre
completo.
-o o -output
Con esta opci�n indicamos el nombre que le queremos dar al
fichero, incluida su ruta, que contendr� la imagen, o el fichero
de dispositivo correspondiente a la partici�n donde queremos
volcarla.
El volcar las im�genes (s�lo de datos) a partici�n es muy
recomendable para equipos lentos; dicha partici�n no ha de tener
formato alguno, por ello la lectura es m�s r�pida, ocurre como
con la partici�n de swap.
Si utilizamos volcado a partici�n, conviene �resetearla� antes
de generar una imagen nueva con el comando:
dd if=/dev/zero of=/dev/sda1
Suponiendo que sda1 sea donde queremos volcar la imagen; OJO con
especificar una partici�n equivocada, o se ir� a hacer g�rgaras...
-p o -preparer
Este es complementario al par�metro -A, con �l podremos indicar
el autor del CD, Tiene una extensi�n m�xima de 128 caracteres.
Corresponde al par�metro PREP= en el archivo
-print-size
Muestra por pantalla el tama�o estimado que ocupar� la imagen,
sin hacer nada m�s.
-P o -publisher
Especifica el editor del CD. Su longitud m�xima son 128
caracteres. En el archivo .mkisofsrc se identifica como PUBL=.
-quiet
No muestra mensajes por pantalla.
-R Genera un sistema de ficheros con extensiones Rock Ridge. Esta
es la opci�n principal para generarlo, manteniendo los permisos
tal y como est�n.
-r Esta opci�n es como la anterior pero resetea los permisos de
modo que todos los usuarios puedan acceder al CD por completo.
-T o -translation-table
Con esta opci�n generamos los archivos de transcripci�n,
llamados TRANS.TBL en cada directorio del CD-ROM, que contendr�n
todas las transcripciones de los nombres de fichero para que se
puedan ver por ejemplo en un sistema DOS (de tipo de nombres de
fichero 8+3) y con su longitud correspondiente en el sistema
Rock Ridge. Cuando utilizamos la opci�n -l los archivos tendr�n
nombres de 32 caracteres y no de 8+3.
-v Nos muestra la ayuda y la versi�n del programa. Y mientras se
genera la imagen nos va mostrando el porcentaje de la imagen
generada y una estimaci�n de tiempo para terminar. Muy �til.
-V Esta opci�n nos permite darle un nombre de volumen al CD para
identificarlo. En el archivo .mkisofsrc se especifica con el
par�metro VOLI= con una extensi�n m�xima de 32 caracteres.
-x Esta opci�n nos permite excluir un directorio espec�fico que se
encuentre dentro de la ruta de origen. Puede excluir hasta un
m�ximo de 1000 directorios, ojo que hay que especificar el
par�metro antes de cada directorio, tantas veces como
directorios a excluir haya:
mkisofs ... -x estedirectoriono -x yestetampoco -x nieste
Estos son los par�metros m�s utilizados, si quiere m�s informaci�n o
m�s posibilidades siempre puede consultar la p�gina del manual. Ahora
unos pocos ejemplos de c�mo funcionan algunos par�metros:
Para generar un sistema de ficheros Rock Ridge simplemente tenemos
hacer esto:
mkisofs -a -r -T -o /cd/imagen.iso /ficheros
Aqu� se indica un sistema de ficheros Rock Ridge al que se le incluyen
todos los archivos que se encuentren en el directorio /ficheros,
generando archivos TRANS.TBL, para el archivo de imagen
/cd/imagen.iso.
Para que al crear la imagen se establezca el nombre de volumen, la
identificaci�n, el editor y la aplicaci�n del CD, hay dos m�todos, uno
consiste en crear un archivo llamado .mkisofsrc en nuestro directorio
personal. Recuerdo que este archivo s�lo sirve para la versi�n 1.12,
con una sintaxis como �sta:
VOLI=
El nombre de volumen.
PUBL=
Cualquier cosa que quiera poner, normalmente un peque�a
descripci�n del CD.
PREP=
Aqu� puede poner sus datos o cualquier cosa para identificar el
CD como suyo.
APPI=
Aqu� puede poner una descripci�n del objetivo de este CD o su
destino.
O bien puede especificarlo en la l�nea de comandos as�:
mkisofs -a -R -l -T -V "Volumen" -P "descripci�n CD" -p "preparador" \
-A "Aplicaci�n" -o imagen.iso /ficheros
Este �nico comando se ha introducido en dos l�neas, detr�s del
car�cter \ hay que teclear Enter, y teclear el resto. Se ha hecho as�
por motivos de formato de este documento.
En �l podemos observar, aparte de c�mo poner el nombre de volumen al
CD y otras cosas, que estamos haciendo un CD con el modo de
compatibilidad para otros sistemas de 32 caracteres, tomando los
permisos y la identificaci�n que tiene cada archivo en el disco.
Un ejemplo de c�mo crear un sistema de ficheros con Joliet es:
mkisofs -a -J -f -m '*.o' -m core -x /master/excluir -o /cd/imagen.iso /master
En este sistema de ficheros Joliet hemos excluido todos los archivos
que correspondan con la descripci�n *.o y core con la opci�n -m, la
opci�n -f indica que los enlaces que se encuentren ser�n tomados como
los archivos o directorios a los que apuntan. Por �ltimo, excluimos el
directorio excluir que se encuentra en la ruta de origen desde donde
queremos hacer la imagen.
Y por �ltimo un sistema de ficheros con Rock Ridge y Joliet, que
recuerdo que s�lo se puede hacer en la versi�n 1.12:
mkisofs -a -J -f -R -m '*.o' -m core -x /master/excluir -o /cd/imagen.iso /master
Para hacer un CD arrancable (para arrancar con �l es necesario que la
BIOS soporte arranque desde unidades CD-ROM) necesitamos la imagen de
un disquete de arranque de 720KB, 1.44MB o 2.88MB, de MS-DOS o Linux
seg�n queramos, que podemos encontrar en varios sitios ya hechos o
hacernos nosotros mismos. Una vez tenemos la imagen, la ponemos dentro
del directorio en donde se encuentran los archivos desde los que vamos
a hacer la imagen y procedemos a lo siguiente:
mkisofs -a -b /cdboot/eltorito.img -c /cdboot/catalogo -R -T -o imagen.iso /master
N�tese que a los par�metros -b y -c le especificamos lo que parece un
path absoluto, pero el directorio /cdboot no se encuentra en el
directorio ra�z de su disco duro, sino que en realidad es un
subdirectorio de /master; esto es as� porque mkisofs para este
par�metro se sit�a como si estuviera ya dentro del CD.
6.1.2. mkhfs
Puede obtener este programa de
ftp://ftp.ge.ucl.ac.uk/pub/mkhfs.
Es su hom�logo para el sistema de ficheros de los mac, HFS, no lo he
llegado a probar todav�a pero seguro que funciona bien. Su uso es muy
sencillo y no tiene mucha complicaci�n.
6.1.3. mkhybrid
Puede obtener este programa de
ftp://ftp.ge.ucl.ac.uk/pub/mkhfs.
Es la mezcla de los dos anteriores, la ultima versi�n usa c�digo del
mkisofs 1.12 para mejor soporte de Joliet. La ayuda parece exactamente
la del mkisofs, salvo que incluye las siguientes opciones para a�adir
el sistema de ficheros de los mac:
-g o -apple
A�ade la extensi�n ISO9660 de Apple, para la compatibilidad con
el est�ndar.
-h o -hfs
Crea el sistema HFS h�brido para la extensi�n ISO9660.
-probe
Prueba todos los archivos para el sistema Unix/HFS.
-mac-name
Crea todos los nombres seg�n el estilo de los mac para
ISO9660/Joliet/Rock Ridge
-no-mac-name
Evita lo anterior para los archivos Unix/Mac
6.1.4. mke2fs
�C�mo? �Pero si este programa sirve para crear sistemas de ficheros en
el formato nativo de Linux, el ext2!
Pues s�, es posible crear CD-Roms en formato ext2, que por supuesto no
podr�n leerse en sistemas que no dispongan de alg�n tipo de soporte
para leer este tipo de sistema de archivos, b�sicamente Linux.
Su utilidad depender� de la creatividad de cada uno ;)
Para ello, hay que seguir el siguiente procedimiento:
1. Primero hay que calcular el tama�o m�ximo que podemos usar en una
imagen para aprovechar la mayor cantidad de datos en el CD es f�cil
y es una operaci�n sencilla en la que intervienen dos programas y
en la que no hay ni que sacar la calculadora.
Primero utilizamos el cdrecord en su versi�n de desarrollo 1.8 de
la siguiente forma:
# cdrecord -v dev=3,0 -atip
Cdrecord release 1.8a29 Copyright (C) 1995-1999 J�rg Schilling
TOC Type: 1 = CD-ROM
scsidev: '3,0'
scsibus: 0 target: 3 lun: 0
Using libscg version 'schily-0.1'
atapi: 0
Device type : Removable CD-ROM
Version : 2
Response Format: 2
Capabilities :
Vendor_info : 'YAMAHA '
Identifikation : 'CRW4260 '
Revision : '1.0q'
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
Driver flags : SWABAUDIO
Drive buf size : 1176000 = 1148 KB
Current Secsize: 512
ATIP info from disk:
Indicated writing power: 5
Is not unrestricted
Is not erasable
ATIP start of lead in: -11324 (97:31/01)
ATIP start of lead out: 359849 (79:59/74)
Disk type: Long strategy type (Cyanine, AZO or similar)
Manuf. index: 22
Manufacturer: Ritek Co.
Una vez obtenida esta informaci�n nos fijamos en la siguiente linea:
ATIP start of lead out: 359849 (79:59/74)
de la que nos interesa el numero 359849 el cual al multiplicarse por
2048 nos dar� el tama�o m�ximo de la imagen que puede ser grabada en
el CD. Si se fijan el tama�o concuerda con un CD 80 minutos que corre�
sponde exactamente a 702 MegaBytes absolutos del tama�o de la imagen.
2. Crear un fichero imagen vac�o; con los datos anteriores:
dd if=/dev/zero of=imagen-vacia.ext2 bs=2048 count=359849
3. Formatearlo:
mke2fs -m 0 -b 2048 imagen-vacia.ext2
mke2fs advertir� de que imagen-vacia.ext2 no es un fichero de disposi�
tivo de bloque, y le pedir� confirmaci�n:
imagen-vacia.ext2 is not a block special device.
Proceed anyway? (y,n) y
4. Montarlo, mediante loopback, en lo que va a ser nuestro directorio
�maestro�:
mount -o loop imagen-vacia.ext2 /mnt/master
5. Copiamos a �l los ficheros que queramos, si por ejemplo queremos
hacer una r�plica de /etc :
cd /etc
find | cpio -pdamvu /mnt/master
6. Lo desmontamos, y grabamos normalmente.
Si queremos montar un CD-Rom de este tipo, habr� que especificarle a
mount que el tipo de sistema de ficheros es ext2, y de s�lo lectura:
mount -t ext2 -o ro /dev/cdrom /mnt/cdrom
si queremos incluirlo en /etc/fstab, habr� que indicar adem�s de su
tipo de sistema de ficheros, y de ser s�lo lectura, que no sea
comprobado:
/dev/cdrom /mnt/cdrom ext2 defaults,ro 0 0
El �ltimo 0 es el que hace que fsck no lo compruebe en cada arranque.
6.2. Software de extracci�n de audio
Aviso: La mayor�a de las grabadoras requieren que el orden de palabra
de los ficheros de audio en formato CDDA o PCM raw sea Big Endian,
salvo las Yamaha, Sony y recientemente las �ltimas grabadoras que
cumplen el est�ndar SCSI-3/MMC, que lo necesitan Little Endian.
Casi todos los programas extractores de CD-Audio extraen por defecto
en Big Endian.
Si graba ficheros de audio con el orden de palabra equivocado para su
grabadora, cuando intente escuchar ese CD no oir� m�s que un
horripilante ruido, similar al sonido de una televisi�n sin
sintonizar.
Dependiendo del software que utilice para grabar, esto se puede
abordar de dos maneras:
� cdrecord: Indistintamente de la grabadora que tenga, y del software
de extracci�n que use, extraiga siempre en Big Endian, el formato
por defecto.
cdrecord sabe qu� formato necesita cada grabadora, e invertir� el
orden de palabra si es necesario; notar� si lo invierte porque
aparecer� la palabra swab en el listado de pistas de audio a
grabar.
� cdwrite: Aqu� no hay error posible, ha de saber qu� orden necesita
su grabadora, y tener los ficheros CDDA con el orden apropiado.
Otro concepto, que aunque es mencionado m�s veces posteriormente a lo
largo del documento, quiero recalcar, y que necesitar� especialmente
con los extractores, es el del dispositivo gen�rico SCSI, que es
explicado en la secci�n ``Dispositivos gen�ricos''.
6.2.1. readcdda
Este programa es un poco dif�cil de encontrar, ya que las versiones
disponibles son modificaciones o portings del original a Linux.
Uno de los paquetes que lo trae modificado es el X-CDRoast, que es de
donde lo he obtenido, ver secci�n ``X-CD-Roast''.
No hay p�gina man disponible, y tampoco certifico que los comandos que
aqu� explico correspondan a la versi�n que Vd. pueda conseguir; no
obstante lo expongo aqu� por su excepcional calidad y fiabilidad. Eso
s�, s�lo funciona con dispositivos SCSI.
Su sintaxis es un poco pesada, pero como dec�a antes, vale la pena.
El orden de palabra de los ficheros cdda creados con readcdda es Big
Endian por defecto.
-D dispositivo
Para especificar el dispositivo gen�rico de la unidad con la que
vamos a extraer.
-B dispositivo
Dispositivo de bloque de la unidad con la que vamos a extraer,
son v�lidos tanto dispositivos /dev/srX como /dev/scdX.
-t Desde qu� pista a extraer
-z Hasta qu� pista extraer (inclusive)
-o desplazamiento del principio de la pista
-s desplazamiento del final de la pista
-d Tiempo total de grabaci�n
-S Velocidad de extracci�n.
-v imprimir informaci�n sobre el CD.
-x Formato de salida Little Endian
As� que un ejemplo, utilizando el CDROM SCSI que estuviera en el ID
SCSI 3, que fuese el primer CDROM disponible, extrayendo de la pista 1
a la 15, a velocidad 6x en un solo fichero .cdr, ser�a:
readcdda -D /dev/sgd -B /dev/scd0 -t 1 -z 15 -o 0 -s 0 -S 6 audio.cdr
Esto es un poco latoso si queremos que cada pista tenga su fichero,
para ello podemos utilizar un bucle:
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
readcdda -D /dev/sgd -B /dev/scd0 -t $i -z $i -o 0 -s 0 -S 6 audio.$i.cdr ;
done
6.2.2. cdda2wav
Este programa es m�s reciente, y permite extraer de CDROMs IDE si
�stos soportan extracci�n. Puede obtenerlo de
ftp://ftp.gwdg.de/pub/linux/misc/cdda2wav/. Tambi�n se puede encontrar
incluido en el mismo paquete de las �ltimas versiones de cdrecord.
Comentar� s�lo las opciones m�s habituales:
-D Dispositivo gen�rico de la unidad lectora; /dev/sgX o 0,1,0 si
es SCSI; si es IDE, con el fichero de dispositivo de bloque
correspondiente: /dev/hdb por ejemplo para un CD esclavo del bus
primario, o el enlace simb�lico que apunte al apropiado.
-A Dispositivo auxiliar: ser� un /dev/scdX si el lector es SCSI o
el mismo que le especificamos en -D si es IDE.
-I Tipo de interfaz; generic_scsi para dispositivos SCSI o
cooked_ioctl para IDE.
-x Extracci�n a calidad CD: muestreo a 44100Hz, 16 bits est�reo.
Esta es la opci�n por defecto, asi que si quiere estas opciones
no tendr� que volver a ponerlas.
-t primera+ultima
Especificamos la pista o rango de pistas a extraer.
-O Formato del fichero de salida, opciones validas �tiles pueden
ser raw para formato cdr (CDDA) o wav.
-E Orden de la palabra binaria: big para Big Endian, little para
Little Endian.
-B Extraer cada pista a un fichero separado.
-S n�mero
Velocidad de extracci�n.
-P Desactivar overlap (utilizar si se obtienen mensajes de error
tipo increase overlap (X) or decrease SYNC_SIZE (X).
-H No crear ficheros informativos (.inf) por cada fichero de audio
creado.
-e Permite la salida directa al dispositivo de audio del ordenador.
Por defecto /dev/dsp.
-K dispositivo
Cambia el dispositivo de audio por defecto /dev/dsp por que se
le especifique.
-q No muesta informaci�n alguna mientras se realiza el proceso de
extracci�n.
Supongamos que usamos un lector SCSI, que tiene el ID 2 del bus SCSI,
que queremos extraer las pistas de la 3 a la 8, en formato CDDA, Big
Endian (por defecto), en ficheros con el patr�n audio_*.cdr separados,
con sus correspondientes ficheros informativos:
cdda2wav -D /dev/sgb -A /dev/scd0 -I generic_scsi -x -t 3+8 -B -O cdr -S 10 audio
tambien se puede escribir de forma m�s abreviada de la siguiente
forma:
cdda2wav -D 0,2,0 -I generic_scsi -x -t 3+8 -B -O cdr
Si extraemos las pistas con la opci�n -O wav por defecto ser�n Little
Endian.
En la versi�n 1.0 de cdda2wav y en adelante para extraer las pistas de
audio directamente, aunque hayan otros tipos de pistas en el disco,
como por ejemplo una de datos al principio o al final, se ha de poner
tan s�lo esto:
cdda2wav -D 0,2,0 -I generic_scsi -B
al mismo tiempo, esto nos puede servir de ejemplo de como se pueden
extraer pistas para la secci�n ``DAO con cdrecord''.
Existe una variante del cdda2wav, llamada cdparanoia, de rendimiento
much�simo menor, pero que como su nombre indica, es muy paranoica con
la calidad de las pistas extra�das, puede resultar �til con CDs muy
estropeados.
6.3. Software de grabaci�n
6.3.1. cdrecord
La p�gina principal de cdrecord es
Puede obtenerlo por FTP de
ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/.
Este programa es m�s avanzado y actual que cdwrite, al estar en
desarrollo e incorporar soporte para las novedades del mercado actual,
a pesar de no soportar algunas unidades antiguas que s� lo hace
cdwrite.
La mayor ventaja de este programa es que funciona perfectamente con
las grabadoras IDE (con emulaci�n SCSI activada, por supuesto) y SCSI,
incluyendo m�s opciones como el soporte para regrabables y sus
comandos espec�ficos, como borrar un CD-RW, una partici�n, etc.
Permite visualizar las tablas de contenido (TOC, Table Of Contents),
que es donde se almacena la informaci�n sobre las pistas y el tama�o
de las mismas.
Esta tabla la genera el programa y se tiene que grabar para que se
pueda leer el CD, ya sea cuando haga un CD multisesi�n o al hacer un
CD normal o de CD-Audio.
Tambi�n puede grabar pistas CDI, en modo normal de datos data 1 y data
2, multisesi�n xa1 y xa2 de datos, y audio.
Otra funci�n muy �til es que puede realizar ciertas pruebas a la
unidad para comprobar sus capacidades y compatibilidad, etc.
Los comandos que m�s nos pueden interesar se detallan a continuaci�n:
-version
Muestra la versi�n del programa. Recomendada la versi�n 1.6.1
final, las que llevan a despues del n�mero son alphas y no es
recomendable usarlas. Para unidades tanto IDE como SCSI se
recomienda la 1.8aXX.
-v Muestra informaci�n mientras se ejecuta el programa para conocer
el estado de la grabaci�n (Muy recomendable ya que indica los Mb
grabados y el porcentaje de llenado del buffer).
-V Muestra los comandos SCSI mientras se ejecuta el programa.
-debug
Muestra mensajes para encontrar posibles fallos.
dev=destino
Especifica la situaci�n de la grabadora en el sistema SCSI. Hay
que especificarle el bus scsi, el ID SCSI del dispositivo, y el
LUN SCSI (Logical Unit Number, valor variable s�lo si se emplea
por ejemplo un lector m�ltiple de CDs, en donde 0 identificar�a
a la primera bandeja, 1 a la segunda, etc).
Un ejemplo frecuente ser�a 0,4,0 para el primer bus SCSI, el ID
SCSI 4 y el LUN de todo dispositivo no m�ltiple, 0. Si usamos
la emulaci�n SCSI o una unidad de puerto paralelo, siempre ser�
0,0,0.
-dummy
Con este par�metro indicamos que vamos a hacer un test de la
unidad y del sistema, simulando una grabaci�n para comprobar si
se realiza adecuadamente. Durante este test el l�ser de la
grabadora est� desactivado por lo que no correremos el riesgo de
perder un CD.
-multi
Esta opci�n es para indicar que vamos a hacer un CD multisesi�n,
es decir con varias pistas de datos. Este par�metro no puede ser
usado en unidades Sony ya que no llevan soporte hardware para
CD-ROM modo XA 2 por lo que se deber� de usar el par�metro -data
para este fin.
-msinfo
Esta opci�n nos permite ver la informaci�n que hay grabada en un
CD multisesi�n o con al menos una pista, mientras el CD no se
haya cerrado.
-toc
Muestra informaci�n sobre la tabla de contenidos del CD, este
par�metro puede ser usado tanto en las grabadoras como en los
lectores.
-fix
Esta opci�n es para cerrar un CD que no se haya cerrado antes,
si despu�s de haber grabado los datos no se ha escrito la tabla
de contenidos. De momento esto no funciona con las unidades
TEAC.
-nofix
Esta opci�n, usada en la l�nea de comandos es para que al grabar
un CD no se escriba la tabla de contenidos, para que no lo
cierre. Puede ser �til para grabar un CD por pasos o para grabar
un CD-Audio ya que hay lectores de CD-Audio que pueden leer CDs
sin cerrar, siempre y cuando no contengan adem�s datos. Los CDs
de datos sin cerrar no pueden ser usados por unidades lectoras.
-load
Esta opci�n es para cerrar la bandeja, luego sale del programa.
-eject
Esta opci�n permite expulsar el CD una vez grabado, hay unidades
como las Philips o las Yamaha que deben hacer esto.
speed=X
Esta opci�n es para indicarle a la unidad la velocidad a la que
debe grabar. El n�mero especifica el multiplicador de 150Kb/s
para datos y 172Kb/s para audio.
blank=opcion
Esta opci�n borra un CD-RW y sale, o bien borra antes de
continuar con una grabaci�n. S�lo puede ser usada por unidades
regrabables y con discos CD-RW. Las opciones se describen a
continuaci�n:
� help Muestra la ayuda.
� all Borra totalmente un disco. Esta opci�n tarda bastante
tiempo.
� disc o disk Borra un disco totalmente.
� fast o minimal Borrado r�pido del disco: Solo borra el TOC, los
pregaps y el PMA.
� track Borra una sola pista.
� unreserve Activa una pista reservada.
� trtail Borra la cola de una pista.
� unclose Abre una pista cerrada.
� session Borra la ultima sesi�n.
fs=
Esta opci�n especifica el buffer fifo para almacenamiento
intermedio de los datos, a fin de hacerlos llegar a la grabadora
sin retraso. Para facilitar las cosas puede especificar este
buffer con un n�mero seguido de b para indicarle bytes, k para
kilobytes, m para megabytes.
Por defecto tiene un buffer de 4 Mb. La recomendaci�n para el
tama�o del buffer es de entre 4 y 32 Megas, debiendo ser como
m�nimo igual al tama�o de buffer interno de la grabadora y como
m�ximo no superior a la mitad de la RAM f�sica del ordenador.
Lo normal es que no necesite poner m�s de 8 MB que es lo que yo
recomiendo. Si a�n as� aparecen mensajes como fifo empty count,
tiene problemas de configuraci�n o hardware. Ej: fs=8m.
driver=
Esta opci�n es para especificarle un driver concreto; para ver
la lista de todos los drivers simplemente especifique
driver=help. Si no se indica opci�n, cdrecord tratar� de
encontrar el driver m�s apropiado para la unidad. Si no lo
consigue, tendr� que indic�rselo; sepa que si el driver no es
absolutamente compatible corre un riesgo muy grande de perder el
CD.
-checkdrive
Esta opci�n busca el driver que corresponda a su unidad y
termina la ejecuci�n.
-prcap
Esta opci�n imprime las posibilidades de las unidades que
cumplan el est�ndar SCSI-3/mmc y sale.
-inq
Esta opci�n hace un examen de la unidad, imprime los resultados
en pantalla y sale.
-scanbus
Esta opci�n examina el bus SCSI en busca de unidades. Sirve para
buscar nuestra unidad.
-reset
Esta opci�n resetea el bus SCSI donde se est� nuestra grabadora.
-audio
Detr�s de esta opci�n se indican los nombres de los archivos de
sonido que ser�n grabados como pistas de audio, siempre y cuando
los archivos tengan una calidad de muestreo 44.100 Khz a 16
Bits, est�reo en alguna variante PCM; si no son as�, ser�n
rechazados por cdrecord. Acepta formato CDDA (tanto .cdda como
.cdr son extensiones v�lidas), .wav, .au y .raw.
cdrecord, si no se le especifica lo contrario, asume que el
orden de palabra es Big Endian, y convertir� autom�ticamente a
Little Endian si detecta que la grabadora lo necesita.
-data
Tras de esta opci�n se indica el nombre del archivo que
corresponde a la imagen ISO9660 que anteriormente hemos creado
con mkisofs u otro de los anteriormente descritos. Esta opci�n
viene por defecto, lo que quiere decir que si no la indicamos
grabaremos de esta forma.
-mode2
Si esta opci�n esta presente, todas las pistas de datos que la
sigan se grabar�n en modo 2.
-xa1
Si esta opci�n esta presente, todas las pistas que la sigan se
grabar�n en modo XA 1.
-xa2
Si esta opci�n esta presente, todas las pistas que la sigan se
grabaran en modo XA 2.
-cdi
Si esta opci�n esta presente, todas las pistas que la sigan se
grabaran en CDI.
Estos son los comandos que m�s se usan, para ampliar informaci�n puede
acudir al manual. Ahora unos ejemplos para que la cosa quede mas
clara:
cdrecord -scanbus
cdrecord dev=0,0,0 -checkdrive
cdrecord dev=0,0,0 -prcap
cdrecord dev=0,0,0 -inq
cdrecord dev=0,0,0 -toc
cdrecord dev=0,0,0 -msinfo
As� se realizan los test; en el primero se escanea el bus SCSI para
ver nuestra unidad, en los dem�s se toma que tenemos la unidad en el
dispositivo que corresponde al bus 0, id 0 y lun 0 para hacerle los
test a los que corresponde la explicaci�n anterior.
cdrecord dev=0,0,0 fs=8m speed=2 -nofix -eject -xa1 imagen.iso -audio audio1.wav audio2.cdda audio3.au
Aqu� podemos ver que le hemos puesto 8 Mb al buffer fifo, especificado
que grabe a doble velocidad, que expulse el CD una vez terminado, que
la primera pista es una imagen de datos en formato multisesi�n XA 1 y
las siguientes pistas ser�n de audio (este programa puede grabar
varios formatos de audio como el .wav de Microsoft, el .cdda, el PCM
en bruto o .raw y el .au siempre y cuando tengan una calidad de
muestreo de 44100 Hz a 16 bits, en est�reo). Y al final no ser�
escrita la TOC por lo que para hacerlo tenemos la siguiente l�nea:
cdrecord dev=0,0,0 -fix
Para grabar una sola pista de datos podemos usar esto:
cdrecord dev=0,0,0 fs=8m speed=2 -eject imagen.iso
Ya que como se dijo antes no hac�a falta especificar el par�metro
-data, que es el asumido por defecto.
Las nuevas opciones que incluye el ``cdrecord 1.8'' se describen en su
secci�n.
6.3.1.1. Par�metros configurables permanentemente de cdrecord
Como puede observar, es un poco latoso el tener que especificar datos
no cambiantes una y otra vez, como por ejemplo d�nde se encuentra la
grabadora, o la velocidad de grabaci�n ya que generalmente grabar�
casi siempre al m�ximo de velocidad.
Para no tener que especificarlo siempre en la l�nea de comandos,
cdrecord provee la posibilidad de establecer dichos par�metros por
defecto, mediante las variables de entorno CDR_DEVICE, CDR_SPEED y
CDR_FIFOSIZE.
Supongamos que su grabadora est� en el primer bus SCSI, y tiene el ID
4. (El LUN siempre va a ser 0). Y que quiere que la velocidad de
grabaci�n por defecto, a menos de que se especifique lo contrario
mediante par�metros de la l�nea de comandos, va a ser a doble
velocidad (2x) y el buffer de datos FIFO sea de 16 megabytes.
Establecer�amos dichas variables de entorno mediante la inserci�n,
generalmente en el fichero /etc/profile, de las siguientes l�neas,
suponiendo que utilice bash como int�rprete de comandos:
CDR_SPEED=2
CDR_DEVICE=0,4,0
CDR_FIFOSIZE=16m
export CDR_SPEED CDR_DEVICE CDR_FIFOSIZE
Dichas variables no estar�n disponibles hasta que el sistema relea el
fichero /etc/profile, lo mejor es reiniciar el terminal con un logout
o bien recargando el archivo con source /etc/profile. Si esto no
funciona, reinicie el sistema para salir de dudas.
6.3.1.2. Grabacion sin imagen
Ahora viene algo que puede interesar a m�s de uno, hacer un CD
directamente desde el disco sin necesidad de hacer una imagen previa.
He de advertir sobre este procedimiento y es que no se debe, por
ninguna circunstancia, acceder al disco que contenga el directorio
maestro con los ficheros a partir de los que se est� generando una
imagen directa al CD, ya que cualquier m�nimo retraso en la
transferencia de datos puede ocasionar que no se grabe el CD
correctamente a pesar de que durante la grabaci�n no aparezcan
errores.
El problema de que no se genere correctamente la imagen puede no
radicar necesariamente en que su disco duro sea lento, hay otros
factores como la memoria disponible: tenga en cuenta que por ejemplo
mkisofs necesita al menos 12MB de memoria para generar las extensiones
Rock Ridge.
Repito, no acceda al disco duro maestro durante la grabaci�n, peligro
de hacer un CD desde el que no se pueda leer ning�n dato sano, aunque
aparentemente se haya grabado bien; esto se puede comprobar editando
un archivo de texto y viendo como parte del archivo anterior o los
gaps se han introducido en ellos.
As� mismo recomiendo realizar esta operaci�n s�lo con versiones de
cdrecord superiores o iguales a la 1.6.1, y 1.12b5 de mkisofs , ya que
he comprobado que funcionan y se entienden mucho mejor, con mucho
menor peligro de realizar CDs corruptos.
Antes de grabar el CD debe realizar primero la siguiente operaci�n:
mkisofs -r -T -l -print-size -f /files
la cual nos facilitar� un n�mero, este n�mero se lo deberemos de pasar
en un par�metro al cdrecord para que nos reconozca el tama�o de la
imagen a grabar, ya que si no, cdrecord no tiene forma de saber cu�l
es el tama�o de la imagen. De esta forma, si por ejemplo, mkisofs nos
mostrar� la siguiente l�nea:
Total extents scheduled to be written = 290699
Para que cdrecord reconozca el tama�o de la imagen a grabar:
nice --20 mkisofs -r -T -l -f /files | nice --20 cdrecord fs=16m \
tsize=290699*2048 -eject -
O bien para multisesi�n:
nice --20 mkisofs -r -T -l -f /files | nice --20 cdrecord fs=16m \
tsize=290699*2048 -eject -multi - -audio audio1.wav audio2.wav audio3.au
N�tese que no especificamos ni la localizaci�n SCSI de la grabadora,
ni la velocidad de grabaci�n, ya que la hemos establecido con las
variables de entorno mencionadas anteriormente.
Seguramente se preguntar� el porqu� del nice --20 que hay delante de
cada uno de los programas. El comando nice sirve para asignar la
prioridad de ejecuci�n, y en este caso concreto establecemos la m�xima
posible.
Se preguntar� por qu� en la opci�n tsize del cdrecord multiplico por
2048 la cantidad dada por el mkisofs. La raz�n es muy simple, a partir
de la version 1.6.1 y 1.8 de cdrecord, hay que pasarle el tama�o en
bytes de la imagen, y debido a que realiza la multiplicaci�n �l mismo,
s�lo lo tenemos que multiplicar por el tama�o de cada sector de un CD
y listo.
Use esto con cuidado.
Y para terminar voy a indicar c�mo usar el programa con las grabadoras
IDE/ATAPI y de puerto paralelo, que por ejemplo al ejecutar la
siguiente linea nos muestre algo como lo siguiente:
# cdrecord -scanbus
Cdrecord release 1.6 Copyright (C) 1995-1998 J�rg Schilling
scsibus0:
0) 'HP ' 'CD-Writer+ 7200 ' '3.01' Removable CD-ROM
1) *
2) *
3) *
4) *
5) *
6) *
7) *
As� es como ve cdrecord nuestra grabadora, ya sea interna o externa,
por lo que para indicarle c�mo acceder a nuestra grabadora tendremos
que especificar el par�metro dev=0,0,0.
cdrecord dev=0,0,0 speed=2 fs=16m -v -dummy image.raw
Recomiendo usar la grabadora con una version de cdrecord 1.6.1, aunque
como se aprecia en el escaneado de muestra anterior hecho con la
versi�n 1.6, esta �ltima es capaz de usarla. Tambi�n es muy
recomendable hacer pruebas de grabaci�n para comprobar que no haya
falta velocidad en el puerto paralelo antes de proceder a la grabaci�n
final de CD-ROMs.
6.3.2. cdwrite
Puede obtener este programa (y casi todos los relativos a creaci�n de
CDs) de
ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/.
Este programa era el m�s utilizado hasta hace un par de a�os mas o
menos, (y el �nico que hab�a). Est� en actual desuso, ya que ha dejado
de desarrollarse y se ha quedado algo anticuado; de todas formas
funciona perfectamente en grabadoras SCSI a excepci�n de las Sony.
Si ha comprendido los comandos del cdrecord no tendr� problemas en
entender los de este programa ya que no tiene muchos. Una diferencia
que s� hay entre uno y otro es que para identificar la unidad
grabadora utiliza los dispositivos /dev/srX y no va directamente al
bus SCSI, lo cual puede resultar mas f�cil de usar.
Por defecto cdwrite busca /dev/cdwriter como dispositivo por defecto
de la grabadora, por lo que si hace un enlace simb�lico del
dispositivo /dev/sgX a /dev/cdwriter con el dispositivo de acceso
gen�rico correspondiente, (vea secci�n ``Dispositivos gen�ricos'') se
ahorrar� un par�metro m�s que poner.
cdwrite necesita que se le especifique el tama�o en bytes de la imagen
que va a grabarse; para saberlo, usamos el programa isosize (lo
podemos encontrar dentro del paquete de distribuci�n de cdwrite con
otras utilidades extra que nos pueden venir muy bien); si nuestra
imagen se llama imagen.iso:
# isosize imagen.iso
382060544
nos informa de que el tama�o es 382060544, par�metro que le
especificaremos posteriormente con -b.
podemos usarlo tambi�n con CD-Roms o particiones, si hemos generado la
imagen directa a una partici�n en lugar de a fichero:
isosize /dev/sda1
634986355
Si hemos volcado la imagen generada por mkisofs en la primera
partici�n del primer disco SCSI (con la opci�n -o /dev/sda1).
Algunos ejemplos de c�mo se usa cdwrite son:
cdwrite -ve -s 2 -b 382060544 -D /dev/sgd -data /dev/scd0
Copiar� directamente el CD que est� en el primer CD-Rom SCSI del
sistema a la grabadora, expulsar� el CD una vez listo, e ir�
informando del transcurso de la grabaci�n; 382060544 es el tama�o del
CD en cuesti�n, que hemos averiguado previamente mediante isosize.
cdwrite -s 2 -e -D /dev/sgd -b 382060544 -data image.iso -audio *.cdr
Grabar� un CD mixto de datos y audio, en donde el par�metro -s indica
la velocidad de grabaci�n (equivale al speed=2 del cdrecord), el
par�metro -e expulsa el CD al terminar (equivalente al -eject), el -D
indica la unidad grabadora, aunque si ha hecho un link de /dev/sgd
(por ejemplo) a /dev/cdwriter no hace falta que lo especifique; y por
�ltimo igual que en el anterior est�n los par�metros -data y -audio,
estando el formato de los ficheros de sonido en Compact Disc Digital
Audio (extensiones .cdda o .cdr); podemos pasarlo de otros formatos a
�ste mediante el programa sox.
cdwrite necesita que el orden de la palabra del fichero de audio sea
el apropiado para su grabadora, u obtendr� un CD en el que s�lo se
escuche un desagradable ruido.
Consulte la secci�n ``Software de extracci�n de audio''.
No podr� hacer CDs multisesi�n con este programa. Para hacer CDs
multisesi�n tendr� que usar las opciones que lleva el mkisofs para
este fin, generando una imagen multisesi�n.
6.3.3. cdrdao
Parece ser que se ha conseguido que este programa haga lo que se
quer�a, copiar CDs al vuelo, incluso los mixtos, de m�sica, y
ohhhhhhh, de �Playstation!. No dej�is de ver la secci�n dedicada a
este programa porque merece la pena.
6.4. Entornos Integrados
6.4.1. X-CD-Roast
Puede obtener este programa de
http://www.fh-muenchen.de/rz/xcdroast/.
Este programa es el m�s sencillo de usar ya que est� hecho para las X
con un interfaz TCL/TK y se basa en modificaciones del cdrecord y
mkisofs para su funcionamiento. En versiones anteriores utilizaba un
derivado del cdwrite, pero tuvo que dejarlo ya que cdwrite ha dejado
de desarrollarse.
La mayor ventaja que tiene este programa es su facilidad de uso y que
detecta y configura los dispositivos autom�ticamente, adem�s de
funcionar correctamente y sin problemas. Con �l puede configurar y
hacer las im�genes de CD f�cilmente sin necesidad de ir a la l�nea de
comandos, as� como extraer pistas de audio y volver a grabarlas
gracias a sus modificaciones del readcdda y playcdda (que s�lo se
pueden usar con dispositivos SCSI).
Si quiere sacar pistas de audio con un lector IDE lector ha de usar el
cdda2wav, aunque no todas la unidades lectoras soportan la extracci�n
de pistas CDDA o de CD-Audio.
Puede hacer una copia directa de CD a CD, siempre que sean s�lo de
datos, y que las dos unidades, la grabadora y la lectora, sean
dispositivos SCSI, ya que con las IDE no funciona muy bien, debido no
al programa en s�, sino mas bien por las caracter�sticas de las
unidades IDE, ya que no suelen satisfacer las capacidades de carga de
las grabadoras. Aun as� he llegado a comprobar como unidades del tipo
Philips IDE de 32x en adelante funcionaban perfectamente.
Lo normal es que no tenga problemas para grabar con este programa
siempre y cuando su grabadora sea SCSI, cuando sea IDE o usa la ultima
versi�n 0.96d final o superior o no conseguir� que salga ni un solo CD
bien.
6.4.2. Burn-It
Este entorno utiliza las �ltimas versiones de cdrecord, mkisofs y
cdda2wav, lo m�s peculiar sin duda es que esta escrito �ntegramente en
java; su desarrollo es muy r�pido.
Puede obtenerlo de
http://www.imada.ou.dk/~jews/BurnIT/.
6.4.3. CDR
CDR son las siglas de Create/Duplicate/Rip (Crear/Duplicar/Extraer).
Su utilidad actualmente es m�s que nada para la preparaci�n de audio
que posteriormente va a ser grabado con cdrecord o cdwrite desde la
l�nea de comandos. Provee una interfaz tipo ncurses. S�lo extrae de
unidades SCSI.
Puede obtenerlo de
http://www.burdell.org/cdr.shtml.
6.5. Otros programas y utilidades
Hay varias utilidades entre las que tengo que destacar sdir, isovfy,
cdinfo y isodetect, que son peque�as, de consola, pero muy �tiles a la
hora de comprobar y verificar CDs. Estas peque�as utilidades se pueden
encontrar en el FTP de sunsite
ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/ y otras que se
pueden encontrar tanto en el paquete de X-CD-Roast (secci�n ``X-CD-
Roast'') como en el de cdrecord (``cdrecord'').
Por ejemplo, sdir nos puede ayudar a saber el tama�o total de un
directorio y sus subdirectorios lo cual resulta muy �til cuando
queremos evaluar y calcular el tama�o del CD a copiar al vuelo; isovfy
nos sirve para verificar que no hayan errores en una imagen creada en
el disco duro; cdinfo nos puede ayudar a comprobar que se han copiado
bien los CDs y no s�lo eso, este peque�o programa muestra la
estructura de un CD en minutos y segundos, nos dice si es arrancable,
los sistemas de ficheros que contiene, si lleva pistas de audio o es
un v�deo CD, etc; por �ltimo, con isodetect podemos ver la etiqueta
del volumen de un CD as� como los comentarios de los mismos.
Descripci�n de las utilidades:
sdir
este programa muestra la capacidad de un directorio con sus
subdirectorios. Los par�metros a pasarle son directorios.
isodetect
programa para ver el volumen, el editor, el publicador y la
aplicaci�n de una imagen. Su sintaxis es la siguiente:
� -h Muestra la ayuda.
� -d y un nombre de un archivo de imagen o de un dispositivo le
indican en d�nde realizar la b�squeda; por defecto busca en
/dev/cdrom. Si no se indican mas par�metros indicar� el tipo de
imagen que es, iso9660 o HFS.
� -V muestra el nombre del volumen de la imagen o CD.
� -P muestra el comentario que hay como publicador.
� -p muestra el comentario que hay como preparador.
� -A muestra el comentario que hay como aplicaci�n.
S�lo se puede indicar un comando a la vez con -d. Este programa
se puede encontrar en el paquete X-CD-Roast (secci�n ``X-CD-
Roast'').
cdinfo
excelente y peque�a utilidad que nos muestra la estructura de un
CD; en lo que a pistas se refiere, identifica CDs mixtos,
arrancables, con sistema HFS, CD Plus, etc. (Altamente
recomendada y muy �til). La �ltima versi�n se puede descargar
desde
http://www.in-berlin.de/User/kraxel/dl/cdinfo.c
Desgraciadamente, parece ser que se ha abandonado su desarrollo.
isovfy
Esta peque�a utilidad nos servir� para encontrar posibles
errores en las im�genes. Su sintaxis es muy sencilla, solamente
se le ha de indicar un dispositivo de bloque o el nombre del
fichero imagen. Este programa viene en el paquete de X-CD-Roast
(secci�n ``X-CD-Roast'').
7. Software DAO y generadores de subc�digos.
7.1. cdrecord 1.8
Puede obtener la �ltima alpha del servidor FTP
ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/.
Descripci�n de los nuevos comandos para la nueva versi�n:
-useinfo
Utiliza los archivos de extensi�n .inf sobreescribiendo las
opciones por defecto.
-atip
Muestra la informaci�n referente al CD y sale. Esta informaci�n
tambien la ofrecia la version anterior pero s�lo cuando se
disponia a grabar.
-dao
Graba el medio en Disc-At-Once.
Ejemplo de como se usa la opci�n -atip se tiene en la secci�n
referente a crear un sistema ext2 con el ``mke2fs'' en un archivo.
Para usar la opci�n -useinfo necesitamos primero haber extraido con el
cdda2wav un CD-Audio al disco duro sin poner la opci�n -H.
cdrecord -v dev=0,3,0 fs=16m speed=4 -useinfo *.wav
Pues s�, cdrecord tambien graba en DAO, pero s�lo a partir de la
versi�n de desarrollo 1.8a20. La forma de usar cdrecord es
pr�cticamente la misma solo que para usar las caracter�sticas de la
grabaci�n en DAO ha de tener una grabadora que soporte MMC y utilizar
la opci�n -dao; salvo esto, puede usarlo como har�a normalmente.
Cuando utilizemos esta opci�n notaremos una forma distinta de grabar
los CDs. En primer lugar veremos una nueva frase que nos muestra el
cdrecord, Sending CUE Sheet. que nos indica que lo primero que est�
haciendo es escribir las separaciones de las pistas, los gaps y pregap
para luego grabar todo, incluida la TOC sin desactivar el laser de
grabaci�n. Gracias a esta opci�n se puede ahorrar unos segundos o
minutos si se tiene que grabar un CD con muchas pistas de audio.
Un ejemplo podria ser:
cdrecord -v dev=3,0 fs=16m speed=4 -dao /imagen.iso /audio/*.wav
y tambien si se pretende copiar directemente desde un CD
cdrecord dev=3,0 speed=4 fs=16m -v -dao -isosize /dev/sr0 -audio /wavs/*.wav
7.2. CD Builder
Prometedora aplicaci�n, con entorno gr�fico en X-Window, que permitir�
generar escaletas (cue sheets para la creaci�n de CDs, as� como de
subc�digos, como CD-G, CD-TEXT, etc.
En la actualidad est� en su primera etapa (alpha de desarrollo, aunque
dotado de cierta funcionalidad.
Puede obtenerlo de
http://www.ccs.neu.edu/home/bchafy/cdb/cdb.html.
Al parecer se ha abandonado el desarrollo de este programa.
7.3. cdrdao
Este programa ha evolucionado tanto que la copia en DAO y al vuelo
est� empezando a dar sus frutos. Es posible copiar CDs al vuelo sin
volcar los datos al disco duro incluso con las pistas de audio; el
problema en este �ltimo aspecto es que no soporta todas las unidades
lectoras a pesar de incorporar c�digo del CDParanoia para realizar la
extracci�n de audio.
Ech�ndole un vistazo a la documentaci�n se puede ver qu� unidades
est�n soportadas; tanto unidades grabadoras, incluyendo modelos SCSI e
IDE, como unidades lectoras que hayan sido probadas sin problema.
Tambi�n se pide que si su unidad est� soportada para extraer Audio con
cdparanoia, pero no con cdrdao, le env�e la informaci�n que se obitene
de ejecutar el comando cdparanoia -v a la direcci�n de correo del
autor, que tratar� de incorporarar su unidad lo antes posible.
Todo lo referente a las unidades soportadas se encuentra en el archivo
README del paquete del c�digo fuente. En el mismo paquete se
encuentran otras utilidades bastante interesantes que comentar�
seguidamente una vez explicados los comandos de esta utilidad.
La �ltima versi�n, recomendada y realmente funcional, la 1.1.3, se
puede obtener de
http://www.ping.de/sites/daneb/cdrdao.html.
Descripci�n de los comandos del programa:
Utilizaci�n del programa:
cdrdao comando [opciones] archivo-toc
comando
indicamos al programa qu� es lo que queremos hacer. Los
comandos disponibles son:
� show-toc Muestra la TOC y sale.
� toc-info Muestra una peque�a descripcion de la informaci�n del
archivo TOC extraido previamente.
� toc-size Muestra el n�mero total de bloques para la TOC.
� read-toc Crea un archivo TOC desde un CD.
� read-cd Crea el archivo TOC y extrae el contenido del CD.
� show-data Muestra el contenido de los datos y sale.
� read-test Realiza una prueba de lectura de todas las pistas y
sale.
� disk-info Mustra informaci�n sobre el disco que hay en unidad.
� unlock Desbloquea la unidad despues de un fallo de escritura.
� simulate Ya no se utiliza, ahora es write --simulate.
� write Graba un CD.
� copy Copia, esto se utiliza para la copia al vuelo.
opciones
Aqui se describen las diferentes opciones que soporta el
programa.
� --device (x,y,z) Especifica el dipositivo de la grabadora. Se
puede suprimir si existe un enlace simb�lico del dispositivo
correspondiente a su grabadora a /dev/cdrecorder. Se puede
indicar tanto la del dispositivo directo como el identificador
SCSI, ejemplo: 0,3,0 o /dev/sr1
� --source-device (x,y,z) Aqu� especificamos la unidad desde la
cual tomaremos los datos para realizar la copia. Se puede
especificar tanto un dispositivo como un identificador SCSI. Es
necesaria si usamos el comando copy.
� --driver (id) Forzamos al programa a usar un controlador
espec�fico para la grabadora.
� --source-driver (id) Forzamos al programa a usar un controlador
espec�fico para la unidad lectora. Es necesaria si usamos el
comando copy, aunque no si el programa identifica correctamente
esta unidad.
� --simulate Para realizar una copia con el l�ser desactivado, en
modo de simulaci�n o prueba.
� --multi No cierra el CD, para poder crear un CD multisesi�n.
� --eject Expulsa el CD una vez grabado.
� --swap Invierte el orden de palabra de las pistas de audio.
� --on-the-fly Realiza una copia al vuelo, no crea imagen.
� --datafile (archivo) Nombre del archivo de datos en donde se
encuentran los datos a los que hace referencia el archivo TOC.
Usado por read-cd, read-toc y copy.
� --buffers (n�mero) Expecifica el tama�o del buffer (min. 10).
� --session (n�mero) Selecciona la sesi�n para read-toc/read-cd.
� --fast-toc No extrae los pre-gaps ni las marcas �ndice.
� --read-raw Lee los sectores raw para read-cd.
� --paranoia-mode (n�mero) nivel de paranoia para la extracci�n de
audio (0..3).
� --reload Relee el disco si es necesario para grabar.
� --force Fuerza la ejecuci�n de la operaci�n.
� -v (n�mero) Expecifica el nivel de muestra de datos.
� -n (n�mero) No hace una pausa despu�s de grabar.
De aqui hay que comentar que el comando copy s�lo se usa para copiar
un CD directamente, si tenemos una imagen y la queremos copiar hay que
usar el comando write. Un tama�o muy recomendado del buffer es 64, y
de ah� en adelante, aunque con 64 creo que es m�s que suficiente.
7.3.1. Copia al vuelo de CD-ROMs.
Ahora una breve descripci�n de lo que m�s nos interesa del programa,
la copia directa (al vuelo) sin imagen.
cdrdao copy -v 2 --device 0,3,0 --source-device 0,1,0 --speed 4 --buffers 64 \
--reload --eject --on-the-fly --fast-toc
Este es el comando que utilizo para duplicar cualquier tipo de CD al
vuelo. Al ponerle la opci�n --fast-toc realiza una lectura r�pida de
la tabla de contenidos del CD, de lo contrario primero leer� y
comprobar� el CD fuente, lo que tardar� lo que necesite su lector, y
luego lo copiar�. Si le indicamos el susodicho par�metro, leer� la TOC
de forma r�pida y empezar� enseguida a copiar. El resto de par�metros
no necesitan de una explicacion m�s detallada.
Es recomendable que cuando se copie un CD de m�sica o mixto se utilice
de la siguiente manera con la opci�n --paranoia-mode:
cdrdao copy -v 2 --device 0,3,0 --source-device 0,1,0 --speed 4 --buffers 64 \
--reload --eject --on-the-fly --fast-toc --paranoia-mode 0
Con la opci�n --paranoia-mode le especificamos en que modo ha de ser
paranoico a la hora de extraer las pistas de audio, si le
especificamos 0, ser� lo menos posible y es el que se recomienda a la
hora de grabar al vuelo ya que se desactiva la verificacion de
errores, que como es normal, reduce la transeferencia de datos ya que
la unidad lectora se dedica m�s tiempo a comprobar los posibles
defectos de las pistas e intentar corregirlos que a pasarle los datos
a la grabadora, por lo que si no le ponemos este modo es muy posible
que se produzca un buffer underrun y perder el CD.
Si lo que queremos es que los verifique le indicamos modo 3 y ser� tan
paranoico que para extraer una pista de audio en un lector 32X SCSI
(como mi TEAC) tardar� m�s tiempo que dura la misma cancion al
reproducirla; con esto el programa se asegura de que no pierda calidad
y de correguir posibles errores en el CD. Este modo es recomendable
cuando tengamos algun CD en mal estado y la �nica forma de poder
grabarlo sea volcando primero a disco duro.
7.3.2. Extracci�n y grabaci�n de im�genes DAO con cdrdao.
Otra de las funciones que nos puede interesar muchisimo es la de
extraer una imagen al disco duro, como por ejemplo para lo dicho
anteriormente, para cuando tengamos algun CD que no podamos grabar al
vuelo por estar defectuoso, o bien, para grabarlo mas tarde. El
comando a utilizar es el siguiente:
cdrdao read-cd -v 2 --device 0,1,0 --read-raw --datafile imagen.bin imagen.toc
De esta forma conseguimos extraer una imagen en el archivo imagen.bin
del contenido del CD-ROM fuente y el en archivo imagen.toc almacenamos
la informaci�n que nos servir� posteriormente para poder grabar y
dejar el nuevo CD tal y como estaba el original. El comando a utilizar
es el siguiente:
cdrdao write -v 2 --device 0,3,0 --speed 4 --buffers 64 imagen.toc
Como habr� notado, no hemos indicado el nombre de la imagen ya que la
toma del archivo que contiene la informaci�n TOC. El indicarle la
opci�n --datafile con el nombre de la imagen es s�lo para
identificarla, por si tenemos m�s de una extraida en el disco duro;
sino, por defecto la imagen se llamar� data.bin. Si diese la
casualidad de que ya hubiera un archivo con el mismo nombre, el
programa detendr� el proceso mostrando una advertencia, indicando de
que ya existe el archivo.
Tambi�n se puede usar el cdrdao para copiar una imagen de datos que
hayamos hecho, pero no lo recomiendo; ya que primero tenemos que crear
un archivo TOC, cosa que resulta m�s laborioso que copiarla con el
cdrecord.
7.3.3. Scripts que acompa�an a cdrdao.
Se puede usar cdrdao para copiar archivo .wav, y que gracias a un
script en PERL que incluye en el directorio /contrib/wav2dao/ del
paquete del c�digo fuente podamos copiar dichas pistas sin que al
final de las mismas nos ponga 2 segundos de silencio.
Para obtener la ayuda del programa ponemos:
wav2dao.pl -H
Deberia funcionar simplemente con
wav2dao.pl -d /dev/sr0 -w -n *.wav
En el directorio de los fuentes /contrib/mp32dao/ encontramos otro
script en PERL para realizar de forma autom�tica la extracci�n de los
archivo Debido a la falta de algunos archivos en la distribuci�n del
PERL en mi sistema no he podido probarlo. Este script hace uso del
programa mpg123 que se encuentra en la mayoria de distribuciones del
mercado o bien por internet.
Puede que necesite completar su distribuci�n perl con m�dulos del CPAN
(Comprehensive Perl Archive Network)
http://www.cpan.org para hacer
uso de este script.
7.3.4. Duplicado de CD-ROMs de PlayStation con CDRDAO.
Por �ltimo tenemos en el directorio /contrib/psxcopy-x.y/ dos
programas y dos scripts para la extracci�n y copia de los dichosos CDs
de PlayStation. Lo siento por aquellos que quieran copiar dichos CDs
al vuelo, pero de momento no soportan dicha funci�n, tal vez mas
adelante, pero hay que reconocer que ya es un comienzo que por lo
menos se puedan grabar, �no?.
Pues bien, lo primero es compilar los dos programas que son necesarios
y luego instalarlos. Una vez compilados sin errores hacemos que los
scripts read-psx y write-psx sean ejecutables. Como son dos scripts
normales, habr� que editarlos y modicicar los par�metros para que
apunten a nuestra unidad lectora y grabadora respectivamente en cada
archivo. Una vez hecho eso simplemente introducimos el CD fuente en la
unidad lectora, tecleamos:
read-psx cd1
y una vez extra�do
write-psx cd1
7.3.5. A tener en cuenta
Hay m�s posibilidades pero las descritas anteriormente son las que son
m�s faciles de usar y que m�s nos pueden interesar. En pr�ximas
versiones ampliaremos el contenido dedicado a este fabuloso programa.
Tambien indicar que en el mismo paquete de las fuentes se encuentra un
interfaz para X, el problema es que no soporta la grabaci�n al vuelo.
ATENCION: Durante la utilizaci�n del programa para la duplicaci�n de
un CD-ROM al vuelo, no se podr� acceder de ninguna de las maneras a la
unidad. Si se intenta montar la unidad fuente, por ejemplo, el
proceso de grabaci�n terminar� con errores y el CD origen no se
completar�, perdiedo un disco. Esto se puede comprobar grabando un
disco en modo de pruebas o de simulaci�n y accediendo a la unidad
desde donde se obtienen los datos.
8. Preguntas de Uso Frecuente
8.1. megas para un CD 74 minutos. �Esto a que se debe? Cuando grabo
con cdrdao , muestra una capacidad de casi 750
Una curiosidad que se observa mientras se est� grabando un CD con el
programa es que en lugar de decirnos el tama�o de cada pista que se
est� grabando nos muestra una capacidad abismal del borde de los 750
megas para un CD 74 minutos completo.
Esto se debe a que la grabaci�n que ofrece este programa no es en
megas reales de ordenador sino en megas de CD, que en lugar de ser de
8/16/32 bits es de 12'5 bits, de ah� el tama�o. No tiene porque
asustarse, es completamente normal. Otra de las ventajas que he
podido apreciar es que ofrece mucha informaci�n sobre el CD antes de
realizar el proceso de grabaci�n.
8.2. disco duro deje de funcionar durante unos segundos. Me sale un
mensaje muy parecido al siguiente despu�s de que el
Me sale este mensaje despu�s de que el disco duro deje de funcionar
durante unos segundos:
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest}
hda: disabled DMA
ide0: reset: success
Tiene que recompilar el kernel y desactivar el soporte para el chip
Intel Trit�n (I/II) DMA, ya que su disco duro no soporta extracci�n
por DMA.
Esto puede ocasionar problemas a la hora de estar grabando un CD,
puesto que el disco duro se puede parar durante 6 a 9 segundos, hasta
que el kernel se da cuenta, resetea el IDE y desactiva la extracci�n
DMA para ese disco, (con las unidades de CD-ROM que no lo soporten
tambi�n) tiempo suficiente para que el CD pueda salir da�ado al no
llegarle constantemente los datos.
En el caso de estar emulando dispositivos SCSI es rotundamente
necesario desactivar dicha opci�n en el kernel ya que en el momento en
que pase, el bus se quedar� colgado al hacer interferencia el
controlador IDE y la emulaci�n SCSI, haciendo que no pueda leer de las
unidades al estar literalmente bloqueadas, por lo que el �nico remedio
suele ser apagar el ordenador.
8.3. �Hay alguna forma de hacer una imagen exacta de un CD al disco
duro que no sea copiar los ficheros del CD al disco y luego sacar la
imagen?
S�. Hay una forma de transferir una copia binaria de un CD
directamente a disco duro, haciendo simplemente un cat o dd del
dispositivo donde tenga la unidad lectora de CD (normalmente el enlace
/dev/cdrom) y redireccionando a un archivo o partici�n libre en el
disco duro; de esta forma podremos hacer una imagen exacta del CD si
no tenemos una unidad secundaria desde donde copiarlo, o si queremos
comprobar la legibilidad del CD.
Un ejemplo de c�mo se hace es
cat /dev/cdrom > imagenCD.iso
o
dd if=/dev/cdrom of=imagenCD.iso
una vez hecho esto s�lo tenemos que usar esa imagen para grabar y
obtendremos una copia exacta del CD original. Si el CD lleva pistas de
audio tendr� que extraer las pistas de audio primero a disco con un
extractor digital como cdda2wav, o readcdda, suponiendo que su lector
lo soporte, sino puede hacerlo desde la grabadora (ver secci�n ``�Se
puede usar la grabadora para leer o extraer?'').
8.4. �Se puede copiar de CD a CD (s�lo de datos) directamente sin
ning�n problema?
Efectivamente se puede copiar de CD a CD s�lo de datos sin ning�n
problema, pero eso s�, (el t�pico pero) no es nada recomendable hacer
la copia desde un CD IDE y sobre todo si la unidad lectora se para o
hace cosas raras. Para las grabadoras IDE no recomiendo (como ya dije
anteriormente) que ponga la unidad lectora en el mismo puerto IDE que
la grabadora. Si lo hace as�, h�gale muchas pruebas antes de proceder.
Para grabar directamente de CD a CD basta con indicarle al programa
grabador que la imagen la obtenga del dispositivo lector, es decir
/dev/scdX.
cdrecord -v dev=0,0,0 speed=2 fs=8M -isosize -eject /dev/sr1
En este ejemplo podemos ver c�mo se hace una copia directa desde la
unidad lectora a la grabadora (IDE en este caso), y si se da cuenta,
el par�metro -isosize es para forzar al programa grabador a que
determine primero el tama�o del CD imagen ya que por s� solo no lo
hace, e intenta leer los dos ultimos bloques, pudiendo resultar un CD
defectuoso.
8.5. �Puedo duplicar directamente un CD mixto o de audio?
Actualmente, solo un programas para grabaci�n de CDs bajo Linux
permite duplicar directamente un CD mixto (1 o varias pistas de datos
y una o varias de audio) sin extraer al menos las de audio a disco
duro gracias a que soporta duplicaci�n de tipo DAO (Disk At Once) y
OTH (On The Fly). Por supuesto, la unidad grabadora ha de soportarlo,
adem�s del programa; adem�s, el lector de CDRom ha de estar soportado
por el programa para poder extraer las pistas.
Ver secci�n ``cdrdao''.
8.6. �Puedo duplicar CDs en formato xa2? (Por ejemplo, de PlaySta�
tion)
La respuesta a si se puede duplicar un CD en mode xa2 es s�.
SI. �C�mo? �Ahora s�? Pues s�, gracias al cdrdao ahora es posible
duplicar CDs de PlayStation.
El problema de los CD-ROM de PlayStation es que incorporan un sistema
de grabaci�n basado en la pista 0. Esta pista est� grabada como de
datos y es err�nea desde el punto de vista del est�ndar ISO9660. No
obstante, con las extensiones de nuestros sistemas somos capaces de
leerlas. Al copiar con cdrecord la pista 0 pasa a ser pista 1; la
PlayStation no coge el CD, ya que el busca la pista 0 sin encontrarla.
Esa es la raz�n de usar un programa tipo DAO/OTH para hacer este tipo
de copias.
software/grabadora/lector que soportase duplicaci�n DAO, como ahora lo
hay. Ver secci�n ``�Puedo duplicar un CD mixto o de audio?''.
8.7. �Hay alguna FAQ gen�rica sobre CD-R o CD-RW?
S�. En ella puede consultar desde qu� tipo de CD-R v�rgenes son mejor
para qu� cosa hasta qu� grabadora es la m�s recomendable, o cu�les son
en realidad productos OEM basados en marcas conocidas.
Su autor es Andy McFadden, puede consultarla en
http://www.fadden.com/cdrfaq/
Eso s�, est� en ingl�s, aunque puede aprovechar el traductor de
Altavista:
http://babelfish.altavista.digital.com/cgi-bin/translate.
La traducci�n es un poco burda, pero menos da una piedra... :).
8.8. zumbido horripilante... He grabado un CD de Audio, pero al
escucharlo s�lo se oye un
Consulte la secci�n ``Software de extracci�n de audio'', Ha utilizado
el orden de palabra binaria endian equivocado para grabar ficheros de
audio.
8.9. Problemas con m�s de un dispositivo en controladoras SCSI NCR
Poseo una controladora Ultra-SCSI NCR 53c810a a la cual tenia
conectada la grabadora, y en las opciones de configuraci�n del kernel
me aparecen una serie de parametros opcionales que no recomiendan
ellos mismos que se activen, a no ser que los dispositivos den
problemas o cuelguen el sistema.
Pues bien, cuando ten�a s�lo la grabadora y estos tres par�metros
activados efectivamente el sistema se colgaba. Posteriormente adquir�
una unidad lectora SCSI para poder realizar duplicaciones directas,
pero en las duplicaciones aparec�an errores por todos sitios.
Me di cuenta de que la unidad lectora no funcionaba a todo su
rendimiento, asi que activ� todas las opciones del kernel para mi
controladora, solucionando el problema y comprobando que mi sistema no
se ca�a.
Pero los problemas no acabaron ah�, cuando intentaba extraer audio la
controladora se me colgaba, teniendo que resetear, as� que me puse a
recompilar el kernel de nuevo y cu�l fue mi sorpresa al ver que no
s�lo hab�a ese controlador para las tarjetas NCR de la serie 53c8xx.
El problema no era de la controladora sino del controlador que estaba
usando. Por lo tanto cambi� de controlador al m�s novedoso y
recomendable, el ncr53c8xx, solucionando el problema y dejando de
tener todos los inconvenientes anteriormente citados, funcionando todo
a la primera.
De aqu� deduzco que hay que fijarse mucho en todos los controladores
disponibles, ya que por ejemplo para las controladoras NCR hay m�s de
uno; familiar�cese con su controladora.
Esto es un ejemplo de lo que puede pasar si el controlador de su
dispositivo SCSI no corresponde lo mas recientemente con su
controladora SCSI.
8.10. �Como se crea un CD Mixto?
Para crear un CD en modo mixto, es decir, con una primera pista de
datos y las siguientes de audio hemos de crear una imagen de datos con
el mkisofs y tener las pistas de audio listas en alg�n directorio,
procediendo con cdrecord de la siguiente manera:
cdrecord -v dev=4,0 speed=2 fs=16m -eject image.raw -audio /wavs/*.wav
y si lo que queremos es copiar una CD de este tipo, lo primero es
extraer las pistas de audio al disco duro con, por ejemplo, el
cdda2wav y luego usar el cdrecord de esta forma:
cdda2wav -D 0,2,0 -B -t 2+9
cdrecord -v dev=1,0 speed=4 fs=16m -nopad defpregap=0 pregap=0 -isosize \
/dev/cdrom -audio *.wav
Las opciones que he incluido -nopad defpregap=0 pregap=0 nos sirven
para que el CD ocupe un poco menos al ser grabado y no grabar espacios
entre las im�genes. Recomiendo usarlas en las copias de CD mixtos y CD
Plus.
8.11. �Como se graba un CD multisesi�n?
ATENCION: No es posible crear CDs Multisesion con formato Joliet.
El asunto de un CD multisesi�n es complicadillo. Si comenzamos con que
hemos grabado una imagen digamos de 200 MB y tambi�n queremos grabar
otra de otros 200 MB a continuaci�n no podremos, es decir, primero
tendremos que grabar una, y despu�s crear la segunda imagen con unas
opciones que tenemos que sacar de cdrecord, pas�ndoselas a mkisofs
como muestra el ejemplo:
cdrecord dev=4,0 -msinfo
Para obtener el n�mero que hace falta, es decir, la informaci�n
multisesi�n del CD. S�lo funciona con CDs que hayan sido grabados con
la opci�n -multi. Entonces le pasamos a mkisofs el n�mero que puede
ser: 0,131456 de la siguiente forma:
mkisofs -v -a -C 0,131456 -r -R -T -V "CDROM" -N /imagen1.iso -o /imagen2.iso /files/.
Como se puede observar, tambi�n se ha incluido el par�metro -N con el
nombre de la imagen anteriormente copiada al CD, aunque si la hemos
copiado podemos indicarle el nombre del dispositivo en el que se
encuentra, si bien no he comprobado esto �ltimo.
Luego procedemos a copiar la imagen con el cdrecord de forma normal
con el par�metro -multi para que sea multisesi�n.
8.12. �Como se crea un CD Plus?
�Pero qu� es un CD Plus? Un CD Plus contiene primero pistas de audio y
al final una pista de datos. �Qu� raro no? �Y para qu� sirve? Se usa
de forma com�n para usar este tipo de CDs con lectores de CD-Audio
normales, �Ha probado a escuchar un CD de datos en un lector de CD-
Audio normal? Para crear este tipo de CDs lo primero es crear una
imagen sin archivos en ella, es decir, hacer una imagen b�sica desde
un directorio en el que no hayan archivos. Grabamos las pistas de
audio y la imagen b�sica que hemos creado con la siguiente sentencia:
cdrecord -v dev=4,0 speed=4 fs=16m -multi -audio *.wav -data imagen.iso
una vez grabada, obtenemos la informaci�n de multisesi�n del CD y
hacemos la imagen y la grabamos de la misma forma que est� explicada
en la secci�n ``�Como se crea un CD Multisesi�n?''.
8.13. �Se puede usar la grabadora para leer o extraer?
S�, pero es algo altamente desancosejable. Las razones:
� MTBF de una grabadora (su tiempo de vida �til) suele ser muy bajo
(unas 30000 horas) comparado con el de un lector de CD (unas
150000).
� El precio de un lector de CD IDE decente es aproximadamente de un
15% a un 20% respecto al de una grabadora, y entre un 20% y un 25%
si es SCSI.
� Las velocidades de lectura de los lectores suelen ser de 40x o
incluso 50x. Las de las grabadoras, no pasan de 10x.
De lo cual se deduce que no es nada rentable, por no decir efectivo,
malgastar la vida �til de una grabadora en emplearla como lector.
8.14. Tengo una grabadora HP-7500, y cdrecord me hace cosas raras...
Como por ejemplo, en un -scanbus:
bus, target: 0, ,0,0 0 'PIONEER ' 'CD-ROM DR-A02S ' '1.08' Removable CD-ROM
bus, target: 0, ,1,0 1 'HP ' 'CD-Writer+ 7500 ' '1.0a' Removable CD-ROM
0,,1,0 1,0 ('HP ' 'CD-Writer+ 7500 ' '1.0a' Removable CD-ROM) == 0,,1,0
1,0 ('HP ' 'CD-Writer+ 7500 ' '1.0a' Removable CD-ROM)
O fallos continuos...
Necesita aplicar un parche a cdrecord, y recompilarlo para que soporte
adecuadamente su grabadora.
En
http://www.guug.de:8080/cgi-bin/winni/lsc.pl puede obtenerlo.
8.15. CDRDAO no detecta bien mi unidad
La �nica soluci�n es leer bien el archivo README que acompa�a al
programa y comprobar si su unidad est� realmente soportada en la lista
que acompa�a. Si realmente no est� tiene la posibilidad de enviar un
mail al autor para que a�ada soporte para ella. Pero antes de hacer
eso, pruebe con todos los controladores de unidades que soporta el
programa, a lo mejor alguno de ellos funciona.
8.16. Sugerencias y peticiones
NOTA: Dejo este apartado tal y como est� para que se siga aportado
ayuda a otros programas que lo necesiten. Si bien el que mas promete
en este aspecto es cdrdao pido que el que pueda ayudar en su
desarrollo no deje de lado tal programa que nos ayudar� mucho si lo
aprendemos a utilizar. Referirse al apartado del programa ``CDRDAO''
Desde este documento pido la ayuda, dedicaci�n que cada uno pueda
aportar a la creaci�n/desarrollo de alg�n programa DAO (Disk-At-Once)
para la duplicaci�n de CD-ROMs, ya que es muy costoso y trabajoso la
creaci�n o duplicaci�n de CD Mixtos y de Audio, para que linux est� a
la altura de hacer las cosas como lo hacen programas de este tipo para
otras plataformas, como los conocidos DAO/CDRWIN de MS-DOS/Windows
respectivamente de la empresa Golden Hawk y Adaptec Easy CD/Pro.
9. Cr�ditos
�ste documento ha sido escrito por Leandro Terr�s
[email protected]
tras leer varios documentos en ingl�s, tanto el CDWriters-HOWTO como
los manuales de varios programas que he comentado y gracias a la
experiencia obtenida en este campo.
Otras partes de este documento son de incorporaci�n propia y pruebas
que he ido haciendo, a base de perder alg�n que otro CD con grabadoras
IDE, que es la parte m�s actual por la que se ha hecho �ste documento.
�ste documento es propiedad intelectual de Leandro Terr�s como parte
del Insflug, y del LDP (Linux Documentation Proyect). Para cualquier
modificaci�n, a�adidura, traducci�n, etc. p�ngase en contacto con el
autor.
Colaboraciones, a�adiduras y correcciones:
� Jorge de Diego Rodr�guez,
[email protected] por su inestimable ayuda en
la finalizaci�n del apartado sobre las grabadoras IDE/ATAPI por
puerto paralelo.
� Revisi�n, reestructuraci�n, formateo y ampliaci�n (SCSI,
extracci�n de audio), Francisco J. Montilla,
[email protected]
a los que desde aqui doy mis m�s sinceras gracias por la ayuda
prestada.
10. Anexo: El INSFLUG
El INSFLUG forma parte del grupo internacional Linux Documentation
Project, encarg�ndose de las traducciones al castellano de los Howtos
(Comos), as� como la producci�n de documentos originales en aquellos
casos en los que no existe an�logo en ingl�s.
En el INSFLUG se orienta preferentemente a la traducci�n de documentos
breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs.
:) ), etc.
Dir�jase a la sede del INSFLUG para m�s informaci�n al respecto.
En la sede del INSFLUG encontrar� siempre las �ltimas versiones de las
traducciones �oficiales�: www.insflug.org. Aseg�rese de comprobar
cu�l es la �ltima versi�n disponible en el Insflug antes de bajar un
documento de un servidor r�plica.
Adem�s, cuenta con un sistema interactivo de gesti�n de fe de erratas
y sugerencias en l�nea, motor de b�squeda espec�fico, y m�s servicios
que estamos trabajando incesantemente para a�adir.
Se proporcionar� tambi�n una lista de los servidores r�plica (mirror)
del Insflug m�s cercanos a Vd., e informaci�n relativa a otros
recursos en castellano.
En
http://www.insflug.org/insflug/creditos.php3 cuenta con una
detallada relaci�n de las personas que hacen posible tanto esto como
las traducciones.
�Dir�jase a
http://www.insflug.org/colaboracion/index.php3 si desea
unirse a nosotros!.
Francisco Jos� Montilla,
[email protected].