Good to Know Database

SuSE Linux 9.2: PXE einrichten


PXE wird verwendet um einen oder mehrere Rechner via Netzwerk vom Server booten zu lassen. Dadurch kann man sich die langsamen und unzähligen Boot-Disketten sparen.

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.

suse92:~ # 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.

suse92:~ # rcxinetd restart

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

suse92:~ # mcedit /etc/dhcpd.conf

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

allow booting;
allow bootp;

Sollte der PXE-Server nicht auf dem DHCP-Server laufen, müssen Sie mit folgender Zeile die IP-Adresse des PXE-Servers angeben.

next-server 192.168.10.2;

Unter filename muss das PXE-Menü 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.

suse92:~ # 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.

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

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

suse92:~ # mkdir /tftboot/pxelinux.cfg

Erstellen Sie nun in diesem Verzeichnis die Datei default.

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

So könnte 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 suse92
  kernel /suse92/linux
  append initrd=/suse92/initrd vga=791

Jetzt fehlt noch die Datei boot.msg.

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

Diese Datei ist das PXE-Menü und kann wie folgt aussehen.

                   Welcome to PXE Boot!

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

 -  To install SuSE Linux 9.2, type:      suse92 <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.

Erstellen eines DOS-Bootimages

Bevor Sie ein DOS-Bootimage erstellen können, benötigen Sie eine bereits funktionierende DOS-Bootdiskette. Vergessen Sie nicht das 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.

suse92:~ # mkdir /tftpboot/dosimage

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

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

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

suse92:~ # 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-Menü 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.

Erstellen eines SuSE Linux 9.2 Installations-Bootimages

Um SuSE Linux 9.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/suse92/.

suse92:~ # mkdir /tftpboot/suse92

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

suse92:~ # mount -t iso9660 /dev/hdc /mnt
suse92:~ # cp /mnt/boot/loader/initrd /tftpboot/suse92/
suse92:~ # cp /mnt/boot/loader/linux /tftpboot/suse92/

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

label suse92
  kernel /suse92/linux
  append initrd=/suse92/initrd vga=791

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

-  To install SuSE Linux 9.2, type:      suse92 <ENTER>

Jetzt können Sie mit dem Kommando suse92 am Bootprompt ihr SuSE Linux 9.2 Installations-Image booten. Da wir aber noch keine Installationsquelle eingerichtet haben, sollten Sie jetzt alle SuSE Linux 9.2 CDs 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 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 suse92
  kernel /suse92/linux
  append initrd=/suse92/initrd insmod=8139too insmod=e100 insmod=e1000 install=nfs://192.168.10.1:/nfs/suse92 vga=791

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

suse92:~ # rcxinetd restart
suse92:~ # rcdhcpd restart

Besteht noch weiterhin ein Problem, finden Sie hier eine Hilfestellung zu einigen Fehlerquellen:

http://www.openbrick.org/openbrick/Members/marcel/Howto/PureNetBoot


Dieser Eintrag wurde am 11.11.2004 erstellt und zuletzt am 03.11.2012 bearbeitet.

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

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer