Live

Crear/Modificar un LiveCD (Debian y derivados) y no morir en el intento

Primero varios métodos para crear un live cd personalizado y luego el método GNU/Linux edición Vagos.

LiveCD personalizado
UCK (Ubuntu customization kit) ,una especie de asistente, que te permite modificar configuraciones, aspecto programas instalados, etc y luego crear un disco de instalación personalizado (nunca he usado este soft). Se puede descargar desde los repositorios oficiales Remastersys, éste tiene varios modos de funcionamiento, modo "backup" (disco de recuperación) o modo "dist" (distribución propia). El modo de trabajar con él es instalar una distribución y modificarla, cambiar los temas, modificar configuraciones, eliminar/instalar paquetes, eliminar/modificar splash, etc y luego el programa empaquetará esa distro que tienes instalada en un disco de instalación.

Modificar/Crear un Livecd
Método 1º (Vagobuntu), desempaquetar la imagen de una distribución existente, modificar todo lo que se quiera desde un entorno de chroot y luego empaquetarla de nuevo. LiveCDCustomization - Community Ubuntu Documentation

Manual Debian Live Método GNU/Linux Edición Vagos (crear distro desde cero). Empiezo por el debootstrap. ppc.Community Ubuntu Documentation Método 3º (Debian Live) Hacer uso de la documentación y scripts del poyecto Debian Live. utilizando Live-Build (lb) Los manuales y ejemplos de este proyecto se encuentran en español y son muy completos. squeeze. maverick. pero sin que afecte al resto del sistema. De esta manera podemos trabajar en él en un entorno de chroot como si fuera un sistema instalado. amd64. con el nombre de la versión basta) directorio Pues el directorio donde lo quieres (Si especificas una partición del disco sería una forma de instalar sin salir del sistema actual) Por ejemplo: . que es una herramienta que nos permite instalar un sistema basado en Debian dentro del directorio que queramos. pero quiero hacer incapié en algunas cosas. sid. LiveCDCustomizationFromScratch . Y al contrario que una máquina virtual aprovechando el 100% del hardware. etc Versión/Distro elegimos la versión que queremos instalar: lucid. por lo que son fáciles de seguir. etc (no se especifica si es Debian o si es Ubuntu.Método 2º (GNU/Linux Vagos) Utilizar debootstrap para a partir de la base de una distro (basada en debian) ir añadiendo/modificando elementos y luego crear un disco de distribución. Se instala el paquete debootstrap y se ejecuta de la siguiente manera (como root): debootstrap --arch=arquitectura Versión/Distro directorio sustituimos por la arquitectura que queramos: i386. Realmente es una combinación de los métodos 1 y 2.

Para modificar una imagen den livecd debemos montarla y extraer su . debootstrap --arch=i386 --include=vlc. vlc y gnome.com/ubuntu/ Ahora que ya tenemos una distribución básica instalada. vlc y gnome debootstrap --arch=i386 --include=vlc.Quiero instalar un Ubuntu maverick de 32 bits en la carpeta prueba1 debootstrap --arch=i386 maverick prueba1 Existen una serie de opciones que podemos usar: --include= "lista de paquetes separados por comas" Por ejemplo: Quiero instalar un Ubuntu maverick de 32 bits en la carpeta prueba1y que lleve gimp. (ver entrada "Modificar la distro") Método Vagobuntu (Modificar un LiveCD existente).archive. lo que debemos hacer es empezar a modificar lo que queramos.gnome maverick prueba1 Otra opción interesante es que podemos especificarle desde dónde descargar los paquetes poniendo la dirección al final del comando: Por ejemplo: Quiero instalar un Ubuntu maverick de 32 bits en la carpeta prueba1. Para eso usamos chroot.gnome maverick prueba1 http://jp.gimp.gimp. que lleve gimp.ubuntu. pero que los descargue desde el mirror japonés.

iso punto-de-montaje Por ejemplo : mkdir /media/iso mount -o loop Ubuntu-Lucid-x86.contenido. pero para una imagen Debian-Live hay que sustituir "casper" por "live" unsquashfs /media/iso/live/filesystem. pero para una imagen Debian-Live hay que sustituir "casper" por "live" mkdir extract-cd rsync --exclude=/live/filesystem. exceptuando el archivo squashfs (el que contiene el sistema) mkdir extract-cd rsync --exclude=/casper/filesystem. (ver entrada "Modificar la distro") Parte común a ambas (Jaula Chroot) -Primero es montar /dev en la carpeta donde instalamos la distro (usaré los mismos nombres de carpeta que se explican en los enlaces para no confundir). unsquashfs /media/iso/casper/filesystem.squashfs mv squashfs-root chroot Para una distribución basada en Ubuntu se usa el comando anterior. Primero creamos un punto de montaje y montamos la imagen: mkdir punto-de-montaje mount -o loop imagen.iso /media/iso Extraemos el contenido en otra carpeta que llamaremos extract-cd (para coincidir con la guía anterior). lo que debemos hacer es empezar a modificar lo que queramos. Para eso usamos chroot. mount --bind /dev chroot/dev .squashfs mv squashfs-root chroot Ahora que ya tenemos la distribución descomprimida.squashfs -a /media/iso extract-cd NOTA Para una distribución basada en Ubuntu se usa el comando anterior.squashfs -a /media/iso extract-cd Ahora extraemos el contenido del archivo squashfs para poder modificarlo.

podremos hacer lo que queramos como trabajaríamos normalmente en nuestra distro. así que tendremos control absoluto sobre la distro.list.d/gdm3 start o /etc/init.conf chroot/etc/resolv. Una vez instalado el entorno gráfico y el xorg. utiliza el kernel de su anfitrión: linux32 chroot chroot Una vez dentro obtendremos privilegios de root.(chroot es la carpeta donde se instaló la distro) Para poder conectarse y descargar desde repositorios necesitamos copiar algunos archivos de nuestro equipo anfitrión: cp /etc/hosts chroot/etc/hosts cp /etc/resolv.d/lightdm start o . podemos levantar las X en ese entorno y seguir trabajando en modo gráfico. pero hay que tener cuidado para no mezclar repositorios si no estamos creando la misma versión/Distro que la anfitrión cp /etc/apt/sources. de lo contrario tendremos problemas. pues a pesar de que el entorno chroot es ajeno al sistema. Ya sólo que da por montar algunas unidades y algunos comandos más: mount -t proc none /proc mount -t sysfs none /sys mount -t devpts none /dev/pts export HOME=/root export LC_ALL=C A partir de aquí. startx O dependiendo del gestor de sesiones de nuestro entorno /etc/init.list chroot/etc/apt/sources.conf También es necesario el /etc/apt/sources.list Ahora montamos el entorno de chroot: chroot chroot OJO Si estamos creando un live de 32 bits desde un sistema de 64 debemos ejecutar el chroot como linux32.d/gdm start o /etc/init.

hacemos una limpieza y desmontamos todas las unidades que montamos al principio: aptitude clean rm -rf /tmp/* ~/. Paquetes linux-image-3. porque ¿Qué es un SO sin un kernel?. En el caso de Ubuntu: aptitude install casper lupin-casper ubiquity-frontend-gtk en el caso de Kde es ubiquity-frontend-kde aptitude install casper lupin-casper ubiquity-frontend-kde En el caso de Debian (son más intuitivos): aptitude install debian-installer live-boot live-boot-initramfs-tools IMPORTANTE IMPORTANTE EL kernel.d/slim start etc IMPORTANTE. (Es necesario instalar squasfs-tools) En ambos casos (Ubuntu/Debian) es igual.conf umount /proc umount /sys umount /dev/pts exit Ahora ya estamos fuera del entorno chroot y queda por desmontar el /dev umount chroot/dev Lo siguiente es volver a empaquetar la distribución. como va a ser un livecd debemos instalar los paquetes propios de un livecd. mksquashfs chroot filesystem. no empaqueten la imagen sin un kernel.squashfs .XX-XX y linux-headers-3.bash_history rm /etc/resolv. Empaquetar la distribucíon Live Este paso es para empaquetar la instalación que acabamos de hacer para luego meterla dentro del la imagen iso.XX-XX (o un kernel compilado a mano) IMPRESCINDIBLES Una vez hayamos hecho todos los cambios que creamos convenientes.d/kdm start o /etc/init./etc/init.

gz.lz (Para imágenes anteriores a karmic.squashfs extract-cd/live OJO Si has hecho algún cambio en el kernel. debes sustituir los archivos vmlinuz e initramfs por los nuevos. lo único que debemos hacer es sustituir el archivo squashfs que trae la iso por el que nosotros hemos modificado.img-**-*** extract-cd/casper/initrd.img . compresión .Tardará un buen rato en comprimirla. Crear la imagen iso del sistema Para una imagen ya creada (Método Vagobuntu) Si partimos de una imagen ya creada. Una vez termine sólo tendremos que meterla dentro de nuestra iso junto que los archivos necesarios para el arranque. o en el caso de que sea una modificación de una iso. para las más nuevas. "retocarlos" para que responda como queramos. simplemente: En el caso de que sea una imagen de Ubuntu: mv filesystem.img-**-*** extract-cd/live/initrd. se utiliza la compresión . EL siguiente paso es obtener/crear esos archivos de arranque.lz) En el caso de que sea una imagen de Debian : cp chroot/boot/vmlinuz-**-** extract-cd/live/vmlinuz cp chroot/boot/initrd. En el caso de que sea una imagen de Ubuntu: cp chroot/boot/vmlinuz-**-** extract-cd/casper/vmlinuz cp chroot/boot/initrd.squashfs extract-cd/casper En el caso de que sea una imagen de Debian : mv filesystem.

mv filesystem. compresión .isolinux.isolinux.txt" > md5sum.iso . -type f -print0 | xargs -0 md5sum | grep -v "\.install} Si se trata de Debian mkdir -p extract-cd/{live.squashfs extract-cd/live Incluimos los archivos vmlinuz e initramfs para que pueda arrancar: En el caso de que sea una imagen de Ubuntu: cp chroot/boot/vmlinuz-**-** extract-cd/casper/vmlinuz cp chroot/boot/initrd./md5sum.Ahora nos situamos en la carpeta extract-cd y recalculamos la suma md5 cd extract-cd rm md5.img-**-*** extract-cd/casper/initrd.txt find .cat -no-emul-boot -boot-loadsize 4 -boot-info-table -o .lz (Para imágenes anteriores a karmic.lz) .genisoimage -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux. se utiliza la compresión ..install} Y colocamos el archivo squashfs en su lugar. tendremos que crear algunas carpetas donde se alojarán los archivos de arranque y el archivo squashfs.squashfs extract-cd/casper En el caso de que sea una imagen de Debian : mv filesystem. para las más nuevas.gz./Nombre-que-le-quieras-dar.txt Luego ya sólo nos quedaría crear de nuevo la iso para poder utilizarla (debemos ejecutar el comando desde la carpeta extract-cd y tener instalado genisoimage) cd extract-cd. Para imagen creada desde 0 (Método Debian Vagos) Si partimos de desde cero. Si se trata de Ubuntu mkdir -p extract-cd/{casper.bin -c isolinux/boot.

Aquí se podrían hacer muchísimas cosas.img extract-cd/install/ Y en el caso que decidieras incluir memtest: cp /boot/memtest86+.txt TIMEOUT 300 PROMPT 1 Su estructura es similar a la del Grub.img Ahora necesitamos los binarios de isolinux y sbm.bin extract-cd/isolinux/ cp /boot/sbm.seed boot=casper initrd=/casper/initrd. y en caso de querer incluirlo. Instalamos los paquetes isolinux y sbm (en el sistema anfiitrión no en el que hemos creado) y copiamos los archivos que nos hacen falta: cp /usr/lib/syslinux/isolinux.img-**-*** extract-cd/live/initrd.En el caso de que sea una imagen de Debian : cp chroot/boot/vmlinuz-**-** extract-cd/live/vmlinuz cp chroot/boot/initrd. pero lo dejaré en lo básico. un menu label que se mostrará para que elijas. Creamos el archivo: extract-cd/isolinux/isolinux. también el de memtest.gz quiet splash -LABEL memtest menu label Memtest kernel /install/memtest append DISPLAY isolinux.bin extract-cd/install/memtest Ahora necesitamos un menú que se muestre durante el arranque. la imagen del kernel correspondiente y las opciones de arranque .cfg y en su interior escribimos algo similar a: DEFAULT live LABEL live menu label Arranque en modo live kernel /casper/vmlinuz append file=/cdrom/preseed/ubuntu.gz quiet splash -LABEL check menu label Verificar disco kernel /casper/vmlinuz append boot=casper integrity-check initrd=/casper/initrd.

txt" > md5sum. DISPLAY isolinux.txt. ./md5sum.bin -c isolinux/boot.cat -no-emul-boot -boot-loadsize 4 -boot-info-table -o .iso .txt (vale cualquier otro nombre siempre que lo especifiquemos en el isolinux. una pequeña introducción.genisoimage -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux. un mensaje o lo que sea.txt Luego ya sólo nos quedaría crear de nuevo la iso para poder utilizarla (debemos ejecutar el comando desde la carpeta extract-cd y tener instalado genisoimage) cd extract-cd. Nos permite mostrar un mensaje con instrucciones de lo que hacer.txt find . Lo que queramos que se muestre lo escribiremos en otro archivo situado en la misma carpeta llamado isolinux.(acordarse de que para Ubuntu es casper y para Debian es live../Nombre-que-le-quieras-dar.cfg) Nos situamos en la carpeta extract-cd y recalculamos la suma md5 cd extract-cd rm md5. -type f -print0 | xargs -0 md5sum | grep -v "\.

Sign up to vote on this title
UsefulNot useful