In diesem Abschnitt werden die für komplexe Boot-Szenarien 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 Netzwerk-Clients 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, der
den DHCP-Server hostet.
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
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äß dem folgenden Beispiel:
group { # PXE related stuff # # "next server" defines the tftp server that will be used next serverip_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 ethernetmac_address
; fixed-addresssome_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.
Richten Sie einen TFTP-Server ein, 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 Boot-Routine aufgenommen wird. Ihrerseits sind hierbei keine weiteren Aktionen erforderlich. tftpd wird zur Boot-Zeit 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 finden Sie in der PXE-(Preboot Execution Environment-)Spezifikation (ftp://download.intel.com/labs/manage/wfm/download/pxespec.pdf).
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 unter Verwendung von 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
Client-Hardware 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 Installationsquellen ersetzt
werden. HTTP-, FTP- oder SMB-Quellen werden auf
ähnliche Weise adressiert. Eine Ausnahme ist das
Protokollpräfix, das wie folgt lauten sollte:
http
, ftp
oder
smb
.
Wichtig | |
---|---|
Wenn den Installationsroutinen weitere
Boot-Optionen, z. B. SSH- oder VNC-Boot-Parameter,
übergeben werden sollen, hängen Sie sie 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-Befehlszeile fest. Wenn PXELINUX automatisch gebootet wird, agiert es, als wären die Einträge nach DEFAULT an der Boot-Eingabeaufforderung eingegeben worden, außer, dass die Option für das automatische Booten (boot) 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-Befehlszeile eine oder mehrere Optionen hinzu. Diese werden sowohl bei automatischen als auch bei manuellen Bootvorgängen hinzugefügt. Die Optionen werden an den Beginn der Kernel-Befehlszeile gesetzt und ermöglichen, dass explizit eingegebene Kernel-Optionen sie überschreiben können.
LABEL Kennung
KERNEL
Image
APPEND
Optionen
...
Gibt an, dass, wenn Kennung
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_kernel
my_kernel_options
initrdmyinitrd
während PXELINUX diese Syntax verwendet:
labelmylabel
kernelmykernel
appendmyoptions
Kennungen werden wie Dateinamen umgesetzt und müssen nach der Umsetzung (sogenanntes Mangling) eindeutig sein. Die beiden Kennungen „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 diese bestimmte Kennung 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 die Boot-Eingabeaufforderung 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 Zeitüberschreitungsoption 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 die
Boot-Eingabeaufforderung nur angezeigt, wenn die Taste
Umschalttaste oder Alt gedrückt wird oder die
Feststelltaste oder die Taste
Rollen gesetzt ist (dies ist die
Vorgabe). Wenn flag_val
1 ist, wird die
Boot-Eingabeaufforderung immer angezeigt.
F2Dateiname
F1Dateiname
..usw... F9Dateiname
F10Dateiname
Zeigt die angegebene Datei auf dem Bildschirm an, wenn an der Boot-Eingabeaufforderung eine Funktionstaste gedrückt wird. Mithilfe dieser Option kann auch die Preboot-Online-Hilfe implementiert werden (für die Kernel-Befehlszeilenoptionen.) 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-Boot-Reihenfolge aufnehmen.
Warnung | |
---|---|
Die PXE-Option darf im BIOS nicht vor der Boot-Option für die Festplatte stehen. Andernfalls 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 Steuercomputer 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 Anforderungen agiert. |