Página siguiente Página anterior Índice general

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 y 98 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 o incluirlos en el kernel de arranque y una cosa menos que hacer.

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 El formato HFS (Hierarchy File System).

El formato HFS (Hierarchy File System) es el formato estandar de los sistemas Mac OS que corren sobre maquinas Macintosh de Apple Computer. El tipo de partición es el mismo indistintamente si la maquina en si es un Motorola 68k (aka 68000) o un PPC.

Actualmente existen dos tipos de sistemas HFS, el sistema HFS y el HFS+, las particiones HFS son legibles desde todas las versiones del Mac OS, y las particiones HFS+ son legibles desde las version 8.1 en adelante del mismo sistema.

El sistema HFS+ no puede ser leido en maquinas Linux ya que el kernel no lo soporta, y las utilidades que existen tampoco pueden leerlo. Por fortuna los CDs en formato HFS suelen ser de tipo HFS estandar.

Las especificaciones de las particiones HFS en cuanto a bloques de datos son:

Por regla general todas las particiones HFS son arrancables. Debido a la estructura del Mac OS se podría hacer un CD arrancable en formato HFS sin la necesidad de crear un CD con el sistema El Torito (ver seccion de FAQ).

Las particiones HFS son bastante mas distintas de las particiones de Linux o Windows, ya que estan divididas en tres partes que voy a explicar a continuacion.

Data Fork.

El Data Fork (DF, de aqui en adelante) es el compartimento de datos. Aunque suene raro, en realidad se trata de un almacenamiento de datos brutos sin codigo ejecutable como textos, fotos, archivos diversos, o programas Linux/*NIX, Windows, Dos, etc...

Para dejarlo mas claro, el DF es lo que usted ve cuando habre cualquier archivo (ejecutables incluidos) con un editor de texto en cualquier sistema Linux o Windows. Eso significa que podremos grabar archivos (ejecutables incluidos) de Linux o Windows en un partición HFS, pero el Macintosh donde vamos a usar el CD los reconocera como archivos de texto o como archivos de PC génerico.

Bajo Linux, al montar una partición HFS veremos los archivos como no ejecutables y al abrirlos solo estará su DF.

Resource Fork.

El Resource Fork (RF de aqui en adelante) es propio del Mac OS, y por lo tanto es parte propia de las particiones HFS. En el resource fork se almacenan las partes ejecutables de las aplicaciones. Suelen contener cosas como el código binario a ejecutar, las fotos que contienen las ventanas de la aplicación, los menús, los strings de las aplicaciones, etc...

Por lo general las aplicaciones de Mac OS no suelen tener DF, ya que todo esta en su RF.

Al montar la partición HFS bajo Linux el RF de los archivos estará en la carpeta ".resource.frk" con el mismo nombre que el archivo al que pertenecen.

IMPORTANTE: NO INTENTE MOVER LOS ARCHIVOS QUE ESTAN EN UNA CARPERA ".resource.frk" FUERA DE ELLA, o la próxima vez que monte el volumen en un sistema Mac OS podrían pasar cosas indeseables como PERDIDA DE TODOS LOS DATOS DE LA PARTICIÓN AL INSTANTE. Por lo general solo se etropea el archivo al que pertenece el RF, pero a veces el sistema no puede montar el volumen de la forma adecuada y el mapa de particiones (ver mas abajo) se pierde.

Finder Data.

El Finder Data (FD de aqui en adelante) también es típico del Mac OS y de sus particiones. El programa "ejecutor" (shell) del sistema se llama "Finder" y el FD contiene los datos que los diversos archivos y programas pasan al Finder al abrirlos. También contiene la información de lo grande que es el archivo, donde se encuentran sus segmentos, el comentario, la fecha de creación, el tipo y el creador.

El FD se encuentra en la carpeta ".finder.dat" con el mismo nombre que el archivo al que pertenece.

IMPORTANTE: lea el IMPORTANTE del Resource Fork. Es lo mismo, pero aplicado al Finder Data.

Apple Partition Map.

El Apple Partition Map (APM) es el mapa de particiones del volumen. Por lo general al grabar el CD se grabara un APM como una minipartición (16 Kb en adelante) en el mismo. El APM suele estar situado en los primeros sectores del disco, pero podria estar en cualquier sitio. (NO RECOMENDABLE). NO intente MODIFICAR el APM bajo ningun concepto, o podria tener graves problemas al intentar montar el volumen (kernel core, kernel panic, perdida de datos en la particion principal "/", bajo Linux; y no reconocimiento del volumen bajo Mac OS).

Apple Driver.

El Apple Driver (AD) es otra minipartición que indica como se debe de comunicar el ordenador con el disco en cuestión. Suele estar situado al principio de la unidad, justo después del APM, pero podría estar en cualquier otro sitio del disco (NO RECOMENDABLE). Un disco podría tener varios AD instalados, dependiendo de si hemos usado algun software especial para particionarlo. Por lo general bajo Linux no vamos a usar software especial para crear particiones en un CD, y menos si se trata de un CD HFS.

NO intente MODIFICAR el AD bajo ninguna circunstancia o las consecuencias serán peores que en el caso del APM (kernel core, kernel panic, perdida de datos en la partición principal "/", bajo Linux; y no reconocimiento del volumen y posible perdida de datos en todos los volumenes montados bajo Mac OS).

Modificaciones del kernel.

Como norma general el software de grabación de CD no monta los CDs mientras los copia (de CD a CD), pero si yo deseo hacer una imagen con archivos de distintas partes (CD, discos Linux, discos DOS/Windows, etc..) deberia tener algun modo de montar la particion HFS del CD del que copiare algunos datos, pero no su totalidad. Por otra parte me gusta siempre montar un CD justo despues de realizar la copia para ver si esta bien grabado y si funciona correctamente. El kernel de Linux soporta y lee y escribe perfectamente los volumenes HFS, si habilitamos esa opción.

Para una correcta configuración debemos activar la opcion "Apple Macintosh Filesystem Support" en la seccion "Filesystems" y también tenemos que habilitar la opción "Macintosh Partition Map Support" en la sección "Partition Types" del menú de configuración del kernel. Recomiendo que se incluyan esas opciones directamente en el kernel debido a que usadas como modulos suelen dar problemas.

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 (hablando de Linux), 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, http://trylinux.com/projects/udf para obtener todo la información sobre el proyecto de implementación del sistema UDF en linux y http://linux-udf.sourceforge.net 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.

Para las versiones del nucleo 2.4 se estan realizando una serie de parches que nos permitirán utilizar el sistema de grabación packet writing hasta en unidades IDE/ATAPI sin necesidad de emular SCSI con ellas. Con versiones anteriores al nucleo 2.3.99 no funcionarán estos parches devido a que han cambiado la estructura del soporte de unidades de CD grabables de la que podremos disfrutar en breve. Para el momento en que este sistema funcione mas o menos decentemente lo incluiré como novedad.

Quien quiera investigar por su cuenta puede acceder a la siguiente dirección FTP desde la cual descargarse los parches, que solo funcionan con las versiones 2.3 del nucleo de Linux de desarroyo hasta su implementación final en el nucleo 2.4. La dirección desde donde descargarse los parches y las utilidades cdrwtools y pltcdvd para el formateado en UDF de discos CD-RW y DVD es ftp://ftp.kernel.org/pub/linux/kernel/people/axboe/packet.

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


Página siguiente Página anterior Índice general