Remasterización de un Debian Live, 311207



Herramientas y Consideraciones
  • Imagen ISO o un CDROM de la versión Live etch de Debian
  • Almenos 2.5 GBytes disponibles en disco duro
  • rsync, módulo de kernel squashfs, QEMU
  • Las rutas son relativas al home de root del host
  • El promt H:~# es el símbolo del sistema host
  • El promt L:~# es el símbolo del sistema live a crear


Extracción y Preparación del Sistema de Archivos

Para acceder a los archivos del Debian Live, es necesario primero descomprimirlos. Para ello se puede montar el CDROM o de igual forma se puede montar la imagen ISO. Consideremos que se cuenta con la imagen ISO y el archivo se llama debian-live.iso.

H:~#mount -o loop debian-live.iso /mnt

Es recomendable crear un árbol de directorios de trabajo:

H:~#mkdir debianLive
H:~#mkdir debianLive/cdrom
H:~#mkdir debianLive/source

Ahora, se copiarán todos los archivos contenidos en Live CD a nuestra ruta de trabajo:

H:~#rsync -ax /mnt/. debianLive/cdrom

Desmontamos la imagen:

H:~#umount /mnt

El sistema de archivos se puede descomprimir y extraer de varias formas, una de ellas es utilizando la herramienta extract_compressed_fs,  otra es por medio del sistema squashfs, ambas se pueden instalar con las herramientas de debian. Utilizaremos la segunda herramienta.

H:~#mount debianLive/cdrom/casper/filesystem.squashfs /mnt -t squashfs -o loop

Ahora copiamos el sistema de archivos a nuestra ruta de trabajo para su gestión:

H:~#rsync -ax /mnt/. debianLive/source
H:~#umount /mnt



Modificación del Sistema de Archivos

Las modificaciones al sistema de archivos se pueden realizar de varias formas, la más sencillas es por medio de las herramientas tradicionales: dpkg, apt, dselect. Para ello, llevaremos el sistema de archivos del Live CD a un shell por medio de chroot.

H:~#chroot debianLive/source

Para diferenciar el sistema host del  Live CD, cambiaré el color de la fuente del último.

Las herramientas tradicionales para la gestión de paquetes en debian, pueden tomar diferentes fuentes: DVDs, repositorios locales, respositorios en internet, etc.  En el caso de que se requiera tener acceso a los repositorios de debian en internet, montamos el proc del sistema Live CD y probamos el acceso a los dispositivos de red:


L:/#mount -t proc /proc proc
L:/#ifconfig

El sistema Live CD tomará la configuración de los dispositivos de red del host (/proc/net/dev),
sin embargo, para la resolución de nombres deberá de cambiar por la del sistema host:

H:~#cp /etc/resolv.conf debianLive/source/etc

En general cualquier archivo se puede copiar del host al Live CD de la forma anterior.

Probamos la lista de repositorios del Live CD:
 
L:/#apt-get update

En este momento es posible instalar, remover o actualizar paquetes del sistema Live CD por medio de las herramientas tradicionales. Por ejemplo quitaremos el OpenOffice:
 
L:/#apt-get remove openoffice.org*


Un reto a vencer es quitar e instalar lo que uno desea, pero que al final el CDROM no exceda los 700MB, de lo contrario debería de llamarse Live DVD. Se pueden eliminar del Live CD:
evolution, evolution-data-server, gnome-games, gnome-games-data, sun-java5-demo, ttf-arphic-ukai
ttf-arphic-uming, ttf-baekmuk, festival, festlex-cmu, festlex-poslex, festvox-kallpc16k

Como ejemplo se puede crear un Debian-Live-GHDL, es decir un Debian Live CD con soporte
al compilador de GHDL y su visualizador GTKWave. Para ello es necesario instalar entre otras cosas
los compiladores de C y C++, GTK2, libbz2, etc.

Aquí se puede consultar el proceso de instalación de GHDL en Debian.


Una vez hechos los cambios deseados, se deberá desmontar el /proc y terminar la sesión del
chroot en el Live CD:


L:/#umount proc
L:/#exit



Creando y Comprimiendo el Sistema de Archivos

Una vez realizados los cambios se procede a comprimir el nuevo sistema de archivos. Es posible comprimir y sustituir el sistema de archivos con los comandos:

H:~#rm debianLive/cdrom/casper/filesystem.squashfs
H:~#mksquashfs debianLive/source debianLive/cdrom/casper/filesystem.squashfs

La creación y compresión tomará el tiempo suficiente para preparar y disfrutar un café.



Creando la Imagen ISO

Para la creación de la imagen solo es necesario considerar los modificadores necesarios:

H:~#mkisofs  \
-r      \
-V "Debian Live GHDL" \
-cache-inodes \
-J   \
-l   \
-b isolinux/isolinux.bin  \
-c isolinux/boot.cat  \
-no-emul-boot  \
-boot-load-size 4 \
-boot-info-table \
-o debianLive/debianLiveGHDL.iso debianLive/cdrom

 



Prueba

Se puede "quemar" la imagen ISO en un CDROM o en un DVD, sin embargo también se puede utilizar QEMU con la imagen ISO:

H:~#qemu -cdrom debianLive/debianLiveGHDL.iso