Änderungsstand: 2020-03-13
PXE-Boot auf Ubuntu-Server, inkl. Menu zum Testen.
Menueintrag mit Memtest funktionsfähig!
Leider funktioniert das nicht mehr so einfach auf Debian-Buster, wie hier auf dem Ubuntu-Server dargestellt. Selbst auf dem Debian-Buster-Server, ohne OMV5, habe ich das in dieser Zusammenstellung auf die Schnelle nicht mehr hinbekommen. Auf Debian-Stretch funktionierte das noch. Dafür gibt es aber als Alternative für OMV5 einen Guide für die Einrichtung eines DHCP-Servers, der das ziemlich gut kompensiert. Doch jetzt erst mal schnell zum Ubuntu-Server mit Dnsmasq.
Realisiert wurde das Ganze mit dnsmasq. Alles sollte so einfach wie möglich gestaltet werden und meine FritzBox sollte weiterhin die DHCP-Vergabe mit dem Mesh übernehmen. Das funktioniert bestens und Bedarf keiner Änderung. Ohne weitere Erklärungen, Schritt für Schritt abarbeiten.
sudo su
mkdir /var/lib/tftpboot
apt-get install dnsmasq syslinux pxelinux syslinux-common mc
mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old
nano /etc/dnsmasq.conf
dhcp-range=192.168.252.0,proxy
dhcp-boot=pxelinux.0,192.168.252.139,192.168.252.0
pxe-service=x86PC,"Netzwerk Boot",pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot
Strg-x, y, Enter
- Mein Ubuntu-Server: 192.168.252.139
- Mein Subnet: 192.168.252.0
sudo systemctl restart dnsmasq
service dnsmasq restart
nano /etc/default/dnsmasq
als letzte Zeile hinzufügen:
DNSMASQ_EXCEPT=lo
Strg-x, y, Enter
service dnsmasq start
Fertig. Der Server ist Startklar.
Jetzt wird das Menu erstellt, welches beim Start des PXE angezeigt wird.
cp /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot
cp /usr/lib/syslinux/modules/bios/ldlinux.c32 /var/lib/tftpboot/
sudo cp /usr/lib/syslinux/modules/bios/libutil.c32 /usr/lib/syslinux/modules/bios/libcom32.c32 /usr/lib/syslinux/modules/bios/chain.c32 /usr/lib/syslinux/modules/bios/menu.c32 /usr/lib/syslinux/modules/bios/vesamenu.c32 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
sudo nano /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT vesamenu.c32
MENU TITLE Netzwerk Boot PXE, Server: Raspi4
MENU CLEAR
ALLOWOPTIONS 0
PROMPT 0
TIMEOUT 0
MENU COLOR hotkey 1;31;44
LABEL –
MENU LABEL Lokale Boot Option:
MENU DISABLE
LABEL localboot
menu label Booten von lokaler Festplatte
LOCALBOOT 0
MENU SEPARATOR
LABEL –
MENU LABEL Netzwerk Boot Optionen:
MENU DISABLE
#Hier beginnen die Booteinträge!
#
label memtest86
menu label Memtest86+ 5.01
kernel /memtest/memtest86+-5.01
#
# EOF
#
Strg-x, y, Enter
Das Menu ist nun auch soweit fertig und wird angezeigt.
Jetzt noch Memtest einfügen.
cd
wget http://www.memtest.org/download/5.01/memtest86+-5.01.bin.gz
gzip -dk memtest86+-5.01.bin.gz
service dnsmasq stop
mkdir -p /var/lib/tftpboot/memtest
cp ~/memtest86+-5.01.bin /var/lib/tftpboot/memtest/memtest86+-5.01
rm memtest86+-5.01.bin memtest86+-5.01.bin.gz
service dnsmasq start
exit
Jetzt funktioniert auch das Memtest im Menu.