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.
Die folgende Tabelle enthält zusätzliche optionale Informationen. Die meisten Informationen sind jedoch für die Funktionalität des späteren Betriebssystems obligatorisch:
Tabelle 17-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 Die Datei config.xml |
|
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. |
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 vernünftigen 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 nachzuschlagen.
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 17-1 KIWI-Konfigurationsdatei
<image schemeversion="2.0" name="..."><description type="system">
<author>...</author> <contact>...</contact> <specification>...</specification> </description> <preferences>
<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">
<user name="root" pwd="" home="/root"/> </users> <repository type="rpm-md">
<source path="/home/rpmdir"/> </repository> <packages type="image" patternPackageType="onlyRequired">
<package name="yast2-live-installer"/> <package name="pam"/> <!-- List of packages reduced --> </packages>
|
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. |
|
Enthält eine obligatorische Beschreibung mit Informationen über den Ersteller dieser Image-Beschreibungen, seine Kontaktadresse und eine kurze Erläuterung. |
|
Enthält obligatorische Voreinstellungen mit Informationen über die Version dieses Image, den verwendeten Paketmanager, die unterstützten Image-Typen und andere Einstellungen. |
|
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. |
|
Enthält eine obligatorische Liste der Repositorys, die der Paketmanager verwendet. |
|
Enthält eine obligatorische Liste der Pakete, die im Image eingeschlossen sind. |
Weitere Details über die Konfigurationsdatei werden in der obigen HTML-Datei gezeigt.