SDB:KIWI Kochbuch AutoYaST

Wechseln zu: Navigation, Suche


Wie die grafische Oberfläche von YaST und AutoYaST als Konfigurations-Werkzeug zur Erstellung eines Abbildes mit Kiwi zu verwenden ist.
Getestet mit openSUSE Empfohlene Artikel Verwandte Artikel
Icon-checked.png

Icon-manual.png Icon-help.png



KIWI und AutoYaST - eine Kombination mit Gewinn

Dieses Beispiel wird Sie auf dem Weg begleiten, um eine AutoYaST-Datei zu erstellen und sie mit Kiwi zu verwenden, mit dem Ziel Ihr System automatisch während des Starts zu konfigurieren.


KIWI und AutoYaST

AutoYaST Rezept

Vorbereitungszeit:

  • 10 min

Kochzeit:

  • 15-25 min abhängig von der Bandbreite (siehe oben) und Hardware des Gastgebers

Zutaten:

  • ein laufendes openSUSE System
  • ein openSUSE Repository
  • den neuesten Kiwi-Werkzeugsatz installiert
  • installietes kiwi-doc Paket
  • über 2 GB freien Speicherplatz

AutoYaST

Die Installationsmethode von AutoYaST erlaubt eine fast komplette Anpassung einer Installation unter Verwendung einer XML-Steuer-Datei. Sie können diese Hardware unabhängige Datei leicht erstellen und verändern unter Verwendung des Autoinstallations-Werkzeuges. Das beste ist, AutoYaST-Dateien sind portabel. Die Konfiguration kann einmal erstellt werden und oft in einem weiten Bereich von Hardware-Konfigurationen mit wenig oder keinen Änderungen verwendet werden.

Kiwi Abbild-Beschreibung

Um in der Lage zu sein, ein Abbild mit Kiwi zu erzeugen, muss eine sogenannte Abbild-Beschreibung erstellt werden. Die Abbild-Beschreibung wird durch ein Verzeichnis repräsentiert, das mindestens eine Datei mit der Bezeichnung config.xml enthält, die die Haupt-Steuerdatei von Kiwi ist. Es sind weitere Dateien in diesem Verzeichnis möglich, eine von ihnen ist die Datei config-yast-autoyast.xml.

Das ist eine Konfigurationsdatei, die von AutoYaST verwendet wird, die von Kiwi behandelt werden kann und Ihr Abbild wie folgt einrichtet:

  1. Während das Abbild bootet, wird YaST im AutoYaST-Modus automatisch gestartet.
  2. Die AutoYaST Beschreibung wird analysiert und die Anweisungen von YaST ausgeführt.
  3. Wenn der Prozess erfolgreich abgeschlossen ist, wird die Umgebung bereinigt und AutoYaST wird beim nächsten Neustart nicht aufgerufen.

Unglücklicher Weise können Sie nicht alle Funktionen von AutoYaST mit Kiwi nutzen, weil einige Teile von beiden Werkzeugen ausgeführt werden.

Sie können nicht alle Installations-Teile von AutoYaST verwenden (oft als Abschnitt 1 bezeichnet), z.B. Partitionierung, Anfangs-Paket-Installation, weil Kiwi das Gleiche macht. Aber Sie können Konfigurations-Teile von AutoYaST verwenden (oft als Abschnitt 2 bezeichnet).

Erstellung einer AutoYaST-XML-Datei

Bitte haben Sie die folgenden Pakete installiert:

  • autoyast2
  • autoyast2-installation
  • yast2-ntp (für unser Beispiel)
# zypper in autoyast2 autoyast2-installation


Sie werden das Werkzeug Autoinstallation in YaST unter der Sektionunder the section Verschiedenes finden. Oder Sie können es direkt auf der Kommandozeile starten mit

# yast2 autoyast


Ihnen wird nun ein Fenster präsentiert, das es Ihnen erlaubt, die meisten Ihrer Installations-Optionen zu konfigurieren, so als ob Sie eine neue Maschine installieren. Sie können mit dem Menüsystem fortfahren, Ihre Optionen für Ihr System zu konfigurieren.

Als Beispiel würde ich gern den NTP-Server einrichten

  1. Klick auf Netzwerk Service
  2. Klick auf NTP Konfiguration
  3. Klick auf Bearbeiten

Sie werden nun das YaST-Konfigurations-Modul für den NTP-Service sehen.

  1. wähle Jetz und beim Booten
  2. akzeptieren Sie die Warnnachricht, dass Sie eine permanente Internetverbindung benötigen
  3. wähle Auto als Laufzeitpolitik
  4. klick Hinzufügen
  5. wähle Server und drücke den Knopf weiter
  6. wähle aus dem Drop-down rechts Öffentlicher NTP Server
  7. wählen Sie Ihr Land und den NTP Server Ihrer Wahl
  8. drücke Test, um zu sehen, dass er erreichbar ist
  9. drücke Ok, um den Auswahl-Dialog zu beenden
  10. drücke Ok, um den Server-Dialog zu beenden

Nun haben wir unseren NTP-Server eingerichtet und konnten die YaST-NTP-Konfiguration durch OK beenden.

Der letzte Schritt ist es, die Datei autoyast.xml zu sichern. Gehen Sie nun zur Menüleiste und wählen Datei - Speichern unter und geben Sie den Namen config-yast-autoyast.xml ein.

Der Standardort, wohin die Datei geschrieben wird ist /var/lib/autoinstall/repository. Später werden wir sie mit Kiwi benötigen, darum könnten Sie sie auch direkt im Verzeichnis unserer Kiwi-Abbild-Beschreibung speichern.

Die grafische Oberfläche von AutoYaST kann mehr. Sie können einzelne Module Klonen, indem Sie nur einen einzelnen Knopf drücken. Oder Sie können die Konfiguration von einem Modul auf das momentan laufende System anwenden. Und schließlich können Sie Ihre XML-Datei auf Syntax-Fehler überprüfen.

Setzen wir alles zusammen

Nun haben wir die benötigten Stücke beisammen. Lassen Sie uns nun noch einmal auf den Arbeitsablauf schauen

  1. yast2 autoyast
  2. Konfiguration einrichten
  3. speichern oder kopieren der Datei als config-yast-autoyast.xml in das Verzeichnis der Kiwi-Abbild-Beschreibung
  4. stellen Sie sicher, dass AutoYaST Teil des Abbildes ist
  5. Bau des Abbildes

So, Schritt für Schritt

Erstelle eine Bau-Verzeichnis-Struktur

# mkdir -p /tmp/myimage/img


Klonen Sie eine JeOS Vorlage in Ihr Bau-Verzeichnis

# kiwi --clone suse-11.1-JeOS -d /tmp/myimage


Erzeugen Sie eine Datei AutoYaST xml

# yast2 autoinstall

save it as /tmp/myimage/config-yast-autoyast.xml

Fügen Sie die Pakete autoyast2,autoyast2-install zu Ihrer Kiwi-Datei config.xml oder fügen Sie sie mit dem Parameter --add-package hinzu.

Weil wir für dieses Beispiel die JeOS Vorlage verwenden, müssen wir einige zusätzliche Pakete zu unserer Kiwi-Datei control.xml hinzufügen, damit das Beispiel funktioniert.

Gehen Sie zu der Paketliste in Ihrer Datei config.xml, um die gegenwärtige Paketliste zu sehen, die für das Abbild ausgewählt sind und fügen Sie folgende pakete hinzu:

<packages type="image">
 ...
 <package name="autoyast2"/>
 <package name="autoyast2-installation"/>
 <package name="yast2-ncurses"/>
 <package name="yast2-sysconfig"/>
 <package name="yast2-ntp"/>
 <package name="ntp"/>
 <package name="yast2-network"/>
 ...
</packages>
# kiwi --build /tmp/myimage --destdir /tmp/myimage/img


Sie können das mit Hilfe von --add-package im Flug machen, z.B.

# kiwi --build /tmp/myimage --destdir /tmp/myimage/img --add-package autoyast2 --add-package autoyast2-installation --add-package yast2-ncurses --add-package yast2-sysconfig --add-package yast2-ntp --add-package ntp --add-package yast2-network


Lassen Sie uns sehen, was passiert (wenn Sie qemu-kvm haben, wird es schneller sein)

qemu /tmp/myiso-result/suse-11.1-live-iso.i686-2.5.1.iso -m 512

Sie werden sehen, dass YaST während des Bootvorganges gestartet wurde und den NTP-Service konfiguriert. Um die Einstellungen zu überprüfen, können Sie in die Konfigurations-Datei von NTP schauen, ob Ihre Einstellungen da sind, die Sie mit der grafischen Oberfläche von AutoYaST durchgeführt haben.

# cat /etc/ntp.conf


Mit meinen Einstellungen sieht es so aus:

server de.pool.ntp.org iburst
# key (7) for accessing server variables
# controlkey 15                 # key (6) for accessing server variables


Wenn Sie gerne eine grafische Oberfläche verwenden wollen, müssen Sie auf die Version von openSUSE achten.

Für die Einrichtung einer X-Konfiguration vor openSUSE 11.3 müssen Sie sax2 -a als Teil von /etc/init.d/boot.local hinzufügen. Das gilt auch für SUSE Linux Enterprise Server bis zu Version 11 SP1.

Details finden Sie im Rezept SDB:KIWI Cookbook GNOME System, wo wir dieses auch verwendeten.

Ab openSUSE 11.3 konfiguriert X automatisch.