Image-Beschreibung

KIWI benötigt eine Image-Beschreibung, um einen Image-Typ zu erstellen. Die Image-Beschreibung ist ein Verzeichnis, das mindestens eine Datei config.xml oder alternativ mit der Erweiterung *.kiwi enthält.

Inhalt der Image-Beschreibung

Die folgende Tabelle enthält zusätzliche optionale Informationen. Die meisten Informationen sind jedoch für die spätere Funktionalität des Betriebssystems obligatorisch:

Tabelle 14.1. Zusätzliche Dateien und Verzeichnisse zur Image-Beschreibung

Datei/Verzeichnis

Beschreibung

config/

Optionales Unterverzeichnis. Enthält Bash-Skripten, die nach der Installation aller Image-Pakete ausgeführt werden.

config.sh

Optionales Konfigurationsskript während der Erstellung der physischen Erweiterung

config.xml

Konfigurationsdatei für jede Image-Beschreibung, erläutert in Abschnitt 14.3.2

config-cdroot.tgz

Archiv, nur für ISO-Images verwendet

config-cdroot.sh

Manipuliert extrahierte Daten aus config-cdroot.tgz.

config-yast-autoyast.xml

Von AutoYaST erstellte Konfigurationsdatei

config-yast-firstboot.xml

Konfigurationsdatei zur Steuerung des YaST Firstboot-Service

images.sh

Optionales Konfigurationsskript bei der Erstellung des Vorbereitungsschritts

Root/

Enthält andere Verzeichnisse, besondere Dateien und Skripten, die nach der Installation aller Image-Pakete geändert werden.


Die Datei config.xml

Sämtliche Informationen über eine Image-Beschreibung werden in einer zentralen XML-Konfigurationsdatei mit dem Namen config.xml gespeichert. Bei jeder Ausführung von KIWI wird config.xml anhand eines RELAX NG-Schemas überprüft. (Für weitere Informationen über diese Schemasprache siehe http://www.relaxng.org). Daher wird empfohlen, einen angemessenen XML-Editor mit RELAX NG-Unterstützung zu verwenden oder die Dokumentation über das Schema in der HTML-Datei /usr/share/doc/packages/kiwi/schema/kiwi.xsd.html zu verwenden.

Die Konfigurationsdatei besteht aus mehreren Teilen:

  • Beschreibung zum Verfasser, Kontaktdaten und eine kurze Erläuterung,

  • erforderliche Voreinstellungsoption für die Stufe der logischen Erweiterung,

  • Informationen über die Benutzer, deren Namen, deren Home-Verzeichnisse und deren Passwörter,

  • Links zu Repositorys,

  • eine Liste aller Pakete, die für den definierten Image-Typ verwendet werden,

  • sowie andere, weniger wichtige Informationen, die Sie in der obigen HTML-Datei der RELAX NG-Schemadokumentation nachschlagen können.

Das folgende Beispiel zeigt ein Gerüst der Datei:

Beispiel 14.1. KIWI-Konfigurationsdatei

<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

Das Wurzelelement jeder KIWI-Konfigurationsdatei. Jede Datei benötigt die Versionsnummer. Ein optionales kiwirevision-Attribut kann verwendet werden, um eine SVN-Revision von KIWI anzugeben.

2

Enthält eine obligatorische Beschreibung mit Informationen über den Ersteller dieser Image-Beschreibungen, seiner Kontaktadresse und einer kurzen Erläuterung.

3

Enthält obligatorische Voreinstellungen mit Informationen über die Version dieses Image, den verwendeten Paketmanager, die unterstützten Image-Typen und andere Einstellungen.

4

Das optionale users-Element enthält eine Liste aller Benutzer, die dem Image hinzugefügt wurden. Das user-Element enthält den Namen, den Pfad zu seinem Home-Verzeichnis, Passwort und die Shell.

5

Enthält eine obligatorische Liste der Repositorys, die der Paketmanager verwendet.

6

Enthält eine obligatorische Liste der Pakete, die im Image eingeschlossen sind.

Weitere Details über die Konfigurationsdatei werden in der obigen HTML-Datei gezeigt.