jueves, mayo 15, 2008

LiveCD a partir de Ubuntu

Después de un tiempo buscando información por la red de como crear mi propia distribución LiveCD ya estoy en condiciones de escribir el artículo definitivo en el que cualquiera será capaz de crear en unos sencillos pasos su distro.
Lo primero que necesitamos es parchear las fuentes del kernel para añadir soporte para el sistema de ficheros SquashFS, para ello nos bajamos el parche desde este enlace.
Lo descomprimimos:
tar xvzf squashfs3.3.tgz
cd squashfs3.3/kernel-patches

Elegimos el parche de nuestro kernel, en mi caso la serie 2.6.24:
cp linux-2.6.24/squashfs3.3-patch /usr/src/linux
cd /usr/src/linux
patch -p1 <> Miscelaneous --> SquashFS

Recompilamos el kernel habilitando el sistema de ficheros SquashFS:
Filesystem --> Miscelaneous --> SquashFS

Reiniciamos con el nuevo kernel.

También nos harán falta algunas utilidades, así que las instalamos:
apt-get install squashfs-tools mkisofs

Ahora ya estamos en condiciones de crear nuestra LiveCD.
Tendremos que bajarnos unos Scripts currados por el menda para hacernos la vida más fácil, ya se que son bastante sencillos pero me llevó tiempo el currarmelos y me siento especialmente orgulloso de ellos:
LiveCD.sh
Exportar.sh
Acabar.sh
Software.sh
Ficheros_Conf.tar.gz

Primero ejecutaremos como root el script Live.sh con el que nos creará el entorno en el cual haremos chroot para modificar a placer todas las opciones de nuestra LiveCD.
Cuando aparezca Entrando en el entornor CHROOT ya estaremos dentro de lo que será nuestra distro, ejecutamos /Software/software.sh para que nos añada el usuario que emplearemos para configurar las opciones de la Live y además nos instalará el software que le digamos.
En este punto podemos modificar lo que creamos pertinente, para poder arrancar el gnome-panel y modificarlo debemos de hacer:
su ubuntu
y desde fuera del chroot ejecutar como root:
Exportar.sh
Con esto el display y las cookies de las X locales se exportaran al entorno chroot, CUIDADO!!! con esto porque no soy un experto en la materia y crea que estamos dejando que cualquiera se conecte a nuestro servidor gráfico con todos los quebraderos de cabeza en seguridad que ello comporta.
Arrancamos el gnome-panel y ya podemos toquetearlo, una vez realizados los cambios volvemos a root con exit, y desmontamos /proc /sys y borramos los temporales:
umount /proc
umount /sys
rm -rf /tmp/*

Salimos con:
exit

Y nuestro Script seguirá faenando hasta terminar y dejarnos una imagen iso llamada Chuzix.iso en /

Bueno creo que es buen manual y además de lo más simplificado, si queremos realizar algún cambio tan sólo hay que hacer:
chroot /edit
mount -t sysfs none /sys
mount -t proc none /proc
Hacemos los cambios y:
umount /sys
umount /proc
exit
Ejecutamos el script Acabar.sh
y listo ya tenemos la livecd actualizada sin tener que esperar a que vuelva a crear el directorio del entorno chroot.

La única pega en todo el proceso es que no sé como cambiar el usuario que emplea la LiveCD para entrar en el sistema por defecto, si alguien lo sabe le agradecería que escribiese un comentario explicandolo.

NOTA:En el fichero de configuración el cual dejo el enlace no tiene la carpeta firefox por contener información personal, recordad poner vuestra carpeta o el script mostrará algún mensaje de error.

No hay comentarios: