2.3. Booten via PXE

Das "Preboot eXecution Environment" (PXE) ist eine Umgebung, mit dessen Hilfe Rechner via Netzwerkkarte booten können, ohne Festplatten oder andere Speichermedien zu benutzen.

Um einen Rechner via PXE booten zu können, wird nachfolgendes benötigt:

Beim Booten via PXE wird Ihnen exakt das gleiche Boot-Menü angezeigt, wie beim herkömmlichen Booten via CD-ROM, Floppydisk oder USB-Stick.

Nachdem der Rechner den Bootvorgang abgeschlossen hat, müssen Sie eine Quelle bereitstellen (CD-ROM, USB oder FTP/HTTP), analog zu den anderen Installationsmethoden.

Falls keine "LAN"-Option im BIOS für die Bootreihenfolge vorhanden sein sollte, können Sie PXE möglicherweise dennoch benutzen. Dies ist der Fall, da bei modernen Netzwerkkarten ein Bootagent, während des Bootprozesses des Rechners, diese Aufgabe übernimmt. Hierfür muss das Boot-EPROM der Netzwerkkarte entsprechend eingestellt sein.

2.3.1. Aktualisieren des Bootagenten der Netzwerkkarte

Falls Ihre Netzwerkkarte zu alt sein sollte und Sie Ihre Zeit nicht aufwändiger Fehlersuche verschwenden möchten, seien Sie ermutigt, zunächst die Firmware der alten Netzwerkkarte zu aktualisieren (PXE 2.0/Bootagent v4 oder höher).

Dieser Vorgang ist risikoarm, funktioniert allerdings nur mit Netzwerkkarten welche nicht auf dem Motherboard integriert sind. Bei Motherboards mit intergrierten Netzwerkschnittstellen, kann nur ein BIOS-Update (falls verfügbar) eine Lösung liefern.

Anweisungen für die Aktualisierung von Intel-Netzwerkkarten

  • Laden Sie boot.exe von der nachfolgenden Seite herunter und entpacken Sie die Datei. http://www.intel.com/support/network/adapter/pro100/bootagent/index.htm

  • Kopieren Sie die entpackten Dateien des IntelPRO/Bootagenten auf eine Diskette.

  • Starten die den Rechner von einer Dos-Bootdiskette, legen Sie anschließend die Diskette mit der Intel-Software ein und führen Sie folgenden Befehl aus:

    A:\>ibautil -upgrade

    Damit die Bootreihenfolge und die Einstellungen der Netzwerkkarten geändert werden können, aktivieren Sie ein zusätzliches Konfigurationsmenü, welches während des Starts des Rechners, aufgerufen werden kann:

    A:\>ibautil -setupenable -messageenable

Anweisungen für die Aktualisierung von 3Com-Netzwerkkarten

Anweisungen für die Aktualisierung von Realtek-Netzwerkkarten

2.3.2. Installation eines TFTP-Servers

Nachfolgend eine Kurzanleitung, zur Installation von "tftp-hpa" (die Installation anderer "Trivial File Transfer Protocol Server" ist ebenfalls eine gangbare Möglichkeit).

  • Übersetzen des Quellcodes und Installation

    configure && make install

    Benutzen Sie alternativ das Paketsystem Ihrer Distribution.

  • Konfigurieren Sie den TFTP-Server, so dass dieser das Verzeichnes /var/tftp (oder ein anderes, bevorzugtes Verzeichnis) verwendet.

    Installation unter Gentoo:

    • Die Konfiguration finden Sie in /etc/conf.d/in.tftpd, stellen Sie dort den Pfad ein: INTFTPD_PATH="/var/tftp"

    • Starten des TFTP-Servers

      /etc/init.d/in.tftpd start

  • Platzieren der Dateien, welche per PXE geladen werden

    • Entpacken Sie das "ipcop-install-pxe"-Paket in dem Verzeichis /var/tftp

      tar -C /var/tftp -xvzf ipcop-install-pxe-(version).i386.tgz

    • Verlinken oder kopieren Sie die Datei ipcop-pxe.model auf eine Datei, deren Dateiname mit '01-' beginnnt und mit der MAC-Address der Netzwerkkarte (in Kleinschrift) endet.

      cd /var/tftp/pxelinux.cfg
      ln -sf ipcop-pxe.1.4.11.model 01-00-90-27-92-44-bd

2.3.3. Konfiguration des DHCP-Servers

Der DHCP-Server wird zur Verteilung von IP-Adressen benötigt. An dieser Stelle wird auch die Adresse des TFTP-Servers mitgeteilt. Man kann auch einen anderen IPCop als DHCP-Server verwenden.

Die Konfiguration des DHCP-Servers findet man beim IPCop unter Dienste -> DHCP-Server im WebGUI des IPCops:

  • Aktivieren der Checkbox "BOOTP Clients zulassen:"

  • Feste IP-Adresse vergeben:

    • MAC-Adresse der Netzwerkkarte

    • Die IP-Adresse muss ausserhalb des dynamischen DHCP-Bereiches (Start/Endbereich) liegen, jedoch innerhalb des Netzbereiches.

    • Eintrag im Feld "next server": IP-Adresse des TFTP-Servers

    • Eintrag im Feld "filename": "pxelinux.0"

    • Das Feld "root-path" kann leer bleiben, wenn der TFTP-Server im chroot-Modus läuft.

Der TFTP-HPA-Server läuft im chroot-Modus in einem festgelegten Verzeichnis, wenn die Option -s angegeben wurde. Dies bietet mehr Sicherheit. In diesem Fall muss das Root-Verzeichnis nicht mit eingeschlossen werden.

Für weitere Informationen siehe: http://syslinux.zytor.com/pxe.php#tftp

Nachdem der neue IPCop installiert wurde, sollten vor dem normalen Boot-Vorgang folgende Konfigurationen geändert werden:

  • Deaktivierung des Boot-Agents auf der Netzwerkkarte

  • oder Deaktivierung der festen IP-Adresse im DHCP-Server

  • oder Löschung des Links bzw. des MAC-Files in /var/tftp/pxelinux.cfg

Die 2. und 3. Lösung verursacht beim Starten eine kleine Verzögerung, bis der PXE-Boot fehlschlägt.

2.3.4. Fehlersuche

Sicherstellen, dass der TFTP-Server läuft:

ps ax | grep [t]ftp

Benutzen Sie tcpdump auf einem anderen PC, welcher sich im gleichen Subnetz befinden muss:

  • Schreiben einer Log-Datei:

    tcpdump -i eth0 -n tcpdump.log

    Sie können diesen Vorgang mittels STRG-C stoppen.

  • Lesen der Log-Datei:

    tcpdump -r tcpdump.log

    (Zeigt nur die Kopfzeilen des Datenverkehrs.)

    tcpdump -Ar tcpdump.log

    (Zeigt den Datenverkehr im Detail. Dies ist eine gute Lösung zur Auswertung von Fehlermeldungen.)