wiki:dienste:pxe

barcode

Wie oft muss man irgendwelche Rechner per CD booten, um Backups zu erstellen, zu Partitionieren oder Betriebssysteme aufzuspielen?

und wie oft hat man die CD verlegt oder die CD ist nicht mehr brauchbar, weil Sie verkratzt ist?

Ab sofort ist damit Schluss. Diese Aufgabe ist für einen PXE-Server wie gemacht.

Ziel dieses Servers ist, dass man die benötigten Programme per Netzwerk bootet.

Hinweis:

Diese Anleitung wurde für Ubuntu 8.04 'Hardy Heron' geschrieben.

Mit kleinen Abweichungen dürfte sie aber auf jeder anderen Distribution lauffähig sein

das Packet syslinux muss heruntergeladen werden. Die neueste Version ist von Vorteil. Dabei ist es egal, welches Format man wählt; der Inhalt ist der gleiche.

zunächst muss man einen TFTP-Server installieren

sudo apt-get install tftpd-hpa

Als nächstes sollte man dem TFTP-Server klarmachen, wie er starten soll. Dazu die Datei /etc/default/tftpd-hpa wie folgt modifizieren

tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Als nächstes muss der TFTP-Server gestartet werden.

sudo /etc/init.d/tftp-hpa start

das Root-Verzeichtnis (TFTP-Root) des TFTP-Servers ist /var/lib/tftpboot

Hinweis:

Bei openSUSE konfiguriert man den TFTP-Server am Besten über das YaST-Modul.

Das Root-Verzeichnis ist hier Standardmäßig '/tftpserver' oder unter '/srv/tftpboot'

TFTP-Server installieren

yum install tftp-server

Content liegt unter /var/lib/tftpboot/ Starten und aktivieren des Dienstes:

systemctl start tftp.service
systemctl enable tftp.service

im DHCP-Server (/etc/dhcp/dhcp.conf) müssen noch folgende Zeilen eingetragen werden, damit der Clientrechner später weiß, welche IP er booten soll

next-server <IP des TFTP-Servers>;
filename "/pxelinux.0";

Aus dem heruntergeladenen syslinux-File folgende Dateien in das TFTP-Rootverzeichnis kopieren

  • pxelinux.0
  • menu.c32

Das Menü erstellt man, indem man ein Verzeichnis pxelinux.cfg anlegt und darin ein File mit dem Namen default

mkdir /var/lib/tftpboot/pxelinux.cfg
touch /var/lib/tftpboot/pxelinux.cfg/default

Das default-File ist für das Menü zuständig. Folgender Inhalt ist die Minimalkonfiguration:

 DEFAULT menu.c32
 ALLOWOPTIONS 0
 PROMPT 0
 TIMEOUT 100
 
 F1              hilfen/f1
 F5              hilfen/f5
 
 MENU AUTOBOOT Automatic boot in # second{,s}...
 MENU TITLE PXE-Boot Server
 MENU ROWS 15

Wegen der besseren Übersichtlichkeit sollte man ab jetzt für jedes zu bootende System ein eigener Unterordner verwendet werden

NFS-Server wie hier installieren und konfigurieren

Den ersten Eintrag in das default-File sollte wie folgt aussehen

# --- Von Festplatte Booten
LABEL           hddboot
MENU LABEL      Von ^Festplatte booten
LOCALBOOT       0

dieser Eintrag gewährleistet, dass man auch vom PXE-Menü aus die normale Festplatte booten kann

Unterordner für openSUSE 11.2 erstellen

sudo mkdir /var/lib/tftpboot/suse11.2

Um openSUSE 11.2 vom TFTP-Server zu booten, muss man zunächst von der openSUSE-CD die Dateien linux und und initrd ins TFTP-Root kopieren

sudo cp <CDRom-Pfad>/boot/i386/loader/linux /var/lib/tftpboot/suse11.2
sudo cp <CDRom-Pfad>/boot/i386/loader/initrd /var/lib/tftpboot/suse11.2

Als nächstes muss die CD auf den Rechner kopiert und per NFS freigegeben werden. Anleitung findet man hier

Jetzt muss nur noch das default-File mit folgender Zeilte erweitert/angepasst werden

# --- openSuSE 11.2 installieren
LABEL           opensuse112x86
MENU LABEL      open^SuSE 11.2 (x86) installieren
kernel          /suse11.2/linux
append          initrd=/suse11.2/initrd noapic acpi=off Language=de_DE vga=normal install=nfs://192.168.0.150/home/repo/opensuse_11.2

Bei append können noch mehr Parameter angegeben werden z. B. Autoyastskripte…

Eine Übersicht über diese Kernelparameter findet man hier.

Unterordner für Acronis True Image erstellen

sudo mkdir /var/lib/tftpboot/acronis

Folgende Dateien müssen in das verzeichnis kopiert werden: kernel.dat, ramdisk.dat

sudo cp <CDRom-Pfad>/Recovery\ Manager/kernel.dat /var/lib/tftpboot/acronis
sudo cp <CDRom-Pfad>/Recovery\ Manager/ramdisk.dat /var/lib/tftpboot/acronis

Folgenden Aufruf an die default-Datei anhängen

# --- Acronis TrueImage Home 2009 booten
LABEL           acronis2009
MENU LABEL      Acronis ^TrueImage Home 2009
kernel          acronis/kernel.dat
append          initrd=acronis/ramdisk.dat vga=791 ramdisk_size=32768 acpi=off quiet noapic

Unterordner für Parted Magic erstellen

sudo mkdir /var/lib/tftpboot/pmagic47

Von der Website die PXE-Version von Parted Magic herunterladen und die wichtigen Dateien (bzImage, initramfs) ins TFTP Root-Verzeichnis kopieren

Aufruf an die default-Datei anhängen

# --- Parted Magic booten
LABEL           pmagic47
MENU LABEL      Parted Magic 4.7
KERNEL          pmagic47/bzImage
append          initrd=pmagic47/initramfs load_ramdisk=1 prompt_ramdisk=0 rw sleep=10

Unterordner für Ubuntu 8.04 erstellen

sudo mkdir /var/lib/tftpboot/ubuntu804/i386

Netboot-Dateien für Ubuntu herunterladen und die Dateien linux und initrd.gz ins TFTP-Verzeichnis kopieren

Folgenden Aufruf zur default-Datei hinzufügen

# --- Ubuntu 8.04 (i386) booten
LABEL           ubuntu804i386
MENU LABEL      Ubuntu 8.04 LTS (i386) installieren
kernel          ubuntu804/i386/linux
append          vga=normal initrd=ubuntu804/i386/initrd.gz --

Unterordner für Backtrack 4 erstellen

sudo mkdir /var/lib/tftpboot/backtrack4

Die Startdateien (vmlinuz, initrd.gz) von der CD ins TFTP Rootverzeichnis kopieren

CD auf den Rechner kopieren und per NFS freigeben. Anleitung findet man hier

Folgende Zeilen an die default-Dateien anhängen

# --- BackTrack 4 LiveCD
LABEL           backtrack4
MENU LABEL      BackTrack 4 LiveCD
kernel          /backtrack4/vmlinuz BOOT=casper boot=casper persistent rw quiet
append          nfsroot=192.168.0.150:/home/repo/backtrack4/ netboot=nfs rw toram boot=casper BOOT=casper initrd=/backtrack initrd.gz nopersistent quiet

Unterordner für Grml erstellen

sudo mkdir /var/lib/tftpboot/grml_2010.04

Die Startdateien (linux26 und minirt26.gz) von der CD ins TFTP Rootverzeichnis kopieren

CD auf den Rechner kopieren und per NFS freigeben. Anleitung findet man hier

Folgende Zeilen an die default-Dateien anhängen

LABEL          grml_2010.04x86
MENU LABEL     GRML LiveCD
KERNEL         grml_2010.04/linux26
APPEND         root=/dev/nfs rw nfsroot=192.168.0.150:/home/repo/grml_2010.04 boot=live lang=de nomce quiet apm=power-off nodhcp noprompt noeject initrd=grml_2010.04/minirt26.gz vga=791

Um Windows per Netzwerk zu installieren ist ein wenig Handarbeit nötig. Im Grunde genommen wird ein „LiveWindows“ gestartet, ein SMB-Laufwerk gemappt und die Installation gestartet

In der Theorie ganz simpel, in der Praxis etwas arbeit.

Als Vorbereitung sollte man die Komplette Windows 7 DVD auf die Festplatte kopieren und Freigeben. Ob das per Windows oder Linux gemacht wird, ist völlig egal

Um das LiveWindows zu erstellen braucht man das Windows 7 Automated Installation Kit Diese muss heruntergeladen und installiert werden. Nachdem das Packet installiert wurde muss man mit Administratorrechten folgendes Programm öffnen: Start → Programme → Microsoft Windows AIK → Eingabeaufforderung für Bereitstellungstools

Als nächstes müssen folgende Kommandos eingegeben werden

copype.cmd x86 c:\winpe
copy "C:\Program Files\Windows AIK\Tools\x86\imagex.exe"
copy C:\winpe\winpe.wim C:\winpe\iso\sources\boot.wim

Nun muss man diese Konsole schließen und nochmal die Bereitstellungskonsole mit Administrator-Rechten öffnen

Jetzt muss das ISO erstellt werden

oscdimg -n c:\winpe\ISO c:\winpe\x86.iso -n -bc:\winpe\etfsboot.com

Das Fertige CD-Image liegt unter C:\winpe\x86.iso. Diese muss jetzt in ein Unterverzeichnis des TFTP-Servers kopiert werden und folgender eintrag in der default-Datei eingefügt werden

LABEL           win7pex86
MENU LABEL      Windows 7 PE
linux           memdisk
APPEND          iso initrd=win7/x86.iso

Das Programm memdisk befindet sich im syslinux-Packet, genau wie alle anderen PXE-Boot-Dateien

Jetzt muss man den Rechner mit diesem „LiveWindows“ starten. Es wird fast keine Grafische Oberfläche gestartet, nur eine MS-DOS Eingabeaufforderung. In dieser muss man mit folgedem Kommando ein Netzlaufwerk mit der Windows 7 DVD mounten

net use F: \\<IP-Adresse>\<Freigabe> /user:<Username>

Um eine Windows Vista oder Windows 7 Installation zu starten, muss man nur noch

F:\setup.exe

eingeben. Für eine Windows XP Installation muss man folgendes eingeben

F:\I386\winnt32.exe

Die Installation startet, als ob man die CD/DVD ins Laufwerk gelegt hat

Die datei default hat einen bestimmten Syntax und bestimmte Befehle.

Hier ist eine Übersicht über alle Befehle

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
  ____    ____  ____  __  __   __ __
 / __ \  /  _/ / __ \ \ \/ /  / // /
/ /_/ / _/ /  / /_/ /  \  /  / _  / 
\____/ /___/  \___\_\  /_/  /_//_/
 
  • wiki/dienste/pxe.txt
  • Zuletzt geändert: 2019/03/06 11:21
  • von wikiadmin