2020-06-18 18:24:06 -04:00
|
|
|
<?xml version="1.0" encoding="UTF-8" ?>
|
|
|
|
<ipxe xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
2020-06-19 18:55:20 -04:00
|
|
|
xmlns="https://router.r00t2.io/boootbox/ipxe/build/"
|
|
|
|
xsi:schemaLocation="https://router.r00t2.io/boootbox/ipxe/build/ http://schema.xml.r00t2.io/projects/ipxe/build.xsd">
|
2020-08-11 23:45:05 -04:00
|
|
|
<!--
|
|
|
|
Define where the source code should go, where it comes from, and any modifications if desired.
|
|
|
|
-->
|
2020-06-19 18:55:20 -04:00
|
|
|
<source srcDir="/opt/builds/ipxe_build">
|
|
|
|
<upstream>
|
2020-08-11 23:45:05 -04:00
|
|
|
<!--
|
|
|
|
Upstream supports two types, "git" (shown below) and "archive". If you use archive, it must be an HTTP file, an
|
|
|
|
HTTPS file, or a path on the local filesystem (file:///path/to/file.tar.xz). archive supports:
|
|
|
|
* .tar.bz2/.tbz/.tbz2
|
|
|
|
* .tar.xz/.txz
|
|
|
|
* .tar.gz/.tgz
|
|
|
|
* .tar
|
|
|
|
* .zip
|
|
|
|
If you use "git", you must have python-git (https://pypi.org/project/GitPython/) installed.
|
|
|
|
-->
|
|
|
|
<git>
|
|
|
|
<refType>branch</refType>
|
|
|
|
<ref>master</ref>
|
|
|
|
<uri>git://git.ipxe.org/ipxe.git</uri>
|
|
|
|
</git>
|
2020-06-19 18:55:20 -04:00
|
|
|
<dest>/opt/builds/ipxe_src</dest>
|
|
|
|
</upstream>
|
|
|
|
<patchSet>
|
|
|
|
<switchOpts subDir="src">
|
|
|
|
<opts file="config/general.h">
|
|
|
|
<enable>
|
|
|
|
<opt>NET_PROTO_IPV6</opt>
|
|
|
|
<opt>DOWNLOAD_PROTO_HTTPS</opt>
|
|
|
|
<opt>DOWNLOAD_PROTO_FTP</opt>
|
|
|
|
<opt>DOWNLOAD_PROTO_NFS</opt>
|
|
|
|
<opt>HTTP_AUTH_NTLM</opt>
|
|
|
|
<!-- <opt>HTTP_ENC_PEERDIST</opt> -->
|
|
|
|
<!-- <opt>HTTP_HACK_GCE</opt> -->
|
|
|
|
<opt>NSLOOKUP_CMD</opt>
|
|
|
|
<opt>TIME_CMD</opt>
|
|
|
|
<opt>DIGEST_CMD</opt>
|
|
|
|
<opt>LOTEST_CMD</opt>
|
|
|
|
<opt>VLAN_CMD</opt>
|
|
|
|
<!-- Causes EFI to fail
|
|
|
|
<opt>PXE_CMD</opt> -->
|
|
|
|
<opt>REBOOT_CMD</opt>
|
|
|
|
<opt>POWEROFF_CMD</opt>
|
|
|
|
<!-- I *think* this causes EFI to fail. Can I build it directly as a target w/o enabling?
|
|
|
|
<opt>IMAGE_NBI</opt> -->
|
|
|
|
<!-- Causes EFI to fail, and is auto-enabled for what needs it.
|
|
|
|
<opt>IMAGE_ELF</opt> -->
|
|
|
|
<!-- Also enabled by default for MBR builds.
|
|
|
|
<opt>IMAGE_MULTIBOOT</opt> -->
|
|
|
|
<!-- Enabled where needed, etc.
|
|
|
|
<opt>IMAGE_SCRIPT</opt> -->
|
|
|
|
<!-- http://lists.ipxe.org/pipermail/ipxe-devel/2017-March/005510.html
|
|
|
|
<opt>IMAGE_BZIMAGE</opt> -->
|
|
|
|
<!-- Not really necessary since iPXE has native menus.
|
|
|
|
<opt>IMAGE_COMBOOT</opt> -->
|
|
|
|
<!-- Enabled by default for EFI builds, and causes build error on bin/ipxe.dsk.tmp
|
|
|
|
<opt>IMAGE_EFI</opt> -->
|
|
|
|
<!-- EFI builds fail with this. related to PXE_STACK/PXE_CMD?
|
|
|
|
<opt>IMAGE_PXE</opt> -->
|
|
|
|
<opt>IMAGE_TRUST_CMD</opt>
|
|
|
|
<opt>PCI_CMD</opt>
|
|
|
|
<opt>PARAM_CMD</opt>
|
|
|
|
<opt>NEIGHBOUR_CMD</opt>
|
|
|
|
<opt>PING_CMD</opt>
|
|
|
|
<opt>CONSOLE_CMD</opt>
|
|
|
|
<opt>IPSTAT_CMD</opt>
|
|
|
|
<opt>PROFSTAT_CMD</opt>
|
|
|
|
<opt>NTP_CMD</opt>
|
|
|
|
<opt>CERT_CMD</opt>
|
|
|
|
</enable>
|
|
|
|
<!--
|
|
|
|
<disable>
|
|
|
|
<opt>CRYPTO_80211_WEP</opt>
|
|
|
|
<opt>CRYPTO_80211_WPA</opt>
|
|
|
|
<opt>CRYPTO_80211_WPA2</opt>
|
|
|
|
<opt>IWMGMT_CMD</opt>
|
|
|
|
</disable>
|
|
|
|
-->
|
|
|
|
</opts>
|
|
|
|
<opts file="config/console.h">
|
|
|
|
<enable>
|
|
|
|
<opt>CONSOLE_FRAMEBUFFER</opt>
|
|
|
|
</enable>
|
|
|
|
<!--
|
|
|
|
<disable>
|
|
|
|
<opt></opt>
|
|
|
|
</disable>
|
|
|
|
-->
|
|
|
|
</opts>
|
|
|
|
</switchOpts>
|
|
|
|
<patch patchDir="/opt/builds/patches/ipxe">
|
2020-08-11 23:45:05 -04:00
|
|
|
<patchFile stripLevel="1">git-version.patch</patchFile>
|
|
|
|
<patchFile stripLevel="1">banner.patch</patchFile>
|
|
|
|
<patchFile stripLevel="1">efi-iso.patch</patchFile>
|
2020-06-19 18:55:20 -04:00
|
|
|
</patch>
|
|
|
|
</patchSet>
|
|
|
|
</source>
|
2020-08-11 23:45:05 -04:00
|
|
|
<!--
|
|
|
|
The other attributes enable additional target images. "pxe" is a PXE image, "undi" is an UNDI (RFC4578§2.2)
|
|
|
|
kernel/NBP, both of which will allow you to chainload iPXE from vanilla PXE.
|
|
|
|
-->
|
|
|
|
<build
|
|
|
|
iso="true"
|
|
|
|
usb="true"
|
|
|
|
floppy="true"
|
|
|
|
mbr="true"
|
|
|
|
pxe="true"
|
|
|
|
undi="true">
|
|
|
|
<!--
|
|
|
|
If scripts is specified, multiple firmware sets/images will be built along with a non-embedded version.
|
|
|
|
The required "prefix" attribute is the file prefix that will be appended.
|
|
|
|
See: https://ipxe.org/scripting
|
|
|
|
-->
|
|
|
|
<scripts srcDir="/opt/builds/config/ipxe">
|
|
|
|
<script prefix="bootstrap">bootstrap.ipxe</script>
|
|
|
|
<script prefix="">chain-default.ipxe</script>
|
|
|
|
</scripts>
|
|
|
|
<!--
|
|
|
|
The directory where built firmware/images go. They will have respective subdirectories to maintain a clean
|
|
|
|
hierarchy.
|
|
|
|
-->
|
|
|
|
<dest>/opt/builds/built/ipxe</dest>
|
|
|
|
<!--
|
|
|
|
The default is all firmware ("make everything").
|
|
|
|
Note that 1af41000 is the firmware used by VirtIO, and will be symlinked as such if built.
|
|
|
|
-->
|
|
|
|
<!--
|
|
|
|
<roms>
|
|
|
|
<rom>rtl8139</rom>
|
|
|
|
<rom>8086100e</rom>
|
|
|
|
<rom>80861209</rom>
|
|
|
|
</roms>
|
|
|
|
-->
|
|
|
|
<!--
|
|
|
|
This is optional. If you introduce patches that define additional images that don't follow the above pattern
|
|
|
|
(such as eworm's EFI ISO patch), you can define them here.
|
|
|
|
-->
|
|
|
|
<extraTargets>
|
|
|
|
<target subDir="efi" baseName="32.efi">bin-i386-efi/ipxe.efi</target>
|
|
|
|
<target subDir="efi" baseName="64.efi">bin-x86_64-efi/ipxe.efi</target>
|
|
|
|
<target subDir="iso" baseName="legacy.iso">bin/ipxe.liso</target>
|
|
|
|
<target subDir="iso" baseName="uefi.iso">bin/ipxe.eiso</target>
|
|
|
|
</extraTargets>
|
|
|
|
</build>
|
2020-06-18 18:24:06 -04:00
|
|
|
</ipxe>
|