PXE (Preboot eXecution Environment) ist eine Spezifikation für das Booten vom Netzwerk und wird üblicherweise für ThinClients oder auch "gemanangte" FatClients eingesetzt. PXE wird häufig auch zur automatisierten Installation verwendet.
Die meisten Mainboards mit integrierter Ethernet-Schnittstelle sind PXE-fähig. Einige Netzwerkkarten sind auch mit einem PXE-ROM ausgerüstet. Für alle anderen kann man mit netboot PXE-ROMs oder Disketten erstellen.
EtherBoot kann auch PXE fähige boot images erzeugen. Bei http://rom-o-matic.org kann man sich die einfach abholen.
Leider gibt es recht viele unterschiedliche Versionsstände und Implementierungen, die jeweils natürlich ihre spezifischen Bugs und Eigenarten haben, was einen Entwickler mal zu folgendem Ausspruch hingerissen hat:
- Es gibt nur eins, das noch kränker ist, als die PXE-Spezifikation - und das ist dessen Implementierung.
Für RedHat/Fedora kann man einen Server mit PXELINUX sehr leicht mit redhat-config-netboot/system-config-netboot einrichten.
Funktionsweise
- das PXE-ROM sendet eine DHCP-Anfrage
DhcpServer antwortet u.a. mit IP-Adresse und Dateiname der Bootdatei
PXE lädt über TFTP die Bootdatei (z.b. pxelinux (siehe SYSLINUX) oder EtherBoot), diese Datei kann maximal 32KB groß sein, deshalb kann man einen Kernel nicht direkt laden
- Bootdatei (Bootloader) lädt den Kernel
PXE Diskette erstellen
netboot runterladen
./configure --disable-mknbi-dos --disable-mknbi-linux --disable-mknbi-mgl
make
make install
makerom
Bootrom configuration program, Version 0.9.8 (netboot) Copyright (C) 1995-2003 G. Kuhlmann Build bootrom for a processor older than 386 (y/n) [no] ? Include support for old-style menus (not recommended) (y/n) [no] ? Do you want the BIOS to look for boot disks (y/n) [no] ? Do you want the bootrom to ask before booting from network (y/n) [no] ? List of known network cards: .... Select a network card (-1 to review the list) [-1]: 0 Known network card bus types: (1) ISA bus (including PnP) (2) EISA bus (3) MCA bus (4) PCI bus Select the bus type of your network card [1]: 1 Enter PnP device ID string (maybe empty): The following network driver interfaces are available: (1) Packet Driver Interface (PD) (2) Network Driver Interface Specification (NDIS) (3) Universal Network Driver Interface (UNDI) Select the interface you wish to use [1]: 2 Enter path of NDIS driver ('*' for directory listing): /tmp/3com/ndis2/el3c574.dos Enter minimum execution size in bytes (-1 = default) (decimal): -1 Enter maximum execution size in bytes (-1 = default) (decimal): -1 Enter path name of PROTOCOL.INI file ('*' for directory listing): /tmp/3com/ndis2/protocol.ini Do you want to specify an additional program (y/n) [no] ? Available output file types for rom image: (1) Raw binary (2) Intel hex (3) Motorola hex (4) Tektronix hex (5) Image for programming a FlashCard across the network Select the format you wish to use [1]:
dd if=image.flo of=/dev/fd0
Links
siehe auch EtherBoot