====== iPXE ====== ==== Get Source ==== Get ipxe source git clone git://git.ipxe.org/ipxe.git Next step create custom script ==== Custom ipxe ==== :!: 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 ==== Create image ==== === For ISO === 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 === For USB === cd ipxe/src make bin/ipxe.usb EMBED=k2patel.ipxe dd if=ipxe.usb of=/dev/sdX sync === For EFI === 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