- Estréllate y Arde - https://www.estrellateyarde.org -

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:
    1. 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
    2. 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>
    3. 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.)
    4. Para comprobar el live-CD sin reiniciar usaremos Qemu:
      # qemu -boot c -cdrom image.iso
  • 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:
    1. 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"
    2. 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!

    3. 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
    4. Para comprobar el live-CD sin reiniciar usaremos Qemu:
      # qemu -boot c -cdrom /var/spool/bootcd/cdimage.iso
  • 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.).

Article printed from Estréllate y Arde: https://www.estrellateyarde.org

URL to article: https://www.estrellateyarde.org/so/live-cd-en-linux

Copyright © 2010 Estrellate y Arde