Good to Know Database

openSUSE 10.2: PXE


1. Einleitung

PXE wird verwendet um einen oder mehrere Rechner vom Netzwerk zu booten. Dadurch kann man sich die langsamen Boot-Disketten sparen.

2. Installation und Konfiguration

Bevor mit der eigentlichen Konfiguration begonnen wird, muss man einen funktionierenden DHCP-Server haben. Damit Sie einen PXE-Server einrichten können, müssen Sie die Pakete tftp, mtools, syslinux, bootsplash, bootsplash-theme-SuSE, mit allen benötigten Paketen installieren.

Nach der Installation müssen Sie die Datei /etc/xinetd.d/tftp etwas anpassen.

opensuse:~ # mcedit /etc/xinetd.d/tftp

Suchen Sie nun die folgende Zeile und löschen diese:

disable = yes

Jetzt müssen Sie den xinetd neu starten.

opensuse:~ # rcxinetd restart

Da dem PXE-Client auch mitgeteilt werden muss unter welcher Adresse der PXE-Server erreichbar ist und wo das Boot-Image liegt, müssen Sie nun die dhcpd.conf anpassen.

opensuse:~ # mcedit /etc/dhcpd.conf

Fügen Sie nun die folgenden Zeilen am Anfang der dhcpd.conf ein:

allow booting;
allow bootp;

Mit der folgenden Option geben Sie die IP-Adresse des PXE-Servers an.

next-server 192.168.10.1;

Unter filename muss der PXE-Bootloader angegeben werden. Da wir PXELINUX verwenden muss dieser Eintrag so aussehen:

filename "pxelinux.0";

Nachdem Sie die dhcpd.conf angepasst haben, müssen Sie den DHCP-Server neu starten.

opensuse:~ # rcdhcpd restart

Da wir aber noch kein Boot-Image erstellt haben, wird der Client nur eine IP-Adresse zugewiesen bekommen und dann abbrechen. Deshalb erstellen Sie jetzt das Verzeichnis /tftpboot und kopieren die Datei /usr/share/syslinux/pxelinux.0 in dieses Verzeichnis.

opensuse:~ # mkdir /tftpboot
opensuse:~ # cp /usr/share/syslinux/pxelinux.0 /tftpboot/

Erstellen Sie jetzt das Unterverzeichnis /tftboot/pxelinux.cfg/.

opensuse:~ # mkdir /tftpboot/pxelinux.cfg

Erstellen Sie nun in diesem Verzeichnis die Datei default.

opensuse:~ # mcedit /tftpboot/pxelinux.cfg/default

So könnte zum Beispiel ihre default Datei aussehen in der Sie den Kernel und das Bootimage mit den gewünschten Optionen eintragen.

display /pxelinux.cfg/boot.msg

prompt 1
default dos
timeout 100

label dos
  kernel /dosimage/memdisk
  append initrd=/dosimage/dosimage.img

label suse10.2
  kernel /suse10.2/linux
  append initrd=/suse10.2/initrd vga=791

Jetzt fehlt noch die Datei boot.msg in welcher das PXE-Bootmenü eingetragen wird.

opensuse:~ # mcedit /tftpboot/pxelinux.cfg/boot.msg

Diese Datei kann wie folgt aussehen.

                   Welcome to PXE Boot!

 -  To boot DOS [default], type:           dos      <ENTER>

 -  To install openSUSE 10.2, type:        suse10.2 <ENTER>

Timeout = 10s                           by Georg Kainzbauer

Wenn Sie jetzt einen Client mit PXE booten, sollten Sie bereits das Bootmenü sehen. Sie müssen jetzt nur noch das eigentliche Bootimage für PXE hinterlegen.

3. Ein DOS-Bootimages erstellen

Bevor Sie ein DOS-Bootimage erstellen können, benötigen Sie eine bereits funktionierende DOS-Bootdiskette. Vergessen Sie nicht, dass Sie die Netzwerktreiber einbinden wenn Sie auf Netzwerkfreigaben zugreifen wollen.

Wenn Sie eine DOS-Bootdiskette erstellt haben, erstellen Sie das Unterverzeichnis /tftpboot/dosimage/ auf ihrem PXE-Server.

opensuse:~ # mkdir /tftpboot/dosimage

Kopieren Sie jetzt die Datei /usr/share/syslinux/memdisk in dieses Verzeichnis.

opensuse:~ # cp /usr/share/syslinux/memdisk /tftpboot/dosimage/

Legen Sie die Bootdiskette ein und erstellen Sie folgendermaßen ein Image ihrer Bootdiskette.

opensuse:~ # dd if=/dev/fd0 of=/tftpboot/dosimage/dosimage.img

Sollte der folgende Absatz in der Datei /tftpboot/pxelinux.cfg/default noch fehlt, tragen Sie ihn bitte ein.

label dos
  kernel /dosimage/memdisk
  append initrd=/dosimage/dosimage.img

Damit das Bootimage auch im PXE-Bootmenü angezeigt wird, muss folgende Zeile in der Datei /tftpboot/pxelinux.cfg/boot.msg stehen.

-  To boot DOS [default], type:           dos      <ENTER>

Jetzt können Sie mit dem Kommando dos am Bootprompt ihr DOS-Image booten.

4. openSUSE 10.2 Installations-Bootimage einbinden

Um openSUSE 10.2 vom Netzwerk zu installieren ist meist eine Diskette oder eine Boot-CD notwendig. Hier beschreibe ich wie Sie die Installation komplett vom Netzwerk durchführen können.

Erstellen Sie zuerst das Verzeichnis /tftpboot/suse10.2/.

opensuse:~ # mkdir /tftpboot/suse10.2

Kopieren Sie die Dateien /boot/loader/initrd und /boot/loader/linux von der ersten Installations-CD oder der ersten DVD in dieses Verzeichnis.

opensuse:~ # mount -t iso9660 /dev/hdc /mnt
opensuse:~ # cp /mnt/boot/loader/initrd /tftpboot/suse10.2/
opensuse:~ # cp /mnt/boot/loader/linux /tftpboot/suse10.2/

Ergänzen Sie jetzt die Datei /tftpboot/pxelinux.cfg/default um folgenden Eintrag.

label suse10.2
  kernel /suse10.2/linux
  append initrd=/suse10.2/initrd vga=791

Anschließend erweitern Sie das PXE-Bootmenü um folgenden Eintrag.

-  To install openSUSE 10.2, type:        suse10.2 <ENTER>

Jetzt können Sie mit dem Kommando suse10.2 am Bootprompt ihr openSUSE 10.2 Installations-Image booten. Da wir aber noch keine Installationsquelle eingerichtet haben, sollten Sie jetzt alle openSUSE 10.2 CD's bzw. die erste DVD in ein Verzeichnis kopieren und dieses per NFS, FTP oder HTTP freigeben. Zu beginn der Installation müssen Sie dann die erstellte Installationsquelle angeben. Sollten Sie zum Beispiel NFS verwenden, können Sie den Installationspfad gleich als Option für das Bootimage mit angeben. Dazu ändern Sie die Datei default wie folgt ab.

label suse10.2
  kernel /suse10.2/linux
  append initrd=/suse10.2/initrd
  install=nfs://192.168.10.1:/nfs/suse10.2 vga=791

Jetzt sollte ihr PXE-Server einsatzbereit sein. Wenn es nicht auf Anhieb funktioniert, starten Sie den xinetd und den dhcpd nochmals neu.

opensuse:~ # rcxinetd restart
opensuse:~ # rcdhcpd restart


Dieser Eintrag wurde am 29.12.2006 erstellt und zuletzt am 09.01.2010 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_35_865.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer