Logo  
Menü
 
PXE-Boot V2

 

Best viewed with open Eyes
Tips/Anleitungen - PXE-Boot Version2
 

Bootmanager per pxelinux

pxelinux ist in syslinux enthalten.
(Es funktioniert auch unter Windows mit Tftp32 als DHCP- und TFTP-Server.)

Ziel dieses Artikels ist ein Bootmenü (per PXE-Boot) zu bekommen. Hier wird nur auf die Konfiguration unter Linux eingegangen.

Die Startdiskette:
Jetzt benötigen wir "normale" Images von Disketten (1:1). Diese kann man wieder mit vfd (VirtualFloppyDrive) und FloppyImage (unter Settings "Create compatible IMG files" einschalten) unter Windows erstellen. Meine PXE-Bootdisk ist auch ganz gut geeignet.

Der Server:
Jetzt benötigen wir eventuell andere Dämonen. Als DHCP wird DHCP3 installiert. Der TFTP-Dämon muss T-Size unterstützen. (Siehe auch Doku zu pxelinux)
Ich habe unter Debian "dhcp3-server" und "atftpd" installiert.

TFTP einrichten ist wieder einfach. Nur eventuell das Downloadverzeichnis anpassen. (in der /etc/inetd.conf)
Die DHCP-Einrichtung ist fast die gleiche wie beim "alten" DHCP-Dämon. Nur das hierbei eine andere Startdatei angegeben wird:

[...]
default-lease-time 1800;
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.51 192.168.0.99;
        filename "pxelinux.0";
}
[...]

So langsam sollten wir uns an die notwendigen Dateien für den TFTP-Server machen.
In das Verzeichnis des Servers müssen folgende Dateien kopiert werden:

pxelinux.0
memdisk
menu.c32
Für die Images habe ich ein eigenes Verzeichnis angelegt: FloppyImage.
Ein Verzeichnis mit dem Namen pxelinux.cfg muss noch erstellt werden. In diesem Verzeichnis kommen die Konfigurationen von pxelinux. Wir benötigen nur eine Konfiguration. Deshalb wird dort nur eine default-Datei angelegt.
Ein Beispiel einer default-Datei:
Nachdem das Bootmenü angezeigt wird, hat man 10 Sekunden etwas auszuwählen. Sonst startet der Rechner von der lokalen Festplatte.
Unter dem Label DOS_N (bei APPEND) teilt man mit der Option keeppxe mit, dass der PXE-Stack erhalten bleiben soll. Dieses ist notwendig für unsere PXE-Bootdiskette. Falls ein Diskettenimage nicht starten sollte, hilft meistens die Option raw.

Für (Debian-)Linuxinstallation kopieren wir uns von einem Installationsserver, im Internet, das Verzeichnis debian-installer/ in unser Downloadverzeichnis des TFTP-Servers. Eventuell muss unsere default-Datei angepasst werden.
Nach jedem angebotenem Kernelupdate muss auch dieses Verzeichnis wieder erneut kopiert werden.
Die Linuxinstallation ist hier noch mit einem Passwort (großes A) abgesichert.

Untermenüs kann man mit folgenden Block in unserer default-Datei erstellen:

[...]
LABEL Tools
  MENU LABEL Tools ...
  KERNEL menu.c32
  APPEND pxelinux.cfg/ToolsMenu.conf
[...]
Die angegebene Datei hat den gleichen Aufbau wie unsere default-Datei. Um wieder von einem Untermenü zurück zu kommen ist folgendes im Untermenü sinnvoll:
[...]
LABEL back
  MENU LABEL zurueck
  KERNEL menu.c32
  APPEND pxelinux.cfg/default
[...]

Weitere Informationen bietet die Dokumentation von syslinux-Paket.

http://www.physik.fu-berlin.de/de:w/hpl/woidt/turnschuhadmin/netzwerkboot.html (Link funktioniert nicht mehr) geht noch ein wenig tiefer in das Thema ein.

Olaf Kortmann, 01.12.2008
 
Info's / Hilfe
 

Alle Betriebssysteme übers Netz booten.

 
Copyright © Olaf Kortmann, 2005-2006