In diesem Abschnitt werden die für komplexe Bootszenarios erforderlichen Konfigurationsschritte beschrieben. Er enthält zudem Konfigurationsbeispiele für DHCP, PXE-Boot, TFTP und Wake-on-LAN.
Das Einrichten eines DHCP-Servers unter SUSE Linux erfolgt manuell durch Bearbeiten der entsprechenden Konfigurationsdateien. In diesem Abschnitt wird beschrieben, wie eine vorhandene DHCP-Serverkonfiguration erweitert wird, sodass sie die für eine TFTP-, PXE- und WOL-Umgebung erforderlichen Daten zur Verfügung stellt.
Die einzige Aufgabe des DHCP-Servers ist neben der Bereitstellung der automatischen Adresszuweisung für die Netzwerkclients die Bekanntgabe der IP-Adresse des TFTP-Servers und der Datei, die von den Installationsroutinen auf dem Zielcomputer abgerufen werden soll.
Melden Sie sich als root
auf dem Computer an, auf dem der DHCP-Server laufen soll.
Fügen Sie der Konfigurationsdatei des DHCP-Servers, die sich unter
/etc/dhcpd.conf befindet, folgende Zeilen
hinzu:
group {
# PXE related stuff
#
# "next server" defines the tftp server that will be used
next server ip_tftp_server:
#
# "filename" specifies the pxelinux image on the tftp server
# the server runs in chroot under /srv/tftpboot
filename "pxelinux.0";
}
Ersetzen Sie ip_tftp_server durch die
IP-Adresse des TFTP-Servers.
Weitere Informationen zu den in dhcpd.conf
verfügbaren Optionen finden Sie auf der Manualpage von
dhcpd.conf.
Starten Sie den DHCP-Server neu, indem Sie rcdhcpd restart ausführen.
Wenn Sie SSH für die Fernsteuerung einer PXE- und Wake-on-LAN-Installation verwenden möchten, müssen Sie die IP-Adresse, die der DHCP-Server dem Installationsziel zur Verfügung stellen soll, explizit angeben. Ändern Sie hierzu die oben erwähnte DHCP-Konfiguration gemäß folgendem Beispiel:
group {
# PXE related stuff
#
# "next server" defines the tftp server that will be used
next server ip_tftp_server:
#
# "filename" specifiies the pxelinux image on the tftp server
# the server runs in chroot under /srv/tftpboot
filename "pxelinux.0";
host test { hardware ethernet mac_address;
fixed-address some_ip_address; }
}
Die Host-Anweisung gibt den Hostnamen des Installationsziels an. Um den Hostnamen und die IP-Adresse an einen bestimmten Host zu binden, müssen Sie die Hardware-Adresse (MAC) des Systems kennen und angeben. Ersetzen Sie alle in diesem Beispiel verwendeten Variablen durch die in Ihrer Umgebung verwendeten Werte.
Nach dem Neustart weist der DHCP-Server dem angegebenen Host eine statische IP-Adresse zu, damit Sie über SSH eine Verbindung zum System herstellen können.
Das Einrichten eines TFTP-Servers erfolgt entweder mit YaST oder manuell auf einem beliebigen Linux-Betriebssystem, das xinetd und tftp unterstützt. Der TFTP-Server übergibt das Bootimage an das Zielsystem, sobald dieses gebootet ist und eine entsprechende Anforderung sendet.
Melden Sie sich als root
an.
Starten Sie ++ und installieren Sie das erforderliche Paket.
Klicken Sie auf , um sicherzustellen, dass der Server gestartet und in die Bootroutine aufgenommen wird. Ihrerseits sind hierbei keine weiteren Aktionen erforderlich. tftpd wird zur Bootzeit von xinetd gestartet.
Klicken Sie auf , um den entsprechenden Port in der Firewall zu öffnen, die auf dem Computer aktiv ist. Diese Option ist nur verfügbar, wenn auf dem Server eine Firewall installiert ist.
Klicken Sie auf , um nach dem Verzeichnis mit dem Bootimage zu suchen.
Das Standardverzeichnis /tftpboot wird
erstellt und automatisch ausgewählt.
Klicken Sie auf , um die Einstellungen zu übernehmen und den Server zu starten.
Melden Sie sich als root
an und installieren Sie die Pakete tftp und
xinetd.
Erstellen Sie die Verzeichnisse /srv/tftpboot
und /srv/tftpboot/pxelinux.cfg, sofern sie noch
nicht vorhanden sind.
Fügen Sie wie in Abschnitt 1.3.3, „PXE-Boot“ beschrieben die für das Bootimage erforderlichen Dateien hinzu.
Ändern Sie die Konfiguration von xinetd, die sich unter
/etc/xinetd.d/ befindet, um sicherzustellen, dass
der TFTP-Server beim Booten gestartet wird:
Erstellen Sie, sofern noch nicht vorhanden, eine Datei namens
tftp in diesem Verzeichnis, indem Sie
touch tftp eingeben. Führen Sie anschließend
folgenden Befehl aus: chmod 755 tftp.
Öffnen Sie die Datei tftp und fügen Sie die
folgenden Zeilen hinzu:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}
Speichern Sie die Datei und starten Sie xinetd mit rcxinetd restart neu.
Einige technische Hintergrundinformationen sowie die vollständigen PXE-Spezifikationen sind in der PXE-Spezifikation (Preboot Execution Environment) (ftp://download.intel.com/labs/manage/wfm/download/pxespec.pdf enthalten.
Wechseln Sie in das Verzeichnis des Installations-Repositorys und
kopieren Sie die Dateien linux,
initrd, message und
memtest in das Verzeichnis
/srv/tftpboot, indem Sie folgenden Befehl
eingeben:
cp -a boot/loader/linux boot/loader/initrd boot/loader/message boot/loader/memtest /srv/tftpboot
Installieren Sie mit YaST das Paket
syslinux direkt von den Installations-CDs oder
-DVDs.
Kopieren Sie die Datei
/usr/share/syslinux/pxelinux.0 in das Verzeichnis
/srv/tftpboot, indem Sie folgenden Befehl
eingeben:
cp -a /usr/share/syslinux/pxelinux.0 /srv/tftpboot
Wechseln Sie in das Verzeichnis des Installations-Repositorys und
kopieren Sie die Datei isolinux.cfg in das
Verzeichnis /srv/tftpboot/pxelinux.cfg/default,
indem Sie folgenden Befehl eingeben:
cp -a boot/loader/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default
Bearbeiten Sie die Datei
/srv/tftpboot/pxelinux.cfg/default und entfernen Sie
die Zeilen, die mit gfxboot,
readinfo und framebuffer beginnen.
Fügen Sie die folgenden Einträge in die
append-Zeilen der standardmäßigen Kennungen
failsafe und apic ein:
insmod=e100
Mit diesem Eintrag wird das Kernel-Modul für eine Intel 100
MBit/s Netzwerkkarte auf die PXE-Clients geladen. Der Eintrag ist
abhängig von der Clienthardware und muss entsprechend angepasst
werden. Im Fall einer Broadcom GigaBit-Netzwerkkarte muss der Eintrag
wie folgt lauten: insmod=bcm5700.
netdevice=eth0
Dieser Eintrag definiert die Schnittstelle des Client-Netzwerks, die für die Netzwerkinstallation verwendet werden muss. Dieser Eintrag ist jedoch nur erforderlich und muss entsprechend angepasst werden, wenn der Client mit mehreren Netzwerkkarten ausgestattet ist. Falls nur eine Netzwerkkarte verwendet wird, kann dieser Eintrag ausgelassen werden.
install=nfs://IP_Instserver/Pfad_Instquelle/CD1
Dieser Eintrag gibt den NFS-Server und die Installationsquelle
für die Client-Installation an. Ersetzen Sie
IP_Instserver durch die IP-Adresse des
Installationsservers. Pfad_Instquelle muss
durch den Pfad der Installationsquell ersetzt werden. HTTP-, FTP- oder
SMB-Quellen werden auf ähnliche Weise adressiert. Eine Ausnahme ist
das Protokollpräfix, das wie folgt lauten muss:
http, ftp oder
smb.
![]() | Wichtig |
|---|---|
Wenn den Installationsroutinen weitere Bootoptionen, z. B. SSH-
oder VNC-Boot-Parameter, übergeben werden sollen, hängen Sie diese an
den Eintrag | |
Im Folgenden finden Sie die Beispieldatei
/srv/tftpboot/pxelinux.cfg/default. Passen Sie das
Protokollpräfix für die Installationsquelle gemäß der
Netzwerkkonfiguration an und geben Sie die bevorzugte Methode an, mit der
die Verbindung zum Installationsprogramm hergestellt werden soll, indem
Sie die Optionen vnc und
vncpassword oder ssh und
sshpassword zum Eintrag install
hinzufügen. Die durch \ getrennten Zeilen müssen als
fortlaufenden Zeile ohne Zeilenumbruch und ohne den \
eingegeben werden.
default linux
# default
label linux
kernel linux
append initrd=initrd ramdisk_size=65536 insmod=e100 \
install=nfs://ip_instserver/path_instsource/product
# failsafe
label failsafe
kernel linux
append initrd=initrd ramdisk_size=65536 ide=nodma apm=off acpi=off \
insmod=e100 install=nfs://ip_instserver/path_instsource/product
# apic
label apic
kernel linux
append initrd=initrd ramdisk_size=65536 apic insmod=e100 \
install=nfs://ip_instserver/path_instsource/product
# manual
label manual
kernel linux
append initrd=initrd ramdisk_size=65536 manual=1
# rescue
label rescue
kernel linux
append initrd=initrd ramdisk_size=65536 rescue=1
# memory test
label memtest
kernel memtest
# hard disk
label harddisk
kernel
linux append SLX=0x202
implicit 0
display message
prompt 1
timeout 100
Ersetzen Sie ip_instserver und
path_instsource durch die in Ihrer
Konfiguration verwendeten Werte.
Der folgende Abschnitt dient als Kurzreferenz für die in dieser
Konfiguration verwendeten PXELINUX-Optionen. Weitere Informationen zu den
verfügbaren Optionen finden Sie in der Dokumentation des Pakets
syslinux, die sich im Verzeichnis
/usr/share/doc/packages/syslinux/ befindet.
Die hier aufgeführten Optionen sind eine Teilmenge der für die PXELINUX-Konfigurationsdatei verfügbaren Optionen.
DEFAULT Kernel Optionen...
Legt die standardmäßige Kernel-Kommandozeile fest. Wenn PXELINUX automatisch gebootet wird, agiert es, als wären die Einträge nach DEFAULT am Bootprompt eingegeben worden, außer, dass die Option für das automatische Booten automatisch hinzugefügt wird.
Wenn keine Konfigurationsdatei vorhanden oder der DEFAULT-Eintrag in der Konfigurationsdatei nicht vorhanden ist, ist die Vorgabe der Kernel-Name „linux“ ohne Optionen.
APPEND Optionen...
Fügt der Kernel-Kommandozeile eine oder mehrere Optionen hinzu. Diese werden sowohl bei automatischen als auch bei manuellen Boot-Vorgängen hinzugefügt. Die Optionen werden an den Beginn der Kernel-Kommandozeile gesetzt und ermöglichen, dass explizit eingegebene Kernel-Optionen sie überschreiben können.
LABEL Kennung KERNEL Image APPEND Optionen...
Gibt an, dass wenn Kennung (Label) als
zu bootender Kernel eingegeben wird, PXELINUX stattdessen
Image booten soll und die angegebenen
APPEND-Optionen an Stelle der im globalen Abschnitt der
Datei (vor dem ersten LABEL-Befehl) angegebenen
Optionen verwendet werden sollen. Die Vorgabe für
Image ist dieselbe wie für
Kennung und wenn keine
APPEND-Optionen angegeben sind, wird standardmäßig der
globale Eintrag verwendet (sofern vorhanden). Es sind bis zu 128
LABEL-Einträge zulässig.
Beachten Sie, dass GRUB die folgende Syntax verwendet:
title mytitle kernelmy_kernelmy_kernel_optionsinitrdmyinitrd
während PXELINUX diese Syntax verwendet:
labelmylabelkernelmykernelappendmyoptions
Kennungen (Labels) werden wie Dateinamen umgesetzt und müssen nach der Umsetzung (sogenanntes Mangling) eindeutig sein. Die beiden Kennungen (Labels) „v2.1.30“ und „v2.1.31“ wären beispielsweise unter PXELINUX nicht unterscheidbar, da beide auf denselben DOS-Dateinamen umgesetzt würden.
Der Kernel muss kein Linux-Kernel, sondern kann ein Bootsektor oder eine COMBOOT-Datei sein.
Es wird nichts angehängt. APPEND mit einem
Bindestrich als Argument in einem LABEL-Abschnitt kann
zum Überschreiben einer globalen APPEND-Option
verwendet werden.
LOCALBOOT Typ
Wenn Sie unter PXELINUX LOCALBOOT 0 an Stelle
einer KERNEL-Option angeben, bedeutet dies, dass dieses
bestimmte Label aufgerufen und die lokale Festplatte an Stelle eines
Kernels gebootet wird.
Alle anderen Werte sind nicht definiert. Wenn Sie die Werte für die
UNDI- oder PXE-Stacks nicht wissen, geben Sie 0
an.
TIMEOUT Zeitlimit
Gibt in Einheiten von 1/10 Sekunde an, wie lange der Bootprompt angezeigt werden soll, bevor der Bootvorgang automatisch gestartet wird. Das Zeitlimit wird aufgehoben, sobald der Benutzer eine Eingabe über die Tastatur vornimmt, da angenommen wird, dass der Benutzer die Befehlseingabe abschließt. Mit einem Zeitlimit von Null wird das Zeitlimitoption deaktiviert (dies ist die Vorgabe).
Der größtmögliche Wert für das Zeitlimit ist 35996 (etwas weniger als eine Stunde).
PROMPT flag_val
Wenn flag_val 0 ist, wird der
Bootprompt nur angezeigt, wenn die Taste oder gedrückt wird oder die
Feststelltaste oder die Taste Rollen
gesetzt ist (dies ist die Vorgabe). Wenn flag_val 1
ist, wird der Bootprompt immer angezeigt.
F2DateinameF1Dateiname..usw... F9DateinameF10Dateiname
Zeigt die angegebene Datei auf dem Bildschirm an, wenn am Bootprompt eine Funktionstaste gedrückt wird. Mithilfe dieser Option kann auch die Preboot-Online-Hilfe implementiert werden (für die Kernel-Kommandozeilenoptionen.) Aus Gründen der Kompabilität mit früheren Versionen kann F10 auch als F0 verwendet werden. Beachten Sie, dass derzeit keine Möglichkeit besteht, Dateinamen an F11 und F12 zu binden.
Bereiten Sie das System-BIOS für PXE-Boot vor, indem Sie die PXE-Option in die BIOS-Bootreihenfolge aufnehmen.
![]() | Warnung |
|---|---|
Die PXE-Option darf im BIOS nicht vor der Bootoption für die Festplatte stehen. Anderenfalls würde dieses System versuchen, sich selbst bei jedem Booten neu zu installieren. | |
Wake-on-LAN (WOL) erfordert, dass die entsprechende BIOS-Option vor der Installation aktiviert wird. Außerdem müssen Sie sich die MAC-Adresse des Zielsystems notieren. Diese Daten sind für das Initiieren von Wake-on-LAN erforderlich.
Mit Wake-on-LAN kann ein Computer über ein spezielles Netzwerkpaket, das die MAC-Adresse des Computers enthält, gestartet werden. Da jeder Computer einen eindeutigen MAC-Bezeichner hat, ist es nicht möglich, dass versehentlich ein falscher Computer gestartet wird.
![]() | Wichtig |
|---|---|
Wenn sich der Kontrollcomputer nicht im selben Netzwerksegment wie das zu startende Installationsziel befindet, konfigurieren Sie die WOL-Requests entweder so, dass sie als Multicasts verteilt werden, oder steuern Sie einen Computer in diesem Netzwerksegment per entferntem Zugriff so, dass er als Absender dieser Requests agiert. | |