Crear un live-CD en Linux
Un live-CD es un CD que contiene un Sistema Operativo Linux completo (junto con diversas aplicaciones) que puede ejecutarse desde el CD sin necesidad de instalarlo en el disco duro, utilizando únicamente la memoria RAM.
Se suelen utilizar como dispositivo de rescate para arrancar una máquina con problemas, como demo para mostrar Linux a usuarios que no lo conocen o como test para comprobar la compatibilidad del hardware.
Veamos cómo crear nuestro propio live-CD. Disponemos de varias herramientas:
- dfsbuild (paquete dfsbuild): nos permite crear nuestro propio Debian
From Scratch live-CD, con los paquetes que nosotros seleccionemos. El proceso para crearlo
es el siguiente:
- el archivo de configuración es /etc/dfsbuild/dfs.cfg. Las principales directivas a
configurar son el repositorio a usar, desde donde dfsbuild descargará los paquetes
incluidos en el live-CD (por defecto testing):
# Repositories to mirror. Details about each one are configured below. dlrepos = testing # Repository to build the CD with. Must be in above list. suite = testing [repo testing] suite = testing mirror = http://http.us.debian.org/debian
El kernel a usar:
# Debs from local fs to unpack on live FS (will not be configured) unpackdebs = /var/cache/apt/archives/kernel-image-2.6.8-2_i386.deb
Y la lista de paquetes a incluir en el live-CD:
# Packages to install on live FS, on all archs, besides base system allpackages = util-linux mkisofs cdrecord dvd+rw-tools ocaml hugs ghc6 perl vim nano joe libncurses5-dev ftp ssh telnet elinks less zip unzip tar info man-db manpages-dev manpages cdebootstrap diff patch gawk tcpdump bash devfsd module-init-tools modutils rsh-client tftp traceroute iputils-tracepath strace iputils-ping iptraf iproute ipchains ipfwadm iptables ifupdown dhcp-client bind9-host whois dnsutils rsync rdiff-backup mutt netcat epic4 cpio buffer alien bzip2 dpkg-dev devscripts busybox-static sudo dash sash pciutils hotplug discover buffer cramfsprogs minicom hdparm ntpdate disktype ddrescue umsdos recover dpkg-repack devscripts debhelper emacs21-nox mtr-tiny python-dev sysutils build-essential g++ wget lftp lynx cu debconf grep-dctrl lsof screen gnupg dfsbuild less
Además, podemos crear archivos:
[createfiles] /etc/hostname = bootablesystemshostname [createfiles] /etc/resolve.conf = search my.flat search 192.168.1.1
Borrarlos:
[deletefiles] /etc/hostname
Añadir líneas a un archivo existente:
[appendfiles] /etc/network/interfaces = iface eth0 inet dhcp iface eth1 inet dhcp iface eth2 inet dhcp iface wlan0 inet dhcp iface wlan1 inet dhcp iface wlan2 inet dhcp iface ath0 inet dhcp
O crear enlaces simbólicos:
[symlinks] /etc/mtab = /proc/mounts
- para construir el live-CD ejecutaremos el comando (el directorio <dir> debe
estar vacío, ya que su contenido será eliminado sin pedir confirmación):
# dfsbuild -c /etc/dfsbuild/dfs.cfg <dir>
- dfsbuild descargará los paquetes y generará el archivo <dir>/image.iso, que contiene la imagen .iso del live-CD y el directorio <dir>/image que contiene los archivos utilizados para construir el live-CD. Parece ser que además se genera el directorio /opt/dfsruntime (en principio /opt está vacío.)
- Para comprobar el live-CD sin reiniciar usaremos Qemu:
# qemu -boot c -cdrom image.iso
- el archivo de configuración es /etc/dfsbuild/dfs.cfg. Las principales directivas a
configurar son el repositorio a usar, desde donde dfsbuild descargará los paquetes
incluidos en el live-CD (por defecto testing):
- bootcd (paquete bootcd): nos permite crear un Running Debian live-CD,
un live-CD que contiene una copia exacta de nuestra máquina. El proceso es el siguiente:
- el archivo de configuración es /etc/bootcd/bootcdwrite.conf. Especificaremos
los directorios que no se incluirán en el live-CD (no se puede excluir /home):
NOT_TO_CD="/home/francis /home/qemu /home/misc /home/mp3"
- para construir el live-CD ejecutaremos el comando:
# bootcdwrite
Si bootcd encuentra algún problema nos avisará y nos permitirá ignorarlo, continuar o cancelar. El problema más habitual es que el live-CD no quepa en un CD: para que nuestro sistema entre en un CD tendrá que ser realmente minimalista!
- Se generará el archivo /var/spool/bootcd/cdimage.iso, que contiene la imagen .iso
del live-CD. Podemos montar este archivo y ver su contenido, ya que es la imagen de un sistema de ficheros:
# mount -o loop /var/spool/bootcd/cdimage.iso /mnt
- Para comprobar el live-CD sin reiniciar usaremos Qemu:
# qemu -boot c -cdrom /var/spool/bootcd/cdimage.iso
- el archivo de configuración es /etc/bootcd/bootcdwrite.conf. Especificaremos
los directorios que no se incluirán en el live-CD (no se puede excluir /home):
- mklivecd (mklivecd.sourceforge.net, paquete mklivecd): al igual que bootcd, mklivecd nos permite crear un Running Debian live-CD, un live-CD que contiene una copia exacta (snapshot) de nuestra máquina (configuraciones, aplicaciones, documentos, etc.).
10 Comentarios en “Crear un live-CD en Linux”
Deja un comentario
Muchas gracias por el artículo me es de gran utilidad.
Un saludo.
El live CD q se genera con este procedimiento es instalable? o es como los live cds actuales de Debian q no se pueden instalar?
Muchas gracias al q responda!!! espero q me ayuden
Hola por favor diganme como tengo que hacer el live cd, tengo que modificar el archivo de configuracion desde el principio?
tengo que crear otro?
nose, es que no lo entiendo, espero una respuesta gracias.
Hola, tengo Windows XP y quiero formatear, ya que me desaparecio la unidad D de los CDs, no tengo CD de Windows y me han dicho de cambiarme a Linux que va mucho mejor.
Si instalo esto me instalara el lector de los CDs tambien?
Muchas gracias.
Saludos, me gustaria saber qu’e procedimientos debo seguir para anadir a mi live CD algunos paquetes especificos (ejm Electronica, educativos, OpenOffice), Gracias
hola amigo, soy estudiante de la upn-trujillo. estoy pensando crear un live cd dirigido para estudiantes del colegio. por favor te agradeceria si me apoyas en este proyecto si pudieras alcansarme herramaientas para la creacion de este y tu orientacion. gracias
Hola amigos, soy estudiante de la carrera de ingenieria en computacion. Se me ocurrio crear una distribucion propia (que sea mia) diseñada bajo linux, ya tengo todos los paquetes q tengo que descomprimir.
Me gustaria que si hay alguien que ya haya hecho una distribucion para que me pueda ayudar aterminar la mia y a la ves tambien quiero hacer un live cd de la misma distribucion.
Espero me puedan ayudar… gracias
Hola,
Respondiendo a Gilberto:
Primero tendrás que averiguar los nombres de los paquetes que vas a instalar con el comando: # apt-cache search nombre_del_programa
Y segundo tendrás que editar el fichero: /etc/dfsbuild/dfs.cfg como se indica más arriba y añadir los nombres de los paquetes.
Respondiendo a carlos garia:
La unidad D te aparecerá en GNU/Linux si no se trata de un fallo de hardware, en caso contrario no podrás instalar GNU/Linux mediante un CD, y menos todavía Window$. Si utilizas el ordenador para lo básico es seguro que que te valla mejor que Window$, si vas ha hacer algo “extraño” ;-) tendrás que configurarlo pero al final también te irá mejor :D (Creo que se nota un poquillo cual es mi posición). Lo mejor es que le pidas a algún amigo tuyo que te lo instale y de paso te explique un poquillo como va todo (dependerá de tus conocimientos informáticos) y sino… ¡A la aventura!
Espero haberos ayudado.
Mi blog: gurudelinux.blogspot.com
Hola a todos tengo un grave problema que no puedo solucionar y por mas que busco por la red nadie me da la solucion mi memoria usb de 4gb marca hp de un derepente ya no funciona. es decir la inserto en el puerto USB y la reconoce el windows xp como disco extraible y la lucecita se enciende normal y no se puede ni formatear con el hdd ni con el hp tools ni nada porq el windows lo reconoce pero los programas ya mencionados no pueden hacer nada que puedo hacer
Para el de arriba, que use GParted… (está en livecd)
He visto una errata en el texto: Aparece:
# dfsbuild -c /etc/dfsbuild/dfs.cfg
Y en realidad es (o a mí me sale que es en el man y si no, no me funciona):
# dfsbuild -c /etc/dfsbuild/dfs.cfg -w
Aunque quizás sea por un cambio de versión.