Saltar a contenidoSaltar a navegación de páginas: página anterior [tecla acceso p]/página siguiente [tecla acceso n]
Se aplica a SUSE Linux Enterprise Server 11 SP4

17 KIWI

KIWI es un sistema para crear imágenes del sistema operativo. Una imagen es un directorio con un archivo que contiene el sistema operativo, sus aplicaciones y configuraciones, la estructura del sistema de archivos del sistema operativo, posibles metadatos adicionales y también, según el tipo de imagen, la geometría del disco y los datos de la tabla de particiones. Con KIWI es posible crear discos LiveCD o LiveDVD, memorias USB, discos virtuales para reproducir sistemas virtuales completos como VMware, imágenes XEN para la paravirtualización en un hipervisor y un entorno PXE para arrancar desde la red.

17.1 Requisitos previos de KIWI

Para crear imágenes con KIWI, es preciso que se cumplan las siguientes condiciones previas:

  1. Debe haber espacio suficiente en el disco para la operación.

  2. KIWI se divide en varios paquetes, dirigidos a tipos de imágenes distintos. En cualquier caso, se necesita el paquete básico kiwi. Según la imagen objetivo, se necesitan los paquetes siguientes:

    Tipo de imagen

    Nombre del paquete

    Medios de instalación

    kiwi-desc-oemboot

    Virtualización

    kiwi-desc-xenboot

    Memorias USB

    kiwi-desc-usbboot

    Cliente de red

    kiwi-desc-netboot

  3. Instale el paquete kiwi-doc. Encontrará ejemplos de configuración que le servirán para darle una idea de la estructura y el contenido.

  4. Familiarícese con el archivo de configuración de KIWI y su estructura. Se basa en un esquema RELAX NG y hay documentación al respecto en el paquete kiwi de /usr/share/doc/packages/kiwi/kiwi.html. Si desea crear el archivo de configuración desde cero o si quiere insertar elementos o atributos, necesita este documento.

17.2 Descripción del proceso de creación de KIWI

El proceso de creación de KIWI consta de tres pasos:

  1. Extensión física (preparación).  Esta etapa sirve para preparar el contenido del nuevo sistema de archivos. Durante este paso se crea el directorio raíz, se determina qué paquetes se instalarán en la imagen y qué archivos de configuración de usuario se incluirán.

  2. Extensión lógica (creación).  Esta etapa requiere que se haya realizado correctamente el paso de preparación. En este paso se crea la imagen del sistema operativo según el primer paso.

  3. Distribución.  El tipo de imagen resultante se puede distribuir de distintas formas, por ejemplo, instalándose en un disco duro o reproduciéndose en un sistema de virtualización (VMware, Qemu, VirtualBox).

17.3 Descripción de la imagen

KIWI necesita una descripción de la imagen para crear un tipo de imagen. La descripción es un directorio que contiene al menos un archivo config.xml o, de forma alternativa, con la extensión *.kiwi.

17.3.1 Contenido de la descripción de la imagen

En la tabla siguiente se incluye más información opcional. Sin embargo, la mayoría de esta información es obligatoria para que el sistema operativo funcione correctamente más adelante:

Tabla 17.1: Archivos y directorios adicionales para la descripción de la imagen

Archivo o directorio

Descripción

config/

Subdirectorio opcional. Contiene guiones Bash que se ejecutan después de instalar todos los paquetes de imagen.

config.sh

Guion de configuración opcional durante la creación de la extensión física.

config.xml

Archivo de configuración de cada descripción de la imagen. Se explica en la Sección 17.3.2.

config-cdroot.tgz

Archivo que solo se usa para las imágenes ISO.

config-cdroot.sh

Permite manipular los datos extraídos de config-cdroot.tgz.

config-yast-autoyast.xml

Archivo de configuración creado por AutoYaST.

config-yast-firstboot.xml

Archivo de configuración para controlar el servidor Firstboot de YaST.

images.sh

Guión de configuración opcional durante la creación del paso de preparación.

root/

Contiene otros directorios, archivos especiales y guiones que se modifican después de la instalación de todos los paquetes de imagen.

17.3.2 Archivo config.xml

Toda la información sobre una descripción de imagen se guarda en el archivo XML de configuración central config.xml. Cada vez que se ejecuta KIWI, el archivo config.xml se valida con un esquema RELAX NG (consulte http://www.relaxng.org para obtener más información sobre el lenguaje de este esquema). Por lo tanto, se recomienda usar un editor de XML adecuado que admita RELAX NG o la documentación sobre el esquema del archivo HTML /usr/share/doc/packages/kiwi/schema/kiwi.xsd.html.

El archivo de configuración está compuesto por varias partes:

  • Una descripción del autor, información de contacto y una breve explicación.

  • Las preferencias necesarias para la etapa de extensión lógica.

  • Información sobre los usuarios, sus nombres, sus directorios personales y sus contraseñas.

  • Enlaces a repositorios.

  • Una lista de paquetes usados para el tipo de imagen definida.

  • Otros datos menos importantes que se pueden ver en el archivo HTML mencionado anteriormente de la documentación del esquema RELAX NG.

En el siguiente ejemplo se muestra un esquema del archivo:

Ejemplo 17.1: Archivo de configuración de KIWI
<image schemeversion="2.0" name="..."> 1
  <description type="system"> 2
    <author>...</author>
    <contact>...</contact>
    <specification>...</specification>
  </description>
  <preferences> 3
    <type primary="true" boot="..." flags="...">iso</type>
    <type boot="..." filesystem="ext3" format="vmdk">vmx</type>
    <type boot="..." filesystem="ext3">xen</type>
    <type boot="..." filesystem="squashfs" flags="unified">oem</type>
    <version>2.7.0</version>
    <size unit="M">780</size>
    <packagemanager>zypper</packagemanager>
    <rpm-check-signatures>False</rpm-check-signatures>
    <rpm-force>False</rpm-force>
    <locale>en_US.UTF-8</locale>
    <oem-swap>no</oem-swap>
    <oem-boot-title>USB</oem-boot-title>
  </preferences>
  <users group="users"> 4
    <user name="root" pwd="" home="/root"/>
  </users>
  <repository type="rpm-md"> 5
    <source path="/home/rpmdir"/>
  </repository>
  <packages type="image" patternPackageType="onlyRequired"> 6
    <package name="yast2-live-installer"/>
    <package name="pam"/>
    <!-- List of packages reduced -->
  </packages>

1

El elemento raíz de todos los archivos de configuración de KIWI. Todos los archivos requieren el número de versión. Se puede usar un atributo kiwirevision opcional para especificar una revisión SVN de KIWI.

2

Contiene descripciones obligatorias con información sobre el creador de estas descripciones de imagen, su dirección de contacto y una breve explicación.

3

Contiene preferencias obligatorias con información sobre la versión de la imagen, el gestor de paquetes usado, los tipos de imagen admitidos y otros ajustes.

4

El elemento opcional users contiene una lista de todos los usuarios añadidos a la imagen. El elemento user contiene el nombre, la vía a su directorio personal, la contraseña y la shell.

5

Contiene una lista obligatoria de repositorios usados por el gestor de paquetes.

6

Contiene una lista obligatoria de paquetes incluidos en la imagen.

En el archivo HTML de las páginas anteriores hay más detalles sobre el archivo de configuración.

17.4 Creación de dispositivos con KIWI

En esta sección se describe cómo crear dispositivos con KIWI. Un dispositivo es un sistema operativo diseñado específicamente para una tarea concreta. Por ejemplo, se puede crear un dispositivo orientado a programas ofimáticos.

17.4.1 Creación de un origen de instalación local

Todos los ejemplos de los paquetes kiwi-doc requieren un origen de instalación válido para poder crear una imagen. Normalmente los ejemplos se conectan a un recurso de red. Cuanto más ancho de banda tenga la red, más rápida será la creación de la imagen. Si no dispone de una red rápida, o si no quiere usarla, cree un recurso de instalación local. Proceda de la siguiente manera:

  1. Recopile el DVD de instalación.

  2. Abra una shell y conviértase en usuario Root.

  3. Cree el directorio de instalación local. Los ejemplo usan normalmente la vía /image/CDs/full-VERSIÓN-ARQUITECTURA. Sustituya las variables VERSIÓN y ARQUITECTURA por sus valores respectivos.

  4. Monte el medio. Sustituya la variable DRIVE por el dispositivo correspondiente (normalmente dvd, cdrom, etc.):

    mount -o loop /dev/DRIVE /mnt
  5. Copie todo el contenido del medio en el directorio de instalación:

    cp -a /mnt/* /images/CDs/full-VERSION-ARCH

Para usar un origen de instalación local, solo necesita habilitarlo en el elemento repository:

<repository type="...">
  <!-- Remove the comment markers in the next line -->
  <!-- <source path="/image/CDs/full-VERSION-ARCH" -->
  <source path="opensuse://openSUSE:11.0/standard"/> 
</repository>

17.4.2 Creación de una imagen

Una imagen es una imagen de disco virtual que contiene todas las particiones, la información del cargador de arranque y los paquetes presentes en un disco real. Para crear una imagen ISO, siga estos pasos:

  1. Instale los paquetes kiwi y kiwi-doc y resuelva las posibles dependencias.

  2. Abra una shell y conviértase en usuario Root.

  3. Copie el directorio /usr/share/doc/packages/kiwi/examples/suse-11.0/suse-oem-preload en el directorio actual.

  4. Abra el archivo config.xml y busque el elemento repository. Si desea usar un origen de instalación local, consulte la Sección 17.4.1 para obtener más información.

  5. Ejecute KIWI con el comando siguiente para preparar la primera etapa (la extensión física):

    kiwi --prepare suse-oem-preload --root oem
  6. Cree la imagen ISO:

    kiwi --create oem --type iso --destdir /tmp/myoem

17.4.3 Creación de una imagen de carga previa con NFS

Para crear una imagen con la función NFS, siga estos pasos:

  1. Abra una shell y conviértase en usuario Root.

  2. Copie el directorio /usr/share/doc/packages/kiwi/examples/suse-11.1/suse-oem-preload en el directorio actual.

  3. Abra el archivo suse-oem-preload/config.xml y busque el elemento packages con el atributo type="image".

  4. Inserte esta línea entre <packages type="image"> y </packages> y guarde el archivo:

    <package name="nfs-client"/>
  5. Vuelva a generar la imagen como se describe en el Paso 5.

17.5 Información adicional

Encontrará más información en los documentos siguiente del portal KIWI, en http://en.opensuse.org/Portal:KIWI.

Imprimir esta página