git clone https://github.com/ipxe/ipxe.git
cd ./ixpe/src
Si la récupération du script iPXE nécessite SSL il est nécessaire d'activé la fonction et d'integrer le CA ainsi que votre certificat SSL dans le firmaware iPXE
Dans le section Download protocols
Verifier que DOWNLOAD_PROTO_HTTPS est #define et non #undef
/*
* Download protocols
*
*/
#define DOWNLOAD_PROTO_TFTP /* Trivial File Transfer Protocol */
#define DOWNLOAD_PROTO_HTTP /* Hypertext Transfer Protocol */
#define DOWNLOAD_PROTO_HTTPS /* Secure Hypertext Transfer Protocol */
#undef DOWNLOAD_PROTO_FTP /* File Transfer Protocol */
#undef DOWNLOAD_PROTO_SLAM /* Scalable Local Area Multicast */
#define DOWNLOAD_PROTO_NFS /* Network File System Protocol */
//#undef DOWNLOAD_PROTO_FILE /* Local filesystem access */
CERT=Ficher PEM du CA racine,Ficher PEM du certificat de votre serveur
TRUST=Ficher PEM du CA racine
EMBED=Fichier du script iPXE contenant la requete de boot sur votre serveur d'installation
Mon fichier
#!ipxe
dhcp
echo BOOT EMBED
chain https://zeninstall.zen6.info/api/host/ipxe?uuid=${uuid}&mac=${mac}&ip=${net0/ip}&p=${smbios/product}&s=${smbios/serial}
Utilisé pour le boot des VM
Prerequis:
apt install -y isolinux xorriso
Remarque: l'image ne fonctionne que sur sur des Bios undi
Build
make bin/ipxe.iso CERT=/root/isrgrootx1.pem,/root/zen6.pem TRUST=/root/isrgrootx1.pem EMBED=/root/autoload.ipxe
Le fichier généré est ./bin/ipxe.iso
Build efi
make bin-x86_64-efi/ipxe.efi CERT=/root/isrgrootx1.pem,/root/zen6.pem TRUST=/root/isrgrootx1.pem EMBED=/root/autoload.ipxe
Le fichier généré est ./bin-x86_64-efi/ipxe.efi