Esta receta muestra como crear una live personalizada tanto para un pendrive como para un CD en sólo una línea. Esto es posible gracias al proyecto Debian Live.

Ingredientes

  • live-helper
  • Si quieres un gui básico live-magic

Consideraciones

    A día 26 de noviembre de 2010 funcionan todas las ramas (stable, testing y unstable), aunque al realizar el "lb config" la parte de las secciones "main contrib non-free" hay que editarla a mano, es decir, no genera correctamente el archivo config/bootstrap.

Incluir paquetes

  • Desde el repositorio.
      Se pueden incluir paquetes por medio de la opción --package, pero si se quieren incluir bastantes la mejor opción es usar --packages-list. Esta opción recibe como argumento el nombre de un archivo ubicado en /usr/share/live/build/lists que contiene una lista de paquetes. Además es posible incluir listas existentes dentro de otras utilizando para ello la directiva include. Una lista puede tener este aspecto:
      ## Desktop
      #include 
      
      ## Devel
      openssh-client openssh-server
      emacs mc less meld vim
      gcc build-essential make gdb kdbg ddd 
      
      ## Net
      netbase nmap netcat traceroute
      firmware-linux-free
      pidgin iceweasel
      wireless-tools rsync net-tools
      
      ## Non-free
      #if ARCHIVE_AREAS non-free
      firmware-linux-nonfree firmware-linux firmware-iwlwifi
      firmware-ralink firmware-ipw2x00
      #endif
      
      ## Misc
      console-setup console-common kbd locales
      eject file sudo bash-completion
      unp zip unzip
      gparted dvd+rw-tools genisoimage ntfs-3g dosfstools brasero
      
      ## Docs
      evince gnumeric abiword
      
      
  • Paquetes de otros repositorios.
      Para instalar paquetes de otros repositorios simplemente hay que crear una archivo .chroot y/o .binary con la dirección del repo y ubicarlo/s en el directorio config/chroot_sources
  • Paquetes fuera de repositorios.
      Para instalar paquetes específicos que no están en el repositorio por defecto simplemente hay que ubicar el .deb en el directorio config/chroot_local-packages

Incluir archivos

    Meter la jerarquía completa en la capeta config/chroot_local-includes y listo. Cuando se genera la live se incluye la jeraquía en el sistema.

Hooks

    Es posible lanzar scripts shell tras generar la instalación básica que se ejecutan como root. Estos scripts pueden servir para cargar drivers, módulos.... y también se pueden crear los que sean necesarios. Para cargarlos se puede usar la opción --hooks poniendo como argumento un hook ubicado en el directorio /usr/share/live/build/hooks. También es posible lanzar hooks personalizados incluyéndolos en el directorio config/chroot_local-hooks.

A generar la live!!

    Aquí se muestra un ejemplo con las opciones básicas. Según indica int-0 ahora han dejado de soportar las opciones abreviadas, asi que hay que escribir un poquito mas :-(, pero sigue siendo una línea ;-)
    mkdir myLive
    cd myLive
    lb config --packages-list tuListaDePaquetes --root-command sudo --bootloader syslinux --binary-images usb-hdd --architecture i386 --username tuUsuario --distribution sid --apt apt-get --mirror-chroot "ftp://ftp.fr.debian.org/debian/" --mirror-bootstrap "ftp://ftp.fr.debian.org/debian/" --mirror-binary "ftp://ftp.fr.debian.org/debian/" --bootappend-live "locale=es_ES.UTF-8 keyb=es" --interactive shell --debconf-frontend dialog --memtest none  --cache-stages None --archive-areas "main contrib non-free" --apt-options --force-yes --debian-installer false
    sudo lb build
  • --apt especifica si usar apt-get o aptitude. Por ahora hay que utilizar apt-get que es lo que utiliza live-magic
  • --apt-options opciones para apt y aptitude. Recomiendo --force-yes
  • --architecture arquitectura
  • --archive-areas secciones para buscar paquetes (main, contrib, nonfree)
  • --binary-images especifica el tipo de imagen (iso, net, tar, usb-hdd)
  • --bootappend-live especifica opciones para el arranque de la imagen
  • --bootloader permite elegir el cargador de arranque (grub, syslinux, yaboot). Yo utilizo syslinux
  • --cache-stages almacenar el estado de generación de la live.
  • --debconf-frontend Con esta opción se selecciona un frontend para debconf, yo uso dialog (Para aquellos paquetes que preguntan datos al usuario durante la instalación)
  • --debian-installer Ojo, los instaladores no funcionan (si me equivoco avisar) asi que hay que forzar esta opción a false
  • --distribution stable, testing, sid
  • --interactive Si queremos parar la live en tiempo de generación y tener acceso sesión chroot para nuestras cosicas podemos utilizar la opción shell
  • --memtest Activar o desactivar el memtest
  • --mirror* especifican los repositorios de cada etapa de generación de la live
  • --packages-list permite especificar el/los archivo que contiene/n los paquetes adicionales a la instalación base. Es decir se puede utilizar cómo en el ejemplo o bien --packages-list "gnome-core rescue" (OJO! se estas listas debe ubicarse en /usr/share/live/build/lists)
  • --root-command establece sudo como método para actuar como superusuario
  • --username nombre de usuario
  • A día de hoy con las opciones del ejemplo es posible crear una live, con gnome , lxde y creo que con KDE (pero no entiendo quién querría eso ;-)). Si quieres que vaya rápido int-0 recomienda lxde.

Referencias



blog comments powered by Disqus