“Herramientas como Linux From Scratch, NimbleX Live CD Generator, sistema de imágenes Kiwi y Ubuntu Cutomization Kit nos ayudan a crear nuestros propios sistemas Linux a medida.”
Klaus Knopper
Este mes se examinan en una serie de artículos herramientas para crear sistemas Linux Live CD a medida, en concreto:
- Proyecto Linux From Scratch, para construir nuestra distribución desde cero
- NimbleX, página a medida donde crear un sistema en CD a medida
- Kiwi de Suse
- Ubuntu Customization Kit (UCK)
Este artículo trata por encima los problemas y sus posibles soluciones a los que se ha enfrentado la quizás madre de todas las distribuciones Live, por nombre Knoppix.
¿Por qué crear un Live CD?
Arrancar desde CD o DVD
Opciones para diseñar un CD/DVD arrancable:
- Poner una imagen de un floppy de arranque en el CD y configurar el modo floppy emulation mode.
- Usar una imagen de disco duro
- Iniciar un programa bootloader en el CD, en modo no emulation.
Isolinux.bin es un bootloader (al igual que lilo y grub) usado para arrancar desde sistemas de archivos ISO 9660 CD-ROM, perteneciente al proyecto Syslinux.
Listado 1: Crear una imagen de CD ISO Arrancable con mkisofs
Listado 2: isolinux.cfg
SysLinux. Un equivalente de isolinux para dispositivos tipo disco duro formateados en DOS (pendrive USB y memorias flash).
El problema Sólo-Lectura
Crear un espacio de escritura para el sistema, generalmente /home y /tmp, aquneu en algunos casos puede resultar necesario /var y /etc
Soluciones Propuestas
- Copiar solo los archivos con mayor probabilidad de cambiar en el disco RAM inicial.
- Hacer que ciertos direcorios se puedan escribir y crear enlaces simbólicos a los archivos en su interior. Para programas que usan escritura directa en el enlace simbólico, los archivos deberían copiarse de manera manual al disco RAM inicial.
- Sobreponer un disco RAM en escritura con información en solo lectura.
UnionFS y AUFS
UnionFS elimina la separación estricta entre directorios e información accesibles en escritura y no accesibles en escritura.
AuFS es un reescritura completa con las funcionalidades básicas de UninFS.
Detección y Configuración de Hardware
Un Live CD debe contener un Kernel que no sea específico para una arquitectura, con el mayor número de drivers posibles como módulos.
Para mejorar la velocidad de detección , la mayoría de los drivers IDE y SATA necesarios para CDROM se compilan directamente dentro del Kernel, mientras que el resto (SCSI, USB, sonido, etc) se cargan como módulos.
Udev (detección de hardware dinámica y administrador de dispositivos) y hwsetup (utilidad responsable de cargar módulos del núcleo Linux, basados en dispositivos PCI, que carga los drivers y configura los enlaces simbólicos de manera independiente a Udev) se encargan de activar los periféricos.
La creación automática de archivos de configuración, suele conseguirse utilizando scripts que funcionan a partir de plantillas e información específica de los chipsets obtenida mediante sondeos DDC y el subsistema PCI.
Conclusión
Con el sistema de archivos Union, el sistema funciona de forma parecida a una instalación en disco duro.
Otra forma de crear distribuciones Live es utilizando algunos de los scripts existentes para crear una Live CD rapidamente como por ejemplo Linux Live.