PXE - Preboot Execution Environment (Raspberry Pi 4)
Client
Bootlader
Update
Zuerst das System auf den neuesten Stand bringen:
sudo apt-get update && sudo apt-get full-upgrade sudo reboot
Mit folgenden Befehl kann man überprüfen, ob es eine neuere Bootlader-Version gibt:
sudo rpi-eeprom-update
Mit der Option -a kann die neueste Version intalliert werden:
sudo rpi-eeprom-update -a sudo reboot
Links
https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md
https://github.com/raspberrypi/rpi-eeprom/
Bootreihenfolge anpassen
Nach einem full-upgrade befindet sich die neueste Bootlader-Version in /lib/firmware/raspberrypi/bootloader/stable/. Diese wird in lokales Verzeichnis kopiert und die Konfiguration exportiert:
cd ~/temp cp /lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-09-03.bin pieeprom.bin sudo rpi-eeprom-config pieeprom.bin > bootconf.txt
Die Datei
vi bootconf.txt
bearbeiten und den Eintrag BOOT_ORDER auf 0x21 (zuerst von SD-Karte, dann vom Netzwerk) setzen:
BOOT_ORDER=0x21
Danach aus dem usrprünglichen Bootloader und der geänderten Konfiguration einen neuen erstellen:
sudo rpi-eeprom-config --out pieeprom-new.bin --config bootconf.txt pieeprom.bin
Zum Abschluss den Bootloader aktualisieren und das System neu starten:
sudo rpi-eeprom-update -d -f ./pieeprom-new.bin sudo reboot
Nach dem Neustart kann die Konfiguration mittels
vcgencmd bootloader_config
kontrolliert werden.
Links
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
Server
DHCP-Server
Grundkonfiguration siehe ISC-DHCPD
PXE-Boot aktivieren
TODO: filename
Die Datei
sudo vi /etc/dhcp/dhcpd.conf
bearbeiten und folgenden Zeilen hinzfügen
allow booting; allow bootp; group { # IP address of the TFTP server next-server 192.168.2.1; host tftpclient { # ethernet address of the client hardware ethernet DC:A6:32:BE:D1:7D; # static ip address (optional) fixed-address 192.168.2.105 filename "pxelinux.0"; } }
Dabei ist group optional und dient nur dazu gewisse Parameter (hier die IP-Adresse des TFTP-Servers) für mehrere host's gemeinsam zu definieren.
Links
https://wiki.syslinux.org/wiki/index.php?title=PXELINUX
https://kb.isc.org/docs/isc-dhcp-41-manual-pages-dhcpdconf
TFTP Server
Siehe dazu tftpd-hpa
NFS Server
Siehe dazu NFS Server
Bootdateien
Links
https://wiki.syslinux.org/wiki/index.php?title=PXELINUX
https://wiki.ubuntuusers.de/PXE-Boot/
Links
https://hackaday.com/2019/11/11/network-booting-the-pi-4/
https://www.debian.org/releases/jessie/i386/ch04s05.html.de
https://wiki.ubuntuusers.de/PXE-Boot/
https://www.virtuallyghetto.com/2020/07/two-methods-to-network-boot-raspberry-pi-4.html
Zurück zu PXE - Preboot Execution Environment