#!/bin/bash # install requirements sudo apt-get install -y build-essential liblzma-dev # get source git clone git://git.ipxe.org/ipxe.git /tmp/ipxe # create boot script cat </tmp/ipxe/src/boot.ipxe #!ipxe dhcp && chain http://\${next-server}/\${mac} || chain http://preseed.panticz.de/\${mac} EOF # OPTIONAL: enable HTTPS support sed -i -e '/DOWNLOAD_PROTO_HTTPS/ s/#undef/#define/' /tmp/ipxe/src/config/general.h # OPTIONAL: change product name sed -i 's|PRODUCT_NAME ""|PRODUCT_NAME "preseed.panticz.de"|g' /tmp/ipxe/src/config/general.h cd /tmp/ipxe/src # build CD image (/tmp/ipxe/src/bin/ipxe.iso) make bin/ipxe.iso EMBED=boot.ipxe # build USB image (/tmp/ipxe/src/bin/ipxe.usb) make bin/ipxe.usb EMBED=boot.ipxe # build PXE image (/tmp/ipxe/src/bin/ipxe.pxe) make bin/ipxe.pxe EMBED=boot.ipxe # build GRUB image (/tmp/ipxe/src/bin/ipxe.lkrn) make bin/ipxe.lkrn EMBED=boot.ipxe # build undionly image (/tmp/ipxe/src/bin/undionly.kpxe) make bin/undionly.kpxe EMBED=boot.ipxe >
EFI
#make bin-x86_64-linux/ipxe.pxe make bin-x86_64-efi/ipxe.efi ll ./bin-x86_64-efi/ipxe.efi
Build targets
https://ipxe.org/appnote/buildtargets
List of hardware
https://ipxe.org/appnote/hardware_drivers
ToDo: https boot
http://ipxe.org/cfg/crosscert
http://ipxe.org/cfg/trust
Links
http://ipxe.org
http://ipxe.org/download
http://www.coreboot.org/IPXE