Utilizando bootcd para hacer LiveCDs en Debian
Bueno, pues este es mi primer comentario/tutorial en este foro de tuxteno.com. Durante mucho tiempo he publicado cosas en varios foros, y desde que conoci este me pareció bastante interesante, por lo que he decidido dedicarle un momento a la semana para echarle un ojo y compartir experiencias.
El asunto que me atañe en esta ocasión es relativo a los LiveCDs. Desde la aparición de Knoppix, mucha gente ha visto lo conveniente que resulta tener un LiveCD a la mano. Te permiten probar un sistema operativo completo sin provocar un desastre en tu equipo, con todas las funciones y con un amplio rango de aplicaciones para probar.
Las aplicaciones de un LiveCD van desde un simple demo hasta un sistema muy simple de instalación de Linux pasando por un disco de rescate y otras chuladas. Una de estas aplicaciones, la de la instalación suena bastante atractiva. Sin embargo, nos queda un problema: generalmente como este tipo de distros están armadas con un propósito general, casi siempre terminamos instalando muchÃÂsimas aplicaciones que no usamos, que no nos sirven y que muchas veces sólo llenan el disco duro. Depurar una instalación de estas puede requerir mucho tiempo, sin contar con que muchas aplicaciones tienen dependencias que no conocemos de golpe, y muchas veces implican dar al trasto a cosas que sànos interesan.
Hasta hace un par de meses mi dilema era precisamente este: me encantaba la idea del LiveCD, pero yo querÃÂa personalizarlo de manera que me sirviera tanto como un disco de rescate como un disco de instalación general, pero sin tantas cosas inútiles para mis propósitos (en mi caso, he estado trabajando en una distro para servidor basada en Debian Sid). Sin embargo se me hacÃÂa muy complejo y bastante latosos los requisitos para modificar un knoppix o derivados, por lo que busqué otras soluciones para crear un LiveCD.
AquàDebian me enganchó. Dentro de los más de 9000 paquetes actuales vienen incluidas varias herramientas que nos sirven para crear un LiveCD de NUESTRA INSTALACIÓN ACTUAL de Debian y de una manera bastante simple, modificando sólo un archivo de texto.
Estas herramientas vienen contenidas en el paquete bootcd de Debian Sid.
Lo primero que hice fué instalar un sistema base y subirlo a Sid, esto por varias razones:
- El tipo de servidor que estoy montando es un servidor de tipo escalable, por lo que los usuarios serán almacenados en una base de datos en lugar de /etc/password y /etc/shadow. Algunas aplicaciones que soportan estas caracterÃÂsticas (postfix-sasl-courier) tienen lo necesario en Sid pero en Woody o Sarge hay que recompilar muchas cosas.
- Una de las cosas que tiene esta distro es que vendrá con el kernel 2.6, por lo que de nuevo la respuesta más adecuada es Sid para este caso.
Una vez instalado el sistema base, fuàpoco a poco configurando las aplicaciones que requerÃÂa para este esquema (en otro artÃÂculo hablaremos de las configuraciones que hice al respecto).
Una vez que tengo varias aplicaciones configuradas y el sistema está bastante usable, es hora de realizar el CD tanto como experimento como para respaldar el sistema. Es importante hacer imágenes cada determinado tiempo, de manera que te sirva por si quieres regresar a una versión anterior no te hagas mucho lÃÂo. (No queremos que las semanas de trabajo se pierdan, ¿verdad?).
Lo primero es instalar bootcd:
localhost:~# apt-get install bootcd
Cabe decir que bootcd también soporta grabar DVDs, por lo que si quieres hacer un LiveCD muy grande sin compresión bien puedes hacerlo. (Aunque todavÃÂa no conozco a alguien con esos deseos de instalar hasta la abuelita
)
En fin, una vez instalado tenemos los archivos de configuración en /etc/bootcd, las aplicaciones en /usr/sbin y las aplicaciones de copia del cd a disco duro (que sólo aparecen cuando ejecutas el cd) en /usr/share/bootcd. Es hora de jugar un poco.
La configuración para crear el cd se realiza en /etc/bootcd/bootcdwrite.conf. Lo editamos con nano, y vemos la gama de configuraciones que podemos hacer:
Básicamente debemos especificar las siguientes variables:
- SRCDISK.- generalmente va a la partición raÃÂz (/) si estamos creando un LiveCD a partir de la distro instalada en nuestro equipo, o bien puede ser otra ruta si estás instalando una copia del sistema en un directorio con chroot
- KERNEL.- Núcleo por defecto a utilizar, en mi mcaso es /boot/vmlinuz-2.6.0
- RAMDISK_SIZE.- Que es el tamaño en bloques de memoria RAM que se utilizará para montar el sistema de directorios en ramdisk para lectura y escritura. Este parámetro es importane, ya que si escogemos un valor muy alto muchas máquinas con menos memoria no podrán ejecutar la imagen. Si escogemos un valor muy bajo nos veremos limitados por la memoria disponible para cualquier operación del LiveCD, ya que casi no contaremos con inodos en nuestro ramdisk. Un buen valor es 8192 (16MB) de RAM, lo que habilita a equipos con 32MB o más a ejecutar solventemente nuestro LiveCD.
- CDDEV.- Que especifica cual es el CD por defecto para que el kernel encuentre el CDROM para bootear. Normalmente /dev/hdb.
- NOT_TO_CD.- Esta opción sirve para que no incluya ciertos archivos o directorios de nuestra instalación que ocupan mucho espacio. DeberÃÂas incluir cosas como /home, /usr/src y otros archivos grandes que no ocupes.
Para no extenderme más te diré que hay otros parámetros, como permitirte grabar al vuelo o generar una ISO (la que uso porque no tengo cd-writer en mi máquina “maestra”). Todo esto biene bastante bien documentado en el archivo de configuración. Échale un vistazo para ver qué más cosas puedes hacer.
Terminada la configuración, es hora de generar nuestro CD. Ejecutamos el comando bootcdwrite y esperamos. Nos dará toda la información relevante, hará una inspección del sistema y decidirá si necesita compresión o no (cosa que puede configurar también), si tienes espacio en disco para guardar la imagen, limpiará tus cachés de apt (cosa importantÃÂsima porque si no se comerÃÂa mucho espacio a la hora de generar la imagen por los .deb almacenados). El proceso puede varias. En mi caso, la instalación ocupa 450MB, y tardó en generar la iso unos 10 minutos en una Pentium III a 500MHZ.
Finalizando deberás tener una imagen en /var/spool/bootcd llamada cdimage.iso. Esta se puede quemar en un CD y probarla en otra máquina o en la misma. Tengo que advertir una cosa: NO AUTODETECTA HARDWARE. Para hacer el truco hay que instalar discover o kudzu o los dos, y ejecutarlos en el arranque del CD. Esto ayudará, pero habrá que toquetear algunas cosillas. Si todo lo hiciste bien deberás poder bootear desde CD con un sistema IDENTICO al original. Las particiones escribibles (/etc /root /var, etc.) estarán en el CD como /etc.ro, /var.ro y demás. En el ramdisk estarán las particiones “escribibles” /etc /var etc.
Si deseas instalar esta distro desde el CD deberás ejecutar el script bootcd2disk, que deberás configurar también en un archivo de texto en /etc/bootcd2disk.conf
. Este sólo aparece ahi cuando estás corriendo desde CD. El archivo “maestro” se encuentra en /usr/share/bootcd.
Igualmente, tienes muchas opciones en el archivo bien documentadas para el manejo de la instalación. Algunas cosas que he visto son por ejemplo, que es mejor que hagas tú las particiones manuales con cfdisk y le indiques al script cómo deberá copiar la imagen. Esto porque el script utiliza sfdisk que es un tanto crÃÂptico y me parece que para una persona poco experimentada es muy peligroso. Sin embargo, si no tienes nada que perder, es posible que te interese jugar con esto para personalizar más la instalación.
Bueno, pues hasta aquàpor hoy. Saludos y !Happy hacking!
almarag
Alejandro MaretÃÂnez A. (almarag AT cairasa DOT com)








