- DHCP-Server
- TFTP-Server
- NFS-Server
- SMB-Server
- Web-Server
- SQL-Server
Mit iPXE gibt es ein OpenSource-Projekt, um Netzwerkrechner ohne großen Aufwand starten zu können. Wenn man da das volle Programm haben will, sollte man sich auch den Source-Code besorgen:
git clone http://git.ipxe.org/ipxe.git cd ipxe/src
Damit habe ich einen funktionierenden Source-Tree, von dem aus ich verschiedene Ziele kompilieren kann. Wenn ich schon dabei bin, kann ich wimboot auch gleich mitnehmen.
wget -v http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
In dieser ZIP-Datei befindet sich eine Datei namens wimboot.i386 und eine Datei namens wimboot.x86_64. Beide benötige ich, um WindowsPE übers Netzwerk zu starten.
--> Voraussetzung(en):
Zuerst benötigen wir einmal die offizielle ISO-Datei. Die aktuelle von der Microsoft-Site heruntergeladene Datei heißt Win10_1903_V2_German_x64.iso und ich speichere sie unter /srv/iso. Diese kann man sowohl mit UEFI als auch mit BIOS - Einstellungen booten und installieren.
der Eintrag in der menu-main.ipxe:
Im root-Verzeichnis des Web-Servers erzeuge ich hier die Datei net-boot.ipxe mit folgendem Inhalt:
#!ipxe # global variables used in our scripts chain --autofree net.cfg || # Boot //mac-010203040506.ipxe if script is present chain --replace --autofree ${boot-url}${boot-dir}mac-${mac:hexraw}.ipxe || # Boot /menu.ipxe script if all other options have been exhausted chain --replace --autofree ${boot-menu} ||
Ich habe mir heute die neueste Version heruntergeladen. Sie ist unter /srv/iso/Win10_1909_German_x64.iso abgespeichert.
service smbd stop umount /srv/pxe/w10_x64 mount /srv/iso/Win10_1909_German_x64.iso /srv/pxe/w10_x64 service smbd start mcedit /etc/fstab
Der Eintrag in der fstab bewirkt, das diese ISO-Datei nach dem nächsten Neustart des Servers automatisch wieder an der richtigen Stelle eingehangen wird.
/srv/iso/Win10_1909_German_x64.iso /srv/pxe/w10_x64 udf loop 0 0
Jetzt brauche ich nur noch die Versionsnummer in menu-main.ipxe zu ändern und kann schon weiter installieren.
Hier trage ich allgemein gültige Variablen und Einstellungen ein, die nur für diese PXE-Umgebung gültig sind. Die boot-server Adresse sollte man noch an seine Bedürfnisse anpassen.
#!ipxe cpuid --ext 29 && set arch x64 || set arch x32 cpuid --ext 29 && set archl amd64 || set archl i386 set boot-proto http:// set boot-server 192.168.3.11 set boot-dir boot/ set boot-url ${boot-proto}${boot-server}/ set boot-menu ${boot-url}${boot-dir}menu-main.ipxe # my theme for this boot-config chain --autofree ${boot-url}${boot-dir}net.theme ||
--> Voraussetzung(en):
Download der ISO-Datei:
cd /srv/iso wget -v https://osdn.net/projects/systemrescuecd/storage/releases/6.1.0/systemrescuecd-amd64-6.1.0.iso mkdir /srv/pxe/sysrescue_x64 mount -o loop /srv/iso/systemrescuecd-amd64-6.1.0.iso /srv/pxe/sysrescue_x64
Der Eintrag in der menu-main.ipxe:
:sysrescue set root-path ${boot-url}sysrescue_x64/ kernel ${root-path}sysresccd/boot/x86_64/vmlinuz initrd ${root-path}sysresccd/boot/intel_ucode.img initrd ${root-path}sysresccd/boot/amd_ucode.img initrd ${root-path}sysresccd/boot/x86_64/sysresccd.img imgargs vmlinuz initrd=sysresccd.img ip=dhcp dodhcp setkmap=de dostartx archisobasedir=sysresccd archiso_http_srv=${boot-url}sysrescue_x64 boot || goto failed
Auch hier wird uns später der Wechsel auf eine aktuellere ISO-Datei leicht fallen.
Ich möchte das Layout vom Inhalt trennen also kommt hier das Console-Layout hin:
#!ipxe console --x 800 --y 600 --picture ${boot-url}${boot-dir}pxe-banner.png --keep --left 40 --right 290 --top 32 --bottom 48 colour --rgb 0xf5f219 7 colour --rgb 0x75f658 6
--> Voraussetzung(en):
Download der ISO-Datei:
cd /srv/iso wget -v https://dotsrc.dl.osdn.net/osdn/clonezilla/71823/clonezilla-live-20191024-eoan-amd64.iso mkdir /srv/pxe/clonezilla_x64 mount -o loop /srv/iso/clonezilla-live-20191024-eoan-amd64.iso /srv/pxe/clonezilla_x64
Der Eintrag in der menu-main.ipxe:
:clonezilla64 set root-path ${boot-url}clonezilla_x64/ kernel initrd imgargs boot || goto failed