# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # ipxe # ipxe/files # ipxe/files/patch-config_general.h # ipxe/files/pkg-message.in # ipxe/pkg-descr # ipxe/distinfo # ipxe/Makefile # ipxe/ipxestart.example # echo c - ipxe mkdir -p ipxe > /dev/null 2>&1 echo c - ipxe/files mkdir -p ipxe/files > /dev/null 2>&1 echo x - ipxe/files/patch-config_general.h sed 's/^X//' >ipxe/files/patch-config_general.h << '2b1a27436822171b6068b9f36c024d55' X--- config/general.h.orig 2016-02-12 14:04:51 UTC X+++ config/general.h X@@ -35,7 +35,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); X */ X X #define NET_PROTO_IPV4 /* IPv4 protocol */ X-#undef NET_PROTO_IPV6 /* IPv6 protocol */ X+#define NET_PROTO_IPV6 /* IPv6 protocol */ X #undef NET_PROTO_FCOE /* Fibre Channel over Ethernet protocol */ X #define NET_PROTO_STP /* Spanning Tree protocol */ X X@@ -53,10 +53,10 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); X X #define DOWNLOAD_PROTO_TFTP /* Trivial File Transfer Protocol */ X #define DOWNLOAD_PROTO_HTTP /* Hypertext Transfer Protocol */ X-#undef DOWNLOAD_PROTO_HTTPS /* Secure Hypertext Transfer Protocol */ X+#define DOWNLOAD_PROTO_HTTPS /* Secure Hypertext Transfer Protocol */ X #undef DOWNLOAD_PROTO_FTP /* File Transfer Protocol */ X #undef DOWNLOAD_PROTO_SLAM /* Scalable Local Area Multicast */ X-#undef DOWNLOAD_PROTO_NFS /* Network File System Protocol */ X+#define DOWNLOAD_PROTO_NFS /* Network File System Protocol */ X X /* X * SAN boot protocols X@@ -136,7 +136,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); X //#define PXE_CMD /* PXE commands */ X //#define REBOOT_CMD /* Reboot command */ X //#define POWEROFF_CMD /* Power off command */ X-//#define IMAGE_TRUST_CMD /* Image trust management commands */ X+#define IMAGE_TRUST_CMD /* Image trust management commands */ X //#define PCI_CMD /* PCI commands */ X //#define PARAM_CMD /* Form parameter commands */ X //#define NEIGHBOUR_CMD /* Neighbour management commands */ 2b1a27436822171b6068b9f36c024d55 echo x - ipxe/files/pkg-message.in sed 's/^X//' >ipxe/files/pkg-message.in << '9f0a3afa98a5c36ab301596f5c6d3687' XThe following files have been installed in %%DATADIR%%: X X* ipxe.dsk: To create a bootable floppy run X X dd if=%%DATADIR%%/ipxe.dsk of=/dev/fd0 X X where /dev/fd0 is your floppy drive. This will erase any data X already on the disk. X X* ipxe.usb: To create a bootable USB key run X X dd if=%%DATADIR%%/ipxe.usb of=/dev/daX X X where /dev/daX is your USB key, and is *not* a real hard disk on X your system. This will erase any data already on the USB key. X X* ipxe.iso: To create a bootable CD-ROM run X X cdrecord %%DATADIR%%/ipxe.iso X X to write the image to a blank CD. X X* ipxe.pxe: For chainloading from a PXE ROM. X X* ipxe.lkrn: For any boot manager that can boot Linux kernels. 9f0a3afa98a5c36ab301596f5c6d3687 echo x - ipxe/pkg-descr sed 's/^X//' >ipxe/pkg-descr << '8ea4549a54009ef2dcf636ddd55832e3' XiPXE is the leading open source network boot firmware. It provides a Xfull PXE implementation enhanced with additional features such as: X* boot from a web server via HTTP X* boot from an iSCSI SAN X* boot from a Fibre Channel SAN via FCoE X* boot from an AoE SAN X* boot from a wireless network X* boot from a wide-area network X* boot from an Infiniband network X* control the boot process with a script X XWWW: http://ipxe.org 8ea4549a54009ef2dcf636ddd55832e3 echo x - ipxe/distinfo sed 's/^X//' >ipxe/distinfo << 'c51b33460d7a97e571a096417ab128f6' XSHA256 (ipxe-ipxe-20160213-7ecfe7159f94193a666200a17057d4cd5981b850_GH0.tar.gz) = 81e5a199c179ea993368beca55b40f810dddf789c6da48bace72aae3d94a6aba XSIZE (ipxe-ipxe-20160213-7ecfe7159f94193a666200a17057d4cd5981b850_GH0.tar.gz) = 3490722 c51b33460d7a97e571a096417ab128f6 echo x - ipxe/Makefile sed 's/^X//' >ipxe/Makefile << 'a9e121a7ddf4702c721a1d033d21ec6e' X# Created by: Guerkan Karaman X# $FreeBSD: head/net/gpxe/Makefile 387384 2015-05-25 14:50:45Z antoine $ X X# With helpful hints from net/gpxe X XPORTNAME= ipxe XPORTVERSION= 20160213 XCATEGORIES= net X XMAINTAINER= t@tobik.me XCOMMENT= Open source network boot firmware X XLICENSE= GPLv2 X XBUILD_DEPENDS= ${LOCALBASE}/share/syslinux/bios/core/isolinux.bin:${PORTSDIR}/sysutils/syslinux \ X bash:${PORTSDIR}/shells/bash \ X mkisofs:${PORTSDIR}/sysutils/cdrtools X XUSE_GITHUB= yes XGH_PROJECT= ipxe X# iPXE hasn't had a release since 2010. X# See iPXE's FAQ at http://ipxe.org/faq X# X# Q: Which version of iPXE should I use? X# X# A: iPXE uses a rolling release model, in which every commit is intended X# to be production-ready. You should always use the latest code. X# XGH_TAGNAME= 7ecfe7159f94193a666200a17057d4cd5981b850 X XUSES= gmake perl5 shebangfix XUSE_GCC= yes XMAKE_ARGS= PERL=${PERL} \ X CC=${CC} \ X HOST_CC=${CC} \ X ISOLINUX_BIN="${WRKSRC}/isolinux.bin" \ X LDLINUX_C32="${LOCALBASE}/share/syslinux/bios/com32/elflink/ldlinux/ldlinux.c32" XWRKSRC_SUBDIR= src XSHEBANG_FILES= util/geniso util/gensdsk X XPLIST_FILES= %%DATADIR%%/ipxe.dsk \ X %%DATADIR%%/ipxe.usb \ X %%DATADIR%%/ipxe.iso \ X %%DATADIR%%/ipxe.pxe \ X %%DATADIR%%/ipxe.lkrn X XSUB_FILES= pkg-message X X.include X XONLY_FOR_ARCHS= amd64 i386 XONLY_FOR_ARCHS_REASON= not yet ported to anything other than amd64/i386 X X.if ${ARCH} == "amd64" XMAKE_ARGS+= ARCH=i386 X.endif X XIPXE_EMBED?= # Allows embedding of iPXE start scripts X.if ${IPXE_EMBED} != "" XMAKE_ARGS+= EMBED="${IPXE_EMBED}" X.endif X XIPXE_TRUST?= # Path to the root certificates iPXE trusts X.if ${IPXE_TRUST} != "" XMAKE_ARGS+= TRUST="${IPXE_TRUST}" X.endif X Xpre-everything:: X @${ECHO_MSG} "To build iPXE with an embedded script (path must be absolute):" X @${ECHO_MSG} "make IPXE_EMBED=/path/to/ipxe/script install clean" X @${ECHO_MSG} X @${ECHO_MSG} "To build iPXE with new trusted root certificates" X @${ECHO_MSG} "(see http://ipxe.org/crypto for more information):" X @${ECHO_MSG} "make IPXE_TRUST=/path/to/ca1.crt,/path/to/ca2.crt" X Xpre-build: X# ISO creation fails if isolinux.bin is read only X ${INSTALL} -m 644 ${LOCALBASE}/share/syslinux/bios/core/isolinux.bin ${WRKSRC}/isolinux.bin X Xdo-install: X @${MKDIR} ${STAGEDIR}${DATADIR} X ${INSTALL_DATA} ${WRKSRC}/bin/ipxe.dsk ${STAGEDIR}${DATADIR} X ${INSTALL_DATA} ${WRKSRC}/bin/ipxe.usb ${STAGEDIR}${DATADIR} X ${INSTALL_DATA} ${WRKSRC}/bin/ipxe.iso ${STAGEDIR}${DATADIR} X ${INSTALL_DATA} ${WRKSRC}/bin/ipxe.pxe ${STAGEDIR}${DATADIR} X ${INSTALL_DATA} ${WRKSRC}/bin/ipxe.lkrn ${STAGEDIR}${DATADIR} X X.include a9e121a7ddf4702c721a1d033d21ec6e echo x - ipxe/ipxestart.example sed 's/^X//' >ipxe/ipxestart.example << '0b75066fde014c1ded243a5e9ec63a41' X#!ipxe X# An example iPXE start script X# To build iPXE with this script embedded build the port with: X# make IPXE_EMBED=${PWD}/ipxestart.example Xifconf Xchain https://boot.ipxe.org/demo/boot.php 0b75066fde014c1ded243a5e9ec63a41 exit