Draklive

De Wiki de la Comunidad Mandriva

Draklive es una herramienta para producir distribuciones Live

Contenido


Introducción

draklive construye una distribución "live" de acuerdo a un archivo de configuración, crea una imagen maestra y opcionalmente la instala en un dispositivo.

¿Por qué una nueva herramienta para producir distribuciones "live"?

Mandriva Move

La tecnología Move1/Move2 está ya bastante desaconsejada, y consistía en cargar archivos que se podían escribir en RAM, y usar dnotify para vigilar las modificaciones de los archivos y copiar estas modificaciones en la memoria USB.

Requería un proceso de carga específico, y un proceso de producción complejo.

Es mejor haberla reemplazado por algo como unionfs, que permite el solapamiento transparente de sistemas de archivos (y hace posible el borrado de archivos).

mklivecd

mklivecd ya permite crear distribuciones "live", pero no es fácil mantenerlas sincronizadas con las últimas actualizaciones de hardware o técnicas. mklivecd necesita un largo script initrd propio, al igual que un nuevo archivo rc.sysinit. Esto hace la carga muy complicada, y no es fácil de mantener los tres programas (linuxrc, rc.sysinit, mklivecd) conjuntamente.

linux-live / Slax

Los scripts de linux-live son bastante similares, pero además necesitan algunas bibliotecas adicionales en el initrd, y no proporcionan una buena lista de controladores hardware en su initrd .

Ventajas

La filosofía de draklive es mantener las distribuciones "live" lo más parecidas posible a una distribución normal de Mandriva Linux. Todas los ajustes específicos de una distribución "live se hacen en un pequeño script initrd. Puesto que éste se genera para la ocasión, se muy pequeño y resulta muy fácil de depurar.

La lista de controladores que se incluye en el initrd se ajusta durante la creación de la distribución "live", según el tipo de medio. draklive usa las bibliotecas de DrakX para obtener una lista de controladores actualizada.

Una vez que se ha cargado el script initrd, el dispositivo raíz se usará transparentemente por la distribución, sin necesidad de trucos adicionales.

La detección de hardware se hace con harddrake, proporcionando una integración muy fiable.

Características

  • CD "live"
  • distribución "live" en una memoria USB
  • fácil de probar sobre NFS
  • usa el instalador de Mandriva para crear el sistema "live"
  • sistema "live" con escritura y lectura completas (usando unionfs)
  • configuración automática de hardware (usando harddrake)
  • estructura de código genérica para poder usar rápidamente nuevas elecciones técnicas

Quickstart

Requisitos

Debe tener instalados en su sistema los siguientes paquetes: xorg-x11-xnest o xorg-x11-xephyr , squashfs-tools, syslinux, mkisofs, rsync y mtools

Descargue las herramientas y archivos de configuración

svn co http://svn.mandriva.com/svn/soft/draklive/trunk draklive
svn co http://svn.mandriva.com/svn/config/One/trunk live-config
cd live-config

Después, edite la dirección del repositorio (y otras configuraciones locales) en config/settings.cfg .

Construya su live CD o live USB

../draklive/draklive --clean --all

Consulte la salida de draklive --help para más detalles.

Grabando un live USB

../draklive/draklive --record --device /dev/sdb1

Configuración

Ejemplo

  {
    system => {
        root => '/chroot/live/2007.0',
        repository => '/mnt/BIG/dis/2007.0/i586',
        auto_install => 'config/auto_inst.cfg.pl',
        rpmsrate => 'config/rpmsrate',
        vga_mode => 788,
    },
    media => {
        storage => 'cdrom',
    },
    mount => $predefined{mounts}{volatile_squash_union},
  };

Ejemplo: Creando un cd de arranque para equipos antiguos que no puedan arrancar desde una llave USB

Modifique la entrada media de config/live.cfg de la siguiente forma:

media => { storage => 'usb', boot => 'cdrom' },

Y ejecute la orden:

draklive --config config/live.cfg --boot-only --boot --master

Esto creara una imagen iso: /your_workdir/images/boot.iso (your_workdir es por omisión /var/lib/draklive )

Descripción exhaustiva

El archivo de configuración debería contener un hash (en Perl) con las configuraciones. Algunas de estas tienen que rellenarse en el nivel superior, otras tienen que agruparse en sub-hashes.

sub-hash system

Este hash describe la distribución a instalar.

  • root: ruta a la distribución a instalar
  • repository: ruta al repositorio de instalación
  • auto_install: archivo de instalación auto_install.cfg.pl
  • patch_install: archivo de parches de instalación (en realidad, el archivo defcfg)
  • postInstall: órdenes a ejecutar (usando bash -c después de que se hayan hecho todos los pasos additional_media/rpm/patches)
  • install_env: referencia a un hash de variables que se pasarán al instalador (se podrán usar en el archivo auto_install.cfg.pl también)
  • additional_modules: referencia a un array de módulos .ko que se copiará y cargará en el initrd
  • rpmsrate: ruta a un rpmsrate local (útil para añadir/modificar/borrar la clasificación de paquetes)
  • patches: referencia a un array de parches para aplicar directamente en el sistema raíz
  • rpms: referencia a un array de rpms para instalar después de la instalación
  • vga_mode: modo gráfico que debería usar la distribución "live"
  • splash: se establece a no si no quiere usar una pantalla de splash (por defecto es yes)
  • kernel: versión por defecto del kernel (opcional)

media sub-hash

Este hash describe que medio de acceso debe ser usado.

  • storage: tipo de medio (cdrom or usb)

Campos opcionales:

  • boot: el medio de arranque se especifica con la opción --boot-only, puede ser (cdrom o usb)

O configuraciones personalizadas:

  • $custom{media}{nfs}->(module name, live system IP address, NFS source)

extra_media sub-array

Deberá contener todos los medios extra (vea la descripción de media sub-hash) que el sistema live deberá soportar. Esto permite a los sistemas live utilizar diferentes tipos de arranque, utilizando el asistente de copia (copy wizard). Por ejemplo, si el medio predeterminado es del tipo cdrom, y extra media contiene un medio de tipo usb, El live CD en ejecución se podrá duplicar en llaves USB y CDs.

mount sub-hash

Este hash describe como se montan los componentes live.

Algunas configuraciones basicas estan predefinidas:

  • $predefined{mounts}{simple_union} : utiliza el contenido del medio como una raiz raw, y la monta con un tmpfs utilizando unionfs, para obtener un systema RW (lectura/escritura)
  • $predefined{mounts}{volatile_squash_union} : comprimir la distribución en un archivo distrib.sqfs , utilizar un tmpfs, y los monta utilizando unionfs
  • $predefined{mounts}{squash_union} : comprimir la distribución en un archivo distrib.sqfs , Un archivo system.loop de lectura/escritura tipo ext2 para loopback, y los monta utilizando unionfs
  • $predefined{mounts}{multi_squash_union} : comprimir la distribución en un archivo distrib.sqfs , opcionalmente utiliza un "parche" system.sqfs de solo lectura, un tmpfs, y los monta utilizando unionfs

O realice su montaje perzonaliado:

  • TODO

principales configuraciones

configuraciones Live:

  • post: array(conjunto?) de comandos que seran ejecutados al terminar initrd
  • copy_initrd: copia el initrd de este sitio al final de initrd (P. ej. a /var/lib/tftpboot/live.rdz )
  • debug: incluir algunas herramientas de depuración en initrd (busybox, strace, ping) y ejecutar un shell de depuración al inicio de initrd

Configuración de directorios (completamente opcional):

  • workdir: draklive directorio de trabajo (predeterminado: /tmp/draklive )
  • mnt: punto de montaje temporal para draklive

Referencias

Archivos de configuración de draklive y One

Otras herramientas similares

Sistemas de archivo Overlay

UnionFS

Otros

Herramientas personales
Otros idiomas