Etape 2: Préparez votre script.
Démarrage de HTTP avec gPXE est aussi simple que de remplacer le champ de nom de fichier DHCP avec une URL http://. Par exemple, si vous avez actuellement /etc/dhcpd.conf contenant
next-server my.tftp.server; filename "/pxe.0";
puis vous pouvez simplement copier pxe.0 vers votre serveur web et modifier /etc/dhcpd.conf pour contenir
filename "http://my.web.server/pxe.0";
HTTP peut gérer des fichiers beaucoup plus grandes que TFTP et échelle de beaucoup plus grandes distances. Vous pouvez facilement télécharger des fichiers de plusieurs mégaoctets, comme un noyau Linux et un système de fichiers racine, et vous pouvez télécharger à partir de serveurs qui ne sont pas sur votre réseau local. Nous avons testé avec succès outre-Atlantique le démarrage à l’aide de HTTP !
Les versions PXELINUX > = 3,70 pouvez utiliser HTTP fourni par gPXE. (Voir syslinux/NEWS « Changes in 3.70 »)
Par défaut, PXELINUX va chercher son fichier de configuration en utilisant TFTP. Pour substituer ce comportement, vous pouvez spécifier des options DHCP 209 et 210. (Voir syslinux/doc/rfc5071.txt)
Vous pouvez spécifier ces options avec votre service DHCP ou vous pouvez les indiquer dans un script gPXE :
#!gpxe echo Performing DHCP on first network interface dhcp net0 set 209:string pxelinux.cfg/default set 210:string http://example.com/ chain ${210:string}pxelinux.0
La commande « chaîne » ci-dessus sera élargie par gPXE à :
chain http://example.com/pxelinux.0
et l’enchaînés à PXELINUX va chercher son fichier de configuration en utilisant le préfixe 210. Tous les chemins d’accès relatifs spécifiés dans le fichier de configuration de PXELINUX auront également ce préfixe ajouté à eux.
Depuis 3,85 SYSLINUX il y a aussi la possibilité d’utiliser gpxelinux.0 avec pxelinux.0 incorporé, exemple :
#!gpxe echo Performing DHCP on first network interface dhcp net0 set 209:string pxelinux.cfg/default set 210:string http://example.com/ imgload pxelinux.0 boot pxelinux.0