This shows you the differences between two versions of the page.
ipxe [2020/06/20 03:45] k2patel [Create image] |
ipxe [2020/08/10 02:35] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 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> | ||
- | #!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> |