User Tools

Site Tools


ipxe

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ipxe [2020/06/20 03:16]
k2patel created
ipxe [2020/08/10 02:35] (current)
Line 1: Line 1:
 ====== iPXE ====== ====== iPXE ======
 +==== Get Source ====
 +Get ipxe source
 +<code bash>
 +git clone git://​git.ipxe.org/​ipxe.git
 +</​code>​
  
 +Next step create custom script
 +
 +==== Custom ipxe ====
 +:!: Simple http server works just fine serving the ipxe.txt and kickstarts, but no HTTPS.
 +
 +<code bash | k2patel.ipxe>​
 +#!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
 +</​code>​
 +
 +==== Create image ====
 +=== For ISO ===
 +<code bash>
 +cd ipxe/src
 +make bin/​ipxe.iso EMBED=k2patel.ipxe
 +</​code>​
 +
 +:?: If you get error "make iso genisoimage:​ Uh oh, I cant find the boot image '​isolinux.bin'"​
 +
 +<code bash>
 +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
 +</​code>​
 +
 +=== For USB ===
 +<code bash>
 +cd ipxe/src
 +make bin/​ipxe.usb EMBED=k2patel.ipxe
 +dd if=ipxe.usb of=/dev/sdX
 +sync
 +</​code>​
 +
 +=== For EFI ===
 +<code bash>
 +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
 +</​code>​
ipxe.1592622972.txt.gz ยท Last modified: 2020/08/10 02:30 (external edit)