Receta: crear un LiveCD con software personalizado

Aitor Cuartango vuelve a deleitarnos con una buena receta sobre cómo modificar el contenido de una LiveCD para ajustarlo a nuestras necesidades 🙂 El problema que se quiere resolver es: tengo una LiveCD que me gusta, pero a la que me gustaría añadirle algunas cosas y volverla a distribuírla. ¿Cómo lo hago?
Me gusta la receta de Aitor porque muestra la “vía dura” para hacerlo y siempre he dicho que es la mejor forma de aprender funcionamientos internos, el porqué de las cosas. Pero también he de decir que para crear una distro a medida, for dummies, nada mejor que SUSE Studio. Siguiente/Siguiente/Siguiente/Fin. Lo que gusta a las masas 😉

Sigue leyendo para conocer “the hard way”…


” Pasos Resumidos:

1.- Copiar CD de ubuntu en tu disco duro

2.- Descomprimir en otra carpeta el fichero “filesystem.squashfs” que es el sistema live de Kubuntu que arranca el CD de Kubuntu.

3.- Entrar como root mediante “chroot” en ese sistema descomprimido e instalar el software o ficheros deseados (fondos de pantalla, etc.)

4.- Recomprimir el directorio del “filesystem.squashfs” modificado en otro fichero “filesystem.squashfs”

5.- Sustituir el “filesystem.squashfs” que obtuvimos en el paso 1 por el nuevo modificado.

6.- Reconstruir un fichero “.ISO” con esa carpeta que contiene el “filesystem.squashfs” modificado para luego poder grabar un CD que arranque una live con nuestras modificaciones.

1.- Copiar CD de Kubuntu en tu disco duro

A) Si tenemos solamente un fichero .ISO de la distro haremos:

– Montamos el ISO del CD en /mnt para usarlo de temporal:

sudo mount /home/tu_usuario/ruta_a_la_iso/kubuntu_XXX.iso /mnt -o loop -t iso9660

– Copiamos todos los archivos del CD manteniendo propietario, links simbólicos y de forma recursiva en un directorio previamente creado y vacío, por ejemplo “/CD_Kubuntu_copiado”:

sudo cp -dpR /mnt /CD_Kubuntu_copiado

– Ya no necesitamos el /mnt, así que lo desmontamos:

sudo umount /mnt

B) Si tenemos el CD original de Kubuntu:

– Montamos el CD en nuestro linux

– Meterlo y pinchar cuando lo detecte en el navegador de archivos

– Copiamos el contenido en la carpeta “/CD_Kubuntu_copiado”

sudo cp -dpR /media/KubuntuXXX /CD_Kubuntu_copiado

2.- Descomprimir en otra carpeta el fichero “filesystem.squashfs” que es el sistema live de Kubuntu que arranca el CD de Kubuntu.

– Lo montamos en el temporal “/mnt”

sudo mount -t squashfs -o loop /CD_Kubuntu_copiado/casper/filesystem.squashfs /mnt

– Ahora copiamos el contenido del fichero “filesystem.squashfs” que está montado en /mnt dentro de otra carpeta que crearemos, a la que llamaremos “/Fichero_squash”

sudo cp -dpR /mnt /Fichero_squash

– Desmontamos el temporal “/mnt”

sudo umount /mnt

3.- Entrar como root mediante “chroot” en ese sistema descomprimido e instalar el software o ficheros deseados (fondos de pantalla, etc.)

– Montamos los dispositivos de nuestro sistema en el sistema virtual de /Fichero_squash

sudo mount –bind /dev /Fichero_squash/dev

sudo mount –bind /proc /Fichero_squash/proc

– Hacemos el chroot para tener un shell de root en nuestro sistema live virtual que se encuentra en /Fichero_squash:

sudo chroot /Fichero_squash

– Ahora ya podemos ejecutar el apt o instalar paquetes .deb o poner fotos, … todo lo que queramos para personalizar nuestro live de Kubuntu. En nuestro caso hemos necesitado instalar 3 paquetes de gfortran copiados previamente a /Fichero_squash:

dpkg -i libgfortran.deb

dpkg -i gfortran_4.4.deb

dpkg -i gfortran.deb

– Salimos del chroot:

exit

– Desmontamos los sistemas de dispositivos:

sudo umount /Fichero_squash/dev

sudo umount /Fichero_squash/proc

4.- Recomprimir el directorio del “filesystem.squashfs” modificado en otro fichero “filesystem.squashfs”

sudo mksquashfs ./Fichero_squash filesystem.squashfs

5.- Sustituir el “filesystem.squashfs” que obtuvimos en el paso 1 por el nuevo modificado.

sudo cp filesystem.squashfs /CD_Kubuntu_copiado/casper

6.- Reconstruir un fichero “.ISO” con esa carpeta que contiene el “filesystem.squashfs” modificado para luego poder grabar un CD que arranque una live con nuestras modificaciones.

sudo mkisofs -J -R -o Kubuntu_tuneado.iso -no-emul-boot -boot-info-table -b isolinux/isolinux.bin /CD_Kubuntu_copiado

Tostar y probar en un pc o arrancar en una máquina virtual … si tenéis un pc de menos de 1 año que lo soporte sin eternizarse 😉

¡ et voilà !”

4 comentarios sobre “Receta: crear un LiveCD con software personalizado”

  1. Que gran SuSe studio, no lo conocía. Me parece que es un servicio, mas que software, que ofrece una cantidad enorme de posibilidades. Expectacular. Por cierto en Debian y en ubuntu también existe un software llamado Live-Helper que permite crear live-cds, sistemas de carga por red etc. muy interesante también. Funciona con el sistema de ficheros squashfs también.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *