Crear una image ISO aleatoria usando dd

Me gustaría crear un file ISO para probar unidades ópticas con el método mencionado aquí . Quiero crear un file ISO lleno de datos aleatorios, para poder grabarlo en un CD, leerlo y compararlo con el ISO original. Creo que el command de abajo hará lo que yo quiera.

dd if=/dev/urandom of=cd-rom_test.iso bs=2048 count=333000 

Sin embargo, no estoy seguro de algunas cosas.

Antes que nada, ¿cuál debería ser el tamaño del bloque? ¿Las imágenes ISO incluyen el encabezado y los datos de corrección de errores que están en un CD? ¿Debe el tamaño del bloque ser 2048 (sin encabezado y corrección de errores) o 2352 (con encabezado y corrección de errores)?

En segundo lugar, algunos sitios que he encontrado tienen sync en la opción conv (ejemplo aquí ). Que, por lo que puedo ver, llena el encabezado y la información de corrección de errores con 0, lo que seguramente no es correcto.

Como está escribiendo en un file con dd , el tamaño del bloque no cambiará la salida resultante. El tamaño de bloque solo importa cuando se escribe en dispositivos.

Está leyendo desde un dispositivo que nunca devolverá lecturas cortas, por lo que no necesita usar la sync para bloquear bloques.

En cualquier caso, dd no tiene acceso de lectura o escritura a los datos de corrección de errores. Al igual que con los medios magnéticos, el disco gestiona esos datos y solo ve los bloques corregidos con errores.

En function de lo que ha descrito, debe hacer algo como esto:

 dd if=/dev/urandom of=testfile bs=1M count=699 mkisofs -o test_cdrom.iso testfile 

Una vez hecho esto, puede leer y escribir desde y hacia los medios ópticos al contenido de su corazón.

Una cosa que sugeriría es que en lugar de probar previamente los medios ópticos y luego intentar escribir el ISO real y luego verificar que también podría escribir los datos del objective ISO una vez, ya que le dará exactamente el mismo resultado que está intentando. para lograr sin perder time en Write->Read->Verify->Format

Crear una image hecha de bytes aleatorios no es una buena idea, ya que da como resultado un sistema de files ISO 9660 obviamente inválido. En su lugar, debe crear un gran file aleatorio que aún pueda colocarse dentro de un sistema de files ISO válido. Luego, grabe esta image ISO y lea el contenido del CD para compararlo con el file original en el disco duro, por ejemplo, con md5sum o sha1sum . Si las sums de comprobación son las mismas, entonces su unidad está bien tanto para escribir como para leer CD.