SDB:KIWI Kochbuch Virtuelles Abbild

Wechseln zu: Navigation, Suche


Bau des Abbildes für eine virtuelle Maschine unter Verwendung des VMware-Formats.
Getestet mit openSUSE Empfohlene Artikel Verwandte Artikel
Icon-checked.png

Icon-manual.png Icon-help.png



Virtuell funktionierend - unser drittes Rezept


Die vorhergehenden Beispiele zielten auf die Erstellung von ISO-Abbildern, die Sie testen und mit Qemu als eine LiveCD/DVD laufen lassen konnten.

KIWI unterstützt die Erstellung virtueller Abbilder von Xen und VMware. Virtualbox, eine andere beliebte Visualisierungsumgebung, unterstützt das virtuelle Plattenformat von VMware. So könnten Sie Virtualbox oder VMware player verwenden, um das VMware-Abbild, das in diesem Beispiel geschaffen wird, auszuführen.

Noch einmal werden wir ein openSUSE 11.4 Beispiel als Ausgangspunkt verwenden.

VMware Image

VMware Rezept

Vorbereitungszeit:

  • 25 min

Kochzeit:

  • 13 min

Zutaten:

  • ein laufendes openSUSE 11.4 System
  • ein openSUSE 11.4 Repository, (online, DVD, oder ISO Abbild)
  • den neuesten KIWI Werkzeugsatz installiert
  • über 8 GB freien Speicherplatz


Routine einrichten

  • Erste Schritte

Grundsätzlich wird empfohlen, unterschiedliche Abbildtypen in verschiedenen Verzeichnissen zu bearbeiten.

Erstellen Sie Arbeitsverzeichnisse

# mkdir /tmp/myvmguest
# mkdir /tmp/myvm-root
# mkdir /tmp/myvm-image


Kopieren Sie das Beispiel und verwenden Sie es als Ausgangspunkt

# cp -a /usr/share/doc/packages/kiwi/examples/suse-11.1/suse-vm-guest/* /tmp/myvmguest
# cd /tmp/myvmguest


TIPP: Wenn Sie den Prozess zum Erstellen eines neuen Abbildes starten, sollten Sie immer Ihre Arbeitsverzeichnisse erstellen und eine Beispiel-Abbild-Beschreibung kopieren, das Sie als Basis für Ihr eigenen Abbild geeignet finden.
  • Zweiter Schritt

Ändern Sie die Datei config.xml nach Ihren Wünschen, d.h. Änderung der Beschreibung, hinzufügen neuer Pakete u.s.w.

Die Datei config.xml für VMware

Wenn Sie sich die Datei config.xml (/tmp/myvmguest/config.xml) ansehen, werden Sie bedeutende Änderungen in Bezug auf die Typ (type)-Markierung und das Vorlieben (preferences)-Element bemerken. Verglichen zu der vorhergehenden Verwendung der Typ (type)-Markierung werden neue Attribute verwendet und der Wert für die VMware-Abbild-Generierung änderte sich. Lassen Sie uns einen näheren Blick auf die Typ (type)-Markierung werfen.

Die Typ (type)-Markierung

Die Datei config.xml für unser vorhergehendes beispiel, das Beispiel LiveCD, enthielt eine Typ-Elemente-Definition wie folgt:

<type primary="true" boot="isoboot/suse-11.4" flags="unified">iso</type>

Der Wert "iso" spezifiziert, das die Typenerklärung verwendet wird, ein Abbild vom Typ iso zu erzeugen, d.h. eine LiveCD. KIWI unterstützt die Erstellung vieler Abbild-Typen aus der gleichen Abbild-Beschreibung, d.h. mehrere "Typ (type)"-Deklarationen werden unterstützt. Darum brauchen wir einen Weg, um anzuzeigen, welcher Typ als Standard erstellt werden soll (kein --type Argument auf der Kommandozeile). Das wird mit dem primary-Attribut ausgeführt. Die Einstellung primary="true" setzt den Abbild-Typ als Standard.

Bitte schlagen Sie im KIWI Image System Cookbook, das mit dem kiwi-doc-Paket installiert wurde, unter /usr/share/doc/packages/kiwi/kiwi.pdf oder in der Online-Version hier nach, wenn Sie mehr über die Details der "boot-" und "flags-" Attribute wissen möchten.

Die Typ-Element-Definition für VMware-Abbilder wird unten gezeigt:

<type primary="true" filesystem="ext3" boot="vmxboot/suse-11.1" format="vmdk">vmx</type>

Der Wert "vmx" spezifiziert, dass diese Typen-Deklaration verwendet wird, um Abbilder zu erstellen, die für den VMware-Werkzeug-Satz verwendbar ist. Wie im LiveCD-Beispiel ist das "primary"-Attribut auf "true" gestzt, um dieses Abbild zum Standard-Abbild zu machen. Das Abbild wird das VMware-Plattenformat vmdk mit einem ext3-Datei-System verwenden.

Wenn wir die gleiche Abbild-Beschreibung verwenden wollten, um mehrere Abbilder zu erstellen, können wir mehrere "type"-Elemente in die Datei config.xml hinzufügen, wie oben erwähnt. Das folgende Beispiel zeigt, wie das in der config.xml spezifiziert ist.

<preferences>
  <type primary="true" filesystem="ext3" boot="vmxboot/suse-11.1" format="vmdk" >vmx</type>
  <type boot="isoboot/suse-11.1" flags="unified" >iso</type>
</preferences>

In diesem Beispiel wird das VMware-Abbild als Standard betrachtet. Darum ist es notwendig, das iso Kommandozeilen-Argument --type zum Aufruf von KIWI hinzu zu fügen, um die Erzeugung eines LiveCD-Abbildes auszulösen. Beachten Sie, dass die Spezifizierung eines Typs auf der Kommandozeile, der nicht in der XML konfiguriert ist, einen Fehler auslösen wird.

Abschnitt VMware-Konfiguration

In der Datei config.xml für das VMware-Abbild, das mittels KIWI erstellt werden soll, müssen wir die Attribute für die VM selbst spezifizieren. Die VM-Attribute werden mit dem vmwareconfig-Element spezifiziert.

VMware erfordert eine so genannte Gastkonfiguration. Diese Konfiguration spezifiziert das virtuelle Hardware-Profil, d.h. Festplatte, Speicher u.s.w. Das VMware Hardware-Profil kann im vmwareconfig-Element der KIWI-config.xml-Datei spezifiziert werden. Der KIWI-Werkzeugsatz wird den Abschnitt bearbeiten und erzeugt die geeignete Codierung für VMware. Nachfolgend ist ein kurzes Beispiel:

<vmwareconfig memory="512">
  <vmwaredisk controller="ide" id="0"/>
</vmwareconfig>

Basierend auf diese Informationen wird KIWI ein VMware-Gast-Abbild mit 512 MB RAM und eine IDE-Platten-Comtroller-Schnittstelle mit der Platten-ID 0 erstellen.

Der Bau eines VMware-Abbildes mit KIWI erlaubt es Ihnen, Pakete auf einer bedingten Basis einzuschließen. D.h. Pakete, die nur einbezogen werden, wenn Sie ein VMware-Abbild bauen. Andere Abbild-Typen unterstützen ebenso diese Funktionalität. Details finden Sie im KIWI Abbild-System-Kochbuch unter /usr/share/doc/packages/kiwi/kiwi.pdf, das mit dem kiwi-doc-Paket installiert wird, oder Online hier. Wie man bedingte Pakete mit dem "Typ (type)"-Attribut im "Paket (package)"-Element einschließt, wird unten gezeigt.

<packages type="vmware">
</packages>
  • Bau des VMware-Abbildes

Mit den abgeschlossenen Änderungen, können wir nun mit dem Bau der virtuellen Maschine VMware, unter Verwendung von KIWI, fortfahren. Das folgende Kommando verwendet ebenfalls die automatisch eingebundene DVD als Installationsquelle. Wie kürzlich bemerkt, wird erwartet, dass das Zielverzeichnis leer ist. Andernfalls wird der KIWI-Werkzeugsatz einen Fehler ausgeben.

  • Abbild-Vorbereitung
# kiwi --prepare /tmp/myvmguest --root /tmp/myvm-root --set-repo /media/SU1110.001


  • Abbild-Erstellung
# kiwi --create /tmp/myvm-root -d /tmp/myvm-image


Wenn der Abbild-Erstellungs-Prozess abgeschlossen ist, können Sie die entstandenen Dateien .vmx und .vmdk unter /tmp/myvm-image verwenden, um VM im VMware-Player oder in der Virtualbox zu betreiben.

Zusätzlich erzeugt KIWI eine Datei mit der .raw-Erweiterung (im gleichen Verzeichnis abgelegt). Diese Datei hat die gleiche Struktur wie eine physische Festplatte und kann mit Qemu verwendet werden. Sie wird nicht benötigt, wenn das Abbild mit VMware-Player oder der Virtualbox verwendet wird.

Sie können die .raw-Datei wie folgt mit dem Qemu-Kommando verwenden:

# qemu /tmp/myvm-image/suse-11.1-vm-guest.i686-1.1.2.raw -m 256


Vorbehalte in Bezug auf die Abbild-Bezeichnung und den Bau im 64 bit Modus gelten wie in den Kochbuch-Grundlagen angegeben.

Hätten wir Xen als die bevorzugte virtuelle Umgebung für dieses Beispiel gewählt, hätte KIWI das Xen spezifische virtuelle Festplatten-Abbild als Ergänzung zur .raw-Datei erzeugt.