Get ipxe source
git clone git://git.ipxe.org/ipxe.git
Next step create custom script
Simple http server works just fine serving the ipxe.txt and kickstarts, but no HTTPS.
#!ipxe echo Welcome to iPXE! :retry_dhcp dhcp || goto retry_dhcp :bootup echo # echo ip ...................... : ${ip} echo # echo Booting from http://plainhttp.k2patel,in/ipxe/ipxe.txt read test chain http://plainhttp.k2patel.in/ipxe/ipxe.txt prompt shell
cd ipxe/src make bin/ipxe.iso EMBED=k2patel.ipxe
If you get error “make iso genisoimage: Uh oh, I cant find the boot image 'isolinux.bin'”
cd ipxe wget https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.zip mkdir syslinux-6.03 cd syslinux-6.03 unzip ../syslinux-6.03.zip cd src make -j 4 ISOLINUX_BIN=../syslinux-6.03/bios/core/isolinux.bin \ LDLINUX_C32=../syslinux-6.03/./bios/com32/elflink/ldlinux/ldlinux.c32 bin/ipxe.iso EMBED=k2patel.ipxe
cd ipxe/src make bin/ipxe.usb EMBED=k2patel.ipxe dd if=ipxe.usb of=/dev/sdX sync
cd ipxe/src make bin-x86_64-efi/ipxe.efi EMBED=k2pate.ipxe mkfs.fat -F32 /dev/sdxY mkdir /tmp/efifld mount /dev/sdxY /tmp/efidrive mkdir -p /tmp/efifld/efi/boot cp bin-x86_64-efi/ipxe.efi /tmp/efifld/efi/boot/bootx64.efi umount /tmp/efifld