Imprimir

Crear un live-CD con dfsbuild

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

Deja un comentario