Lihuen
RSSRSS AtomAtom

Construyento Lihuen 3 Live CD

Diseñando Lihuen v3 Live

Que es un live CD?

Un live cd es un sistema diseñado para modificar u alterar el entorno de trabajo en el cual se esta trabajando u ejecutando (Aunque puede ser alterado por voluntad propia). Todo el sistema raíz ?/?, es comprimido por medio de un sistema de archivos llamado SQUASHFS también existe la posibilidad de trabajar con un nuevo sistema de archivos llamado SQUASFS-LZMA . El sistema completo es cargado en RAM, mediante la ayuda de AUFS, un derivado de UNIONFS, al ser cargado en ram las escrituras, modificaciones de todo el sistema se pierden al reiniciar, esto hace a este tipo de sistema útil para realizar actividades de rescate, simulación, testing, etc.


Como construir un sistema ?X? ?

La construcción no es relativa depende de lo que realmente queremos , sea un sistema completo, un sistema mínimo, un sistema particular con aplicaciones especificas, un sistema con kernel especifico para pruebas de detectación de hardware, etc. Todos los pasos requieren de un conjunto de aplicaciones y configuraciones necesarias para la construcción del sistema funcional y completo.

Hoy en día Linux cuenta con un conjunto de aplicaciones dedicadas a la construcción y manipulación de sistemas live, algunos cuentan con un gran conjunto de paquetes, otros con simples conjuntos paquetes, otros con simples configuraciones. A continuación se listan aquellos que creo relevantes para empezar a conocer y diseñar pequeños sistemas:


Actualmente dejo de lado la mayoría de los mencionados sacando lo que creo mas adecuado de cada uno, mientras que el desarrollo completo en lihuen esta basado en sidux.

Sidux es una distribución basada en debian sid, esta distribución es una de las que mas he elogiado por rapidez, potabilidad, documentación, soporte, reconocimiento de hardware, similitudes, etc. Todas estas cualidades hacen de su distribución de paquetes una verdadera fuente de trabajo diaria & desafiante a la hora de soportarlo a lenny. Si bien el manejo elegido para estos paquetes no es completo solo se eligieron algunos que fueron considerados necesarios para cumplir con nuestro objetivo.


Elementos necesarios para la construcción:

1.Kernel con soporte Aufs & squashfs.
2.Herramientas que acompañan Aufs & squashfs.
3.Grub x version.
4.Conjunto de paquetes minimos del live.
5.Debootstrap o una imagen raiz la cual se usara para crear nuestro live.
6.Herramientas para entornos JAIL.
7.Conocimiento para manejo de manipulación del sistema dentro de un jail, sean estos:
 * Manejo del initrd, creación, modificación.
 * Manejo de montaje & desmontaje de unidades virtuales.
 * Manejo de administración de procesos virtuales.
 * Manejo de serviciós virtuales.
 * Manejo en manipulación de paquetes: Creación, modificación.
 * Manejo de herramientras como: dpkg, apt,aptitude,synaptic etc
 * Manejo de archivos temporales.
 * Manejo del administrador de servicios de arranque.
 * Manipulación de archivos rc.S* y archivos contenidos en el init.d.

Lihuen actualmente cuanta con un conjunto de paquetes y archivos necesarios para la creación de un liveCD.

* blktool
* ceni
* distro
* lihuenconfig
* lihuen-distro-defaults
* lihuen-fll-installer
* lihuen-fll-iso2usb
* lihuen-fll-live-initramfs
* lihuen-fll-live-initscripts
* lihuen-fll-live-utils
* lihuen-fll-live-xorgconfig
* lihuen-live-instalador
* lihuen-scripts
* python-central
* python-volumeid
* setpassword
* slim
* udev-config-lihuen


Nota: Esta lista esta siendo revisada constantemente por razones de control de paquetes y modificaciones.


A continuación partiré de la creación de un sistema base mediante la herramienta debootstrap, la cual creare y manipulare como ejemplo de observación.

Herramientas necesaria creación de chroot:

* Debootstrap.
* Kernel-2.6.
* Módulos squashfs.
* Herramienta squashfs-tools.
* Módulos aufs.
* Herramienta aufs-tools.
* Grub2.
* Genisoimage.


Ahora con el siguiente comando siendo root crearemos el sistema.

#debootstrap --arch i386 lenny chroot-base http://ftp.debian.org

Nota: Es importante tener en fstab /etc/fstab la unidad correspondiente como defaults, ya que existen problemas cuando esta montada como noexec,nodev etc.


Esto tardara de acuerdo a su velocidad de conexión o si usted dispone de un repo local solo tardara unos poco minutos. Una vez terminada la construcción del sistema base pasamos instalar los paquetes para un arranque live mínimo de consola.

una vez concluida tendremos en nuestro directorio actual la carpeta chroot-base, ahora tenemos que dar vida a este sistema, con lo cual necesitaremos la ayuda de nuestro sistema en ejecución; su trabajo sera proveernos de configuración en tiempo de ejecución,dispositivos y carpetas esenciales para la manipulación del chroot. Lista de archivos y capetas necesarias para ser incluidas dentro del chroot:

* /etc/resolv.conf.
* /proc.
* /dev.
* /sys.
* opcional /var para ejecutar entorno gráfico dentro del chroot.


Nota: Seria recomendable que se encuentre ejecutando el mismo kernel que tiene pensado para construir dentro de su chroot; porque en algunas configuraciones al leer /proc este resolvera que su versión de kernel es gual o diferente a la que se encuentra en ejecución, de manera tal que no configurara algunos pasos esenciales.

Ante cualquier duda o inconveniente no dudes en escribirnos un email a 
 soportelihuen arroba linti.unlp.edu.ar (Sin los espacios)
 O visitar nuestros Foros.
 http://lihuen.linti.unlp.edu.ar/foros