PXE

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche


Bild:edit.png Dieser Artikel ist noch nicht vollständig. Du kannst helfen, ihn zu bearbeiten.
<b>Achtung</b> <b>Achtung:</b> Dieser Artikel ist in der Entstehungsphase und noch nicht komplett. Bitte vor Änderungen mit Autor Rücksprache nehmen, damit die Arbeit nicht doppelt gemacht wird.
Dieser Artikel ist Teil der HOWTO Sammlung

Das Preboot Execution Environment (PXE) ermöglicht es Computern einen netzwerkbasierten Bootvorgang (Netzboot) durchzuführen, der von installierten Massenspeichern und insbesondere Betriebssystemen auf dem Client unabhängig ist.


Inhaltsverzeichnis

Installation

Die benötigten Pakete müssen muss yum installiert werden.

[root]# yum install tftp-server dhcp httpd syslinux


Konfiguration

DHCP

Die Konfigurations-Datei /etc/dhcpd.conf des DHCP-Dienstes. Eine einfache Variante sieht so aus. filename "pxelinux.0"; ist elementar für die Boot-Vorgang. next-server 192.168.0.3; ist die IP-Adresse des PXE-Server-Systems.

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample  
#
ddns-update-style none;
ignore client-updates;

subnet 172.0.0.0 netmask 255.255.255.0 {

        option routers                  172.0.0.1;
        option subnet-mask              255.255.255.0;

        option domain-name              "pxe-server.local.localdomain.net";
        option domain-name-servers      172.0.0.1;

        option ntp-servers              172.0.0.2;

        range dynamic-bootp 172.0.0.50 172.16.0.100;
        default-lease-time 21600;
        max-lease-time 43200;
}

allow booting;
allow bootp;
class "pxeclients" {
        match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
        # IP Adresse des PXE server
        next-server 172.0.0.5;
        filename "linux-install/pxelinux.0";
}

Nun kann der DHCP-Server gestartet werden.

[root]# service dhcpd start

Ein ausführlicher Artikel und mehr Informationen ist unter DHCP Server verfügbar.

TFTP

tftp (Trivial File Transfer Protocol) ist eine vereinfachte Version von FTP und unterstützt nur das Schreiben und das Lesen von Dateien. Im Normalfall wird TFTP über ein verbindungsloses Protokoll wie UDP betrieben.

tftp muss so konfiguriert werden, dass es mit xinetd zusammenarbeitet. So muss die Datei /etc/xinetd.d/tftp angepasst werden. Folgende Änderung ist zu machen.

disable=yes 

auf

disable=no

Alle Daten werden von tftp unter /tftpboot gespeichert.

Netzwerk-Karte

eth0 muss eine statische IP-Adresse haben, deshalb muss die Datei /etc/sysconfig/network-scripts/ifcfg-eth0 wie folgt angepasst werden. Die IP-Adressen sind Beispiele und sollte den eigenen Gegebenheiten angepasst werden.

TYPE=Ethernet
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
BROADCAST=192.168.10.255
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0

PXE Boot Umgebung

Es werden zwei Dateien vmlinuz und initrd.img benötigt, die dann in das Verzeichnis /tftpboot kopiert werden müssen.

wget ftp://mirror.switch.ch/mirror/fedora/linux/core/6/i386/os/images/pxeboot/initrd.img
wget ftp://mirror.switch.ch/mirror/fedora/linux/core/6/i386/os/images/pxeboot/vmlinuz

Für die Installation sollte jedoch ein Server genommen werden, der sich in der Nähe des Standortes befindet. Die Mirror-Liste gibt Auskunft.

Nun müssen diese beiden Dateien noch nach /tftpboot kopiert werden.

[root]# cp /tmp/vmlinuz /tftpboot/vmlinuz
[root]# cp /tmp/initrd.img /tftpboot/initrd.img

Direkt nach dem Bezug der IP-Adresse versucht PXE ein Image (pxelinux) vom Server zu beziehen. Diese Datei heisst pxelinux.0, ist Teil von syslinux und befindet sich im Verzeichnis /usr/lib/syslinux/pxelinux.0. Sie muss ebenfalls nach /tftpboot kopiert werden.

[root]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/pxelinux.0

Das Verzeichnis /tftpboot muss für alle lesbar sein.

pxelinux

Im Verzeichnis /tftpboot/pxelinux.cfg muss nun eine Reihe von Dateien angelegt werden.

Es muss eine Standard-Konfiguration vorhanden sein, deshalb muss eine neue Datei /tftpboot/pxelinux.cfg/default mit folgendem Inhalt angelegt werden.

# PXEboot Options
# Zeigt eine Promt an
prompt 1
# Zeigt Nachricht an
display pxeboot.msg
# Standard-Auswahl
default install_fc6
# Wartezeit bis Standard-Auswahl gestartet wird 10 s
timeout 100

# Lokale Installation starten
label local
localboot 0

# Installation von Fedora Core 6 starten
label install_fc6
kernel vmlinuz
append initrd=initrd.img

Die Datei /tftpboot/pxeboot.msg sollte Informationen über die Möglichkeiten beinhalten.

Installation von Fedora Core 6

Die FESTPLATTE wird eventuell FORMATIERT. 

Drücke alt-ctrl-del um abzubrechen. 

local - Startet die lokale Linux-Installation
install_fc6 - Installation von Fedora Core 6


Eine erweiterte Version könnte so aussehen und basiert auf isolinux.cfg

# PXEboot Options
default linux
prompt 1
timeout 100
display boot.msg

# Mitteilungen
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg

# Installationen
label linux
  kernel vmlinuz
  append initrd=initrd.img 
label text
  kernel vmlinuz
  append initrd=initrd.img text 
label ks
  kernel vmlinuz
  append ks initrd=initrd.img
label local
  localboot 0
label memtest86
  kernel memtest
  append -

Starten der Dienste

Nun müssen die Dienste gestartet werden.

[root]# service dhcpd start
[root]# service xinetd start

Sie sollten sich alle ohne Fehler-Meldung starten lassen, falls es zu Fehlern kommt, muss die Konfiguration angepasst werden.


Verwendung

Der Client muss das Booten über das Netzwerk unterstützen. Dazu muss unte Umständen die Boot-Reihenfolge im BIOS angepasst werden.

In Verbindung mit einer Kickstart-Installation lassen sich so komplett Installationen ohne Benutzer-Eingriffe realisieren.


Siehe auch


Links

Persönliche Werkzeuge