QEMU bundles iPXE binaries in the QEMU git repository and with the tarball releases. QEMU users and developers occasionally find bugs or missing features in upstream iPXE, and implement bugfixes and features for upstream iPXE. These proposed iPXE changes usually relate to PXE booting in system emulation / virtualization environments, implemented with QEMU and (optionally) KVM. They can also aim at general iPXE improvements. Occasionally QEMU contributors would like to have these iPXE patches bundled with QEMU before the upstream iPXE reviews converge. The downstream branches in QEMU's iPXE mirror serve this purpose.
The downstream branches are not a hostile or competing fork of iPXE. They are meant as a periodically rebased (or merging) downstream of iPXE, that is, a dependent / consumer project. Downstream-only patches are meant to be carried only as long as their upstreaming is in progress and until the next rebase / merge, or when they are deemed unsuitable for upstreaming (but are important for QEMU).
The iPXE binaries bundled with QEMU are built from these branches, and the relevant QEMU commit messages refer to commit hashes from these branches
Branch and tag names
Downstream branches are called ipxe-qemu-<date>-<upstream_hash>, where <date> stands for the date on which the branch was created, and <upstream_hash> identifies the upstream iPXE commit used as fork-off point. Putting <date> first keeps branch names sortable. The ipxe-qemu- branch prefix keeps the branches clearly distinguishable from any branches upstream iPXE might introduce.
Snapshots (which are incorporated into the QEMU tree during development) are tagged <branch>-<nr>, where <branch> is defined above, and <nr> is a two-digit counter that increases monotonically.
Snapshots which make it into official QEMU releases are tagged additionally. The format is ipxe-qemu-release-<qemu_release_identifier>.
- Gerd Hoffmann <email@example.com>
- Ladi Prosek <firstname.lastname@example.org>
Patch submission guidelines
Follow Contribute/SubmitAPatch, but use [ipxe-qemu PATCH] as subject prefix, and CC the maintainers.
Always send your patch to upstream iPXE first, and work with the upstream iPXE community first!