PXE, Preboot eXecution Environment est le standard sur PC (marche pas sur Mac) pour le démarrage par le réseau. La plupart des cartes réseaux intègrent la fonctionnalité mais parfois il faut l'activer dans le BIOS ou l'UEFI. Ça permet de démarrer un PC sans disque dur, de démarrer une installation d'un Linux ou autre.
Sous le terme PXE se cache en fait :
Système UEFI et BIOS à menu installé au FUZ :
Paquets à installer sur une debian (stretch) :
sudo apt install isc-dhcp-server nfs-kernel-server tftpd-hpa pxelinux syslinux-efi syslinux-common
Configuration du serveur DHCP éditer /etc/dhcp/dhcpd.conf Ajouter aux options globales :
allow booting; allow bootp;
et à la configuration du sous-réseau :
subnet 192.168.42.0 netmask 255.255.255.0 { range 192.168.42.50 192.168.42.200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.42.255; option routers 192.168.42.1; option tftp-server-name "192.168.42.1"; option root-path "/var/lib/tftp/"; next-server 192.168.42.1; # Select which file to send depending on the architecture if option arch = 00:06 { filename "efi32/syslinux.efi"; } else if option arch = 00:07 { filename "efi64/syslinux.efi"; } else if option arch = 00:09 { filename "efi64/syslinux.efi"; } else { filename "bios/pxelinux.0"; } }
L'arborescence doit être la suivante (par rapport à la racine du serveur PXE définie dans le serveur DHCP (root-path): Dossiers bios, efi32 et efi64 contenant tous les fichiers .c32 et le fichier pxelinux.0 Dossier boot contenant les OS à démarrer (tout était à la racine du PXE avant)
TODO: mettre une archive avec tous ces fichiers + le script qui génère les menus.