Import Debian changes 1.0.0+git-20190109.133f4c4-ok1

ipxe (1.0.0+git-20190109.133f4c4-ok1) yangtze; urgency=medium
.
  * rebuild source for openKylin
.
ipxe (1.0.0+git-20190109.133f4c4-0ubuntu3.2) focal; urgency=medium
.
  * Revert the changes of the non released version
    1.0.0+git-20190109.133f4c4-0ubuntu3.1 as there is a less impactful
    fix more suited for an SRU.
  * d/p/lp-1882671-efi-Raise-TPL-during-driver-entry-point.patch: fix the
    formerly avoided efi TPL issues (LP: #1882671)
.
ipxe (1.0.0+git-20190109.133f4c4-0ubuntu3.1) focal; urgency=medium
.
  * only enable https on non EFI roms. This lets EFI/OVMF handle https
    itself and avoids breakage in TPL manipulations (LP: 1882671)
    - d/p/enable-https.patch: drop old global way to Enable HTTPS support
    - d/rules: enable https on non EFI roms.
    - d/util/check-rom-sizes: fix if size does exactly match
.
ipxe (1.0.0+git-20190109.133f4c4-0ubuntu3) focal; urgency=medium
.
  [Alkis Georgopoulos]
  * d/tree/ipxe/etc/grub.d/20_ipxe: Make grub-ipxe work under UEFI
    (LP: #1811496)
    - Use ipxe.efi under UEFI
    - Save default entry when iPXE is selected
  [Sharon Dagan]
  - d/tree/ipxe/etc/grub.d/20_ipxe: Identify ipxe grub menu entry in
    an easier way (LP: #1858374)
.
ipxe (1.0.0+git-20190109.133f4c4-0ubuntu2) disco; urgency=medium
.
  * Add e1000e firmware for qemu. (closes: #884240)
    - d/ipxe-qemu.install: install new rom
    - d/util/check-rom-sizes: check new rom
.
ipxe (1.0.0+git-20190109.133f4c4-0ubuntu1) disco; urgency=medium
.
  * Merge new upstream release 1.0.0+git-20190109.133f4c4
    Remaining Changes:
    - d/p/enable-https.patch: Enable HTTPS support.
    - Split grub integration from ipxe->grub-ipxe.
      - d/control: add package and adapt dependencies
      - d/[grub-]ipxe.install: move some files to grub-ipxe
      - rename d/ipxe.post* to d/grub-ipxe-post*
    - Install ne.rom as pxe-ne2k_isa.rom
      - d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
      - d/ipxe-qemu.links: compat link for ne.rom
    - d/ipxe-qemu.links: Add compat links from /usr/share/qemu
      to /usr/lib/ipxe/qemu.
    - d/util/check-rom-sizes, d/rules: check sizes of generated roms to avoid
      accidentially breaking KVM live migration on updates/fixes.
    - handling of efi rom size changes in Bionic (LP 1713490)
      - d/util/check-rom-sizes: bump efi rom sizes
      - d/control: break older qemu versions to ensure the new sized roms
        are only associated with new qemu versions.
    - debian/patches/handle-dhcp-nack.patch: Handle DHCP NAK and send a
      re-discover. (LP 1707999)
    - updated debian/patches/util-elf2efi-GNU_SOURCE.patch to match latest
      upstream.
    - add new rom for vmxnet3 (LP 1737211)
      - d/ipxe-qemu.install: install new rom
        are only associated with new qemu versions.
    - Build ROMs for QEMU with CONFIG=qemu (LP: 1789319)
    - d/p/0005-strip-802.1Q-VLAN-0-priority-tags.patch: Strip 802.1Q VLAN 0
      priority tags; Fixes PXE when VLAN tag is 0. (LP: 1805920)
    - debian/copyright: update copyright information to satisfy lintian
      dep5 checks (LP: 1747071)
  * Dropped changes (upstream):
    - debian/patches/fix-elf2efi-plt-relocation.diff: Cherry-pick fix from
      ipxe devel mailing list to handle R_X86_64_PLT32 relocations.
.
ipxe (1.0.0+git-20180124.fbe8c52d-0ubuntu5) disco; urgency=medium
.
  * d/p/0005-strip-802.1Q-VLAN-0-priority-tags.patch: Strip 802.1Q VLAN 0
    priority tags; Fixes PXE when VLAN tag is 0. (LP: #1805920)
.
ipxe (1.0.0+git-20180124.fbe8c52d-0ubuntu4) cosmic; urgency=medium
.
  * Build ROMs for QEMU with CONFIG=qemu (LP: #1789319)
.
ipxe (1.0.0+git-20180124.fbe8c52d-0ubuntu3) cosmic; urgency=medium
.
  * debian/patches/fix-elf2efi-plt-relocation.diff: Cherry-pick fix from
    ipxe devel mailing list to handle R_X86_64_PLT32 relocations.
.
ipxe (1.0.0+git-20180124.fbe8c52d-0ubuntu2) bionic; urgency=medium
.
  * debian/copyright: update copyright information to satisfy lintian
    dep5 checks (LP: #1747071)
  * d/p/enable-https.patch: adding proper dep3 header
.
ipxe (1.0.0+git-20180124.fbe8c52d-0ubuntu1) bionic; urgency=medium
.
  * Merge new upstream release 20180124.fbe8c52d with last "new"
    Ubuntu packaging 1.0.0+git-20161027.b991c67-1ubuntu1 and the
    fixes since 1.0.0+git-20161027.b991c67+really20150424.a25a16d-1ubuntu1
    Remaining Changes:
    - d/p/enable-https.patch: Enable HTTPS support.
    - Split grub integration from ipxe->grub-ipxe.
      - d/control: add package and adapt dependencies
      - d/[grub-]ipxe.install: move some files to grub-ipxe
      - rename d/ipxe.post* to d/grub-ipxe-post*
    - Install ne.rom as pxe-ne2k_isa.rom
      - d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
      - d/ipxe-qemu.links: compat link for ne.rom
    - d/ipxe-qemu.links: Add compat links from /usr/share/qemu
      to /usr/lib/ipxe/qemu.
    - d/util/check-rom-sizes, d/rules: check sizes of generated roms to avoid
      accidentially breaking KVM live migration on updates/fixes.
    - debian/patches/handle-dhcp-nack.patch: Handle DHCP NAK and send a
      re-discover. (LP 1707999)
  * Dropped changes (upstream):
    - d/p/0004-fix_no-pie_option.patch: correct -no-pie option
      to build without pie
  * Added Changes:
    - updated debian/patches/util-elf2efi-GNU_SOURCE.patch to match latest
      upstream.
    - add new rom for vmxnet3 (LP: #1737211)
      - d/ipxe-qemu.install: install new rom
      - d/util/check-rom-sizes: check new rom as well
    - handling of efi rom size changes (LP: #1713490)
      - d/util/check-rom-sizes: bump efi rom sizes
      - d/control: break older qemu versions to ensure the new sized roms
        are only associated with new qemu versions.
    - d/util/check-rom-sizes: update description
.
ipxe (1.0.0+git-20161027.b991c67+really20150424.a25a16d-1ubuntu2) artful; urgency=medium
.
  * debian/patches/handle-dhcp-nack.patch: Handle DHCP NAK and send a
    re-discover. (LP: #1707999)
.
ipxe (1.0.0+git-20161027.b991c67+really20150424.a25a16d-1ubuntu1) artful; urgency=medium
.
  * Revert to the former git snapshot 20150424.a25a16d to fix changed
    rom sizes that break cross release migrations (LP: #1713490).
    This makes it effectively identical to 1.0.0+git-20150424.a25a16d-1ubuntu2
    in regard to the upstream source, but keeps the changes to debian/*.
    On next merge we need to either ensure that rom sizes don't change, or
    that we can encapsulate that in qemu so that on forward migration it is
    taken care off.
    - This brings back debian/patches/0002-Don-t-use-libiberty.patch as needed
      on the older source.
    - Adapt d/p/0001-rom-change-banner-timeout.diff.patch to former state to
      match old source.
    - drop d/p/util-elf2efi-GNU_SOURCE.patch as it was not needed on old
      source
  * Fix FTBFS with newer perl versions (were dropped due to the revert above
    but is needed to build in artful)
    - d/p/0006-build-Fix-.ids.o-creation-for-drivers-not-in-the-all.patch
    - d/p/0007-build-Remove-nested-my-declaration.patch
  * d/util/check-rom-sizes, d/rules: check sizes of generated roms to avoid
    accidentially breaking KVM live migration on updates/fixes.
.
ipxe (1.0.0+git-20161027.b991c67-1ubuntu1) artful; urgency=medium
.
  * Merge from Debian stable. Remaining changes:
    - d/p/enable-https.patch: Enable HTTPS support.
    - Split grub integration from ipxe->grub-ipxe.
      - d/control: add package and adapt dependencies
      - d/[grub-]ipxe.install: move some files to grub-ipxe
      - rename d/ipxe.post* to d/grub-ipxe-post*
    - Install ne.rom as pxe-ne2k_isa.rom
      - d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
      - d/ipxe-qemu.links: compat link for ne.rom
    - d/ipxe-qemu.links: Add compat links from /usr/share/qemu
      to /usr/lib/ipxe/qemu.
    - d/p/0004-fix_no-pie_option.patch: correct -no-pie option
      to build without pie
.
ipxe (1.0.0+git-20161027.b991c67-1) unstable; urgency=medium
.
  * New snapshot. (closes: #799216)
  * Use debhelper 10.
.
ipxe (1.0.0+git-20150424.a25a16d-1ubuntu2) yakkety; urgency=medium
.
  * debian/patches/0004-fix_no-pie_option.patch: correct -no-pie
    option to build without pie
.
ipxe (1.0.0+git-20150424.a25a16d-1ubuntu1) xenial; urgency=medium
.
  * Merge from Debian unstable. Remaining changes:
    - d/p/enable-https.patch: Enable HTTPS support.
    - d/control,grub-ipxe*: Split grub integration from ipxe->grub-ipxe.
    - d/ipxe-qemu.links: Add compat links from /usr/share/qemu to
      /usr/lib/ipxe/qemu.
    - d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
.
ipxe (1.0.0+git-20150424.a25a16d-1) unstable; urgency=medium
.
  * New snapshot.
  * Build-depend on liblzma-dev.
  * Update Standards-Version, no changes.
  * Redo ISO generation:
    - Fix isolinux location and build-deps. (closes: #783051)
    - Include EFI image, build-depend on dosfstools and mtools.
    - Use xorriso instead of genisoimage.
    - Use isohybrid.
  * Enable support for IPv6 and NFS. (closes: #746500)
.
ipxe (1.0.0+git-20141004.86285d1-1ubuntu3) vivid; urgency=medium
.
  * ipxe.install: remove one more line which was supposed to be split out
    into grub-ipxe.install.
.
ipxe (1.0.0+git-20141004.86285d1-1ubuntu2) vivid; urgency=medium
.
  * ipxe.install: remove /boot/ipxe.efi and ipxe.lkrn which are split out
    into grub-ipxe.install.  (LP: #1418751)
.
ipxe (1.0.0+git-20141004.86285d1-1ubuntu1) vivid; urgency=medium
.
  * Merge from Debian unstable. (LP: #1409057)  Remaining changes:
    - d/p/enable-https.patch: Enable HTTPS support.
    - d/control,grub-ipxe*: Split grub integration from ipxe->grub-ipxe.
    - d/ipxe-qemu.links: Add compat links from /usr/share/qemu to
      /usr/lib/ipxe/qemu.
    - d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
  * Dropped changes, alternative fix in Debian:
    - d/control: Add libiberty-dev to BD's to fix FTBFS.
    - drop isolinux from build-deps and patch to augment ISOLINUX_BIN
    - Drop transitional kvm-ipxe package since we are past 14.04
.
ipxe (1.0.0+git-20141004.86285d1-1) unstable; urgency=medium
.
  * New snapshot.
.
ipxe (1.0.0+git-20131111.c3d1e78-2.1) unstable; urgency=medium
.
  * Non-maintainer upload.
  * Add missing export in d/rules.
  * Change syslinux to syslinux-common in B-D. (Closes: #750349)
.
ipxe (1.0.0+git-20131111.c3d1e78-2ubuntu2) utopic; urgency=medium
.
  * Fix FTBFS in utopic due to movement of isolinux.bin:
    - add isolinux to build-deps
    - add /usr/lib/ISOLINUX/isolinux.bin to ISOLINUX_BIN in
      src/arch/i386/Makefile
.
ipxe (1.0.0+git-20131111.c3d1e78-2ubuntu1) trusty; urgency=low
.
  * Merge from Debian unstable.  Remaining changes:
    - d/p/enable-https.patch: Enable HTTPS support.
    - d/control,grub-ipxe*: Split grub integration from ipxe->grub-ipxe.
    - d/control: Transition kvm-ipxe->ipxe-qemu for LTS->LTS upgrade.
    - d/ipxe-qemu.links: Add compat links from /usr/share/qemu to
      /usr/lib/ipxe/qemu.
    - d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
  * Dropped changes, alternative fix in Debian:
    - d/control: Add libiberty-dev to BD's to fix FTBFS.
.
ipxe (1.0.0+git-20131111.c3d1e78-2) unstable; urgency=medium
.
  * Don't use libiberty. (closes: #730910)
.
ipxe (1.0.0+git-20131111.c3d1e78-1ubuntu1) trusty; urgency=low
.
  * Merge from Debian unstable, remaining changes:
    - d/p/enable-https.patch: Enable HTTPS support.
    - d/control,grub-ipxe*: Split grub integration from ipxe->grub-ipxe.
    - d/control: Transition kvm-ipxe->ipxe-qemu for LTS->LTS upgrade.
    - d/ipxe-qemu.links: Add compat links from /usr/share/qemu to
      /usr/lib/ipxe/qemu.
    - d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
  * All other changes dropped in preference to upstream Debian
    packaging.
  * d/control: Add libiberty-dev to BD's to fix FTBFS.
.
ipxe (1.0.0+git-20131111.c3d1e78-1) unstable; urgency=low
.
  * New snapshot.
  * Add undionly.kkpxe. (closes: #671340)
  * Ignore result of update-grub invocation. (closes: #660459)
  * Mark packages as multi-arch foreign. (closes: #728476)
  * Use debhelper 9.
  * Remove old breaks relations.
  * Add 64-bit EFI images:
    - Build-depend on binutils-dev, zlib1g-dev.
    - Add combined EFI/legacy images for qemu.
    - Properly clean build dir.
  * Install images in ipxe-qemu to match names used by qemu:
    - Add compatility symlink for e1000_82540.
    - Use dh-exec to allow renames in dh_install.
.
ipxe (1.0.0+git-20130710.936134e-0ubuntu1) saucy; urgency=low
.
  * New upstream snapshot:
    - d/p/fix-bp-bug.patch: Dropped; included in snapshot.
    - d/p/baseroms-target.diff: Dropped; no longer required.
    - Refreshed all other patches.
  * d/rules: Use date for snapshot prefix instead of increment.
  * d/p/qemu-target-fix-names.diff: Consolidated into qemu-target.diff.
  * d/p/*: Tidied redundant patches.
  * d/control,rules: Move roms for use with qemu-kvm to ipxe-qemu, update
    kvm-ipxe to be transitional.
  * d/control: Drop Depends from grub-ipxe to ipxe as its not required.
.
ipxe (1.0.0+git-20120202.f6840ba-3) unstable; urgency=low
.
  * Fix to break qemu-system instead of qemu. (closes: #658982)
  * Make ipxe-qemu break and replace ipxe. (closes: #658684)
  * Add link for ipxe.lkrn, so all images can be found in one location.
.
ipxe (1.0.0+git-20120202.f6840ba-2) unstable; urgency=low
.
  * Fix grub setup and restrict entry by default. (closes: #658465)
  * Install only combined images into ipxe package.
  * Install rom images needed for qemu into ipxe-qemu package.
    - Add breaks against qemu and qemu-kvm.
  * Disable rom banner timeout. (closes: #638574)
.
ipxe (1.0.0+git-20120202.f6840ba-1) unstable; urgency=low
.
  * New snapshot.
  * Disable ath9k roms.
  * Fix tg3 build.
  * Create grub entry. (closes: #626238)
  * Override version string with package version.
.
ipxe (1.0.0+git-4.d6b0b76-0ubuntu3) saucy; urgency=low
.
  * debian/patches/fix-bp-bug.patch: fixes FTBFS (LP: #1194914)
.
ipxe (1.0.0+git-4.d6b0b76-0ubuntu2) raring; urgency=low
.
  * d/control: Add ipxe-qemu virtual package for use with qemu.
.
ipxe (1.0.0+git-4.d6b0b76-0ubuntu1) raring; urgency=low
.
  * New upstream snapshot:
    - d/p/iscsi*.patch: Dropped - included in snapshot.
    - Refreshed all other patches.
  * d/p/enable-https.patch: Enable HTTPS support (LP: #1025239).
.
ipxe (1.0.0+git-3.55f6c88-0ubuntu5) quantal; urgency=low
.
  * Fix input/output errors when using ipxe to boot from iSCSI storage
    (LP: #1045923).
    - d/p/iscsi-{report-reponse,send-padding-inline}.patch: Cherry picked
      patches from upstream VCS which resolve two issues with iSCSI protocol
      handling.
.
ipxe (1.0.0+git-3.55f6c88-0ubuntu4) quantal; urgency=low
.
  * debian/ipxe.install: add ipxe.dsk and ipxe.usb (LP: #1014005)
.
ipxe (1.0.0+git-3.55f6c88-0ubuntu3) quantal; urgency=low
.
  [ Serge Hallyn ]
  * debian/patches/rom-set-banner-timeout-0.diff: set rom banner timeout
    to 0.  (LP: #921230)
.
  [ Stefan Bader ]
  * Modify the ROM names in of the allqemu target to use 8086100e instead
    of e1000_82540 and ne instead of ne2k_isa (LP: #948323)
.
ipxe (1.0.0+git-3.55f6c88-0ubuntu2) quantal; urgency=low
.
  * debian/grub.d/25_ipxe: removed the space after "Found iPXE image"
    to match other grub-update script fragments (LP: #990378).
  * debian/control: fixed some Lintian warnings.
    - TODO: lots of missing Copyright information.
.
ipxe (1.0.0+git-3.55f6c88-0ubuntu1) precise; urgency=low
.
  [ Marc Cluet ]
  * New upstream snapshot.
  * Added rules for automatic git branch refresh.
  * Changed rom target from allbaseroms to allroms.
    - recommended behaviour by upstream, building all full roms is neither
      recommended nor a desired user experience
  * Added new target allqemu for qemu package.
    - created new build target to build full rom drivers just for qemu
      package purposes
  * Cleaned lintian errors from debian package
    - Removed brace extension in ipxe.install
    - Updated standards to 3.9.2
    - Fixed copyright file not machine readable
.
  [ James Page ]
  * Updated get-orig-source target to generate git snapshots inline
    with upstream version numbering being used by this package.
.
ipxe (1.0.0+git-2.149b50-1ubuntu4) precise; urgency=low
.
  * Add missing Breaks/Replaces for kvm-ipxe split in
    1.0.0+git-2.149b50-1ubuntu3 (LP: #905099).
.
ipxe (1.0.0+git-2.149b50-1ubuntu3) precise; urgency=low
.
  * add new binary package, kvm-ipxe. The roms needed by kvm-ipxe are now only
    provided by it, so
    - make ipxe depend on kvm-ipxe.
    - ipxe.links: reverse the links
.
ipxe (1.0.0+git-2.149b50-1ubuntu2) precise; urgency=low
.
  * Provide a new binary package, grub-ipxe - for ipxe usage via grub.
    - LP: #814038, Closes #626238
.
ipxe (1.0.0+git-2.149b50-1ubuntu1) oneiric; urgency=low
.
  * Link Roms into /usr/share/qemu for consumption by
    qemu-kvm.
.
ipxe (1.0.0+git-2.149b50-1) unstable; urgency=low
.
  * New snapshot.
.
ipxe (1.0.0+git-1.293e34-2) unstable; urgency=low
.
  * Add some missing copyrights and licenses to the copyright files.
.
ipxe (1.0.0+git-1.293e34-1) unstable; urgency=low
.
  * Initial release (closes: #474034)
  * Remove drivers with binary-only firmware:
    - Remove bnx2 driver.
    - Remove linda infiniband driver.
This commit is contained in:
Cong Liu 2022-11-18 14:51:04 +08:00
parent fc58bff077
commit bda298a553
25 changed files with 1872 additions and 0 deletions

8
debian/.git-dpm vendored Normal file
View File

@ -0,0 +1,8 @@
# see git-dpm(1) from git-dpm package
28edb536886c3d630cb0e5f6dad350660a1c2cba
28edb536886c3d630cb0e5f6dad350660a1c2cba
ed5f457bd323a35a82b65041e987d0d7e24f36cf
ed5f457bd323a35a82b65041e987d0d7e24f36cf
ipxe_1.0.0+git-20161027.b991c67.orig.tar.xz
9a5dc89fe8d4fa8d0dbce0f948901e8895b648e7
2450728

517
debian/changelog vendored Normal file
View File

@ -0,0 +1,517 @@
ipxe (1.0.0+git-20190109.133f4c4-ok1) yangtze; urgency=medium
* rebuild source for openKylin
-- Cong Liu <liucong2@kylinos.cn> Fri, 18 Nov 2022 14:51:04 +0800
ipxe (1.0.0+git-20190109.133f4c4-0ubuntu3.2) focal; urgency=medium
* Revert the changes of the non released version
1.0.0+git-20190109.133f4c4-0ubuntu3.1 as there is a less impactful
fix more suited for an SRU.
* d/p/lp-1882671-efi-Raise-TPL-during-driver-entry-point.patch: fix the
formerly avoided efi TPL issues (LP: #1882671)
-- Christian Ehrhardt <christian.ehrhardt@canonical.com> Thu, 16 Jul 2020 16:51:30 +0200
ipxe (1.0.0+git-20190109.133f4c4-0ubuntu3.1) focal; urgency=medium
* only enable https on non EFI roms. This lets EFI/OVMF handle https
itself and avoids breakage in TPL manipulations (LP: 1882671)
- d/p/enable-https.patch: drop old global way to Enable HTTPS support
- d/rules: enable https on non EFI roms.
- d/util/check-rom-sizes: fix if size does exactly match
-- Christian Ehrhardt <christian.ehrhardt@canonical.com> Wed, 01 Jul 2020 08:05:04 +0200
ipxe (1.0.0+git-20190109.133f4c4-0ubuntu3) focal; urgency=medium
[Alkis Georgopoulos]
* d/tree/ipxe/etc/grub.d/20_ipxe: Make grub-ipxe work under UEFI
(LP: #1811496)
- Use ipxe.efi under UEFI
- Save default entry when iPXE is selected
[Sharon Dagan]
- d/tree/ipxe/etc/grub.d/20_ipxe: Identify ipxe grub menu entry in
an easier way (LP: #1858374)
-- Rafael David Tinoco <rafaeldtinoco@ubuntu.com> Mon, 06 Jan 2020 18:59:25 +0000
ipxe (1.0.0+git-20190109.133f4c4-0ubuntu2) disco; urgency=medium
* Add e1000e firmware for qemu. (closes: #884240)
- d/ipxe-qemu.install: install new rom
- d/util/check-rom-sizes: check new rom
-- Christian Ehrhardt <christian.ehrhardt@canonical.com> Tue, 19 Feb 2019 17:17:04 +0100
ipxe (1.0.0+git-20190109.133f4c4-0ubuntu1) disco; urgency=medium
* Merge new upstream release 1.0.0+git-20190109.133f4c4
Remaining Changes:
- d/p/enable-https.patch: Enable HTTPS support.
- Split grub integration from ipxe->grub-ipxe.
- d/control: add package and adapt dependencies
- d/[grub-]ipxe.install: move some files to grub-ipxe
- rename d/ipxe.post* to d/grub-ipxe-post*
- Install ne.rom as pxe-ne2k_isa.rom
- d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
- d/ipxe-qemu.links: compat link for ne.rom
- d/ipxe-qemu.links: Add compat links from /usr/share/qemu
to /usr/lib/ipxe/qemu.
- d/util/check-rom-sizes, d/rules: check sizes of generated roms to avoid
accidentially breaking KVM live migration on updates/fixes.
- handling of efi rom size changes in Bionic (LP 1713490)
- d/util/check-rom-sizes: bump efi rom sizes
- d/control: break older qemu versions to ensure the new sized roms
are only associated with new qemu versions.
- debian/patches/handle-dhcp-nack.patch: Handle DHCP NAK and send a
re-discover. (LP 1707999)
- updated debian/patches/util-elf2efi-GNU_SOURCE.patch to match latest
upstream.
- add new rom for vmxnet3 (LP 1737211)
- d/ipxe-qemu.install: install new rom
are only associated with new qemu versions.
- Build ROMs for QEMU with CONFIG=qemu (LP: 1789319)
- d/p/0005-strip-802.1Q-VLAN-0-priority-tags.patch: Strip 802.1Q VLAN 0
priority tags; Fixes PXE when VLAN tag is 0. (LP: 1805920)
- debian/copyright: update copyright information to satisfy lintian
dep5 checks (LP: 1747071)
* Dropped changes (upstream):
- debian/patches/fix-elf2efi-plt-relocation.diff: Cherry-pick fix from
ipxe devel mailing list to handle R_X86_64_PLT32 relocations.
-- Christian Ehrhardt <christian.ehrhardt@canonical.com> Wed, 09 Jan 2019 11:09:29 +0100
ipxe (1.0.0+git-20180124.fbe8c52d-0ubuntu5) disco; urgency=medium
* d/p/0005-strip-802.1Q-VLAN-0-priority-tags.patch: Strip 802.1Q VLAN 0
priority tags; Fixes PXE when VLAN tag is 0. (LP: #1805920)
-- Andres Rodriguez <andreserl@ubuntu.com> Mon, 10 Dec 2018 16:26:42 -0500
ipxe (1.0.0+git-20180124.fbe8c52d-0ubuntu4) cosmic; urgency=medium
* Build ROMs for QEMU with CONFIG=qemu (LP: #1789319)
-- Julian Andres Klode <juliank@ubuntu.com> Mon, 10 Sep 2018 14:56:17 +0200
ipxe (1.0.0+git-20180124.fbe8c52d-0ubuntu3) cosmic; urgency=medium
* debian/patches/fix-elf2efi-plt-relocation.diff: Cherry-pick fix from
ipxe devel mailing list to handle R_X86_64_PLT32 relocations.
-- Julian Andres Klode <juliank@ubuntu.com> Mon, 10 Sep 2018 14:27:35 +0200
ipxe (1.0.0+git-20180124.fbe8c52d-0ubuntu2) bionic; urgency=medium
* debian/copyright: update copyright information to satisfy lintian
dep5 checks (LP: #1747071)
* d/p/enable-https.patch: adding proper dep3 header
-- Christian Ehrhardt <christian.ehrhardt@canonical.com> Mon, 05 Feb 2018 15:09:28 +0100
ipxe (1.0.0+git-20180124.fbe8c52d-0ubuntu1) bionic; urgency=medium
* Merge new upstream release 20180124.fbe8c52d with last "new"
Ubuntu packaging 1.0.0+git-20161027.b991c67-1ubuntu1 and the
fixes since 1.0.0+git-20161027.b991c67+really20150424.a25a16d-1ubuntu1
Remaining Changes:
- d/p/enable-https.patch: Enable HTTPS support.
- Split grub integration from ipxe->grub-ipxe.
- d/control: add package and adapt dependencies
- d/[grub-]ipxe.install: move some files to grub-ipxe
- rename d/ipxe.post* to d/grub-ipxe-post*
- Install ne.rom as pxe-ne2k_isa.rom
- d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
- d/ipxe-qemu.links: compat link for ne.rom
- d/ipxe-qemu.links: Add compat links from /usr/share/qemu
to /usr/lib/ipxe/qemu.
- d/util/check-rom-sizes, d/rules: check sizes of generated roms to avoid
accidentially breaking KVM live migration on updates/fixes.
- debian/patches/handle-dhcp-nack.patch: Handle DHCP NAK and send a
re-discover. (LP 1707999)
* Dropped changes (upstream):
- d/p/0004-fix_no-pie_option.patch: correct -no-pie option
to build without pie
* Added Changes:
- updated debian/patches/util-elf2efi-GNU_SOURCE.patch to match latest
upstream.
- add new rom for vmxnet3 (LP: #1737211)
- d/ipxe-qemu.install: install new rom
- d/util/check-rom-sizes: check new rom as well
- handling of efi rom size changes (LP: #1713490)
- d/util/check-rom-sizes: bump efi rom sizes
- d/control: break older qemu versions to ensure the new sized roms
are only associated with new qemu versions.
- d/util/check-rom-sizes: update description
-- Christian Ehrhardt <christian.ehrhardt@canonical.com> Wed, 24 Jan 2018 15:00:36 +0100
ipxe (1.0.0+git-20161027.b991c67+really20150424.a25a16d-1ubuntu2) artful; urgency=medium
* debian/patches/handle-dhcp-nack.patch: Handle DHCP NAK and send a
re-discover. (LP: #1707999)
-- Andres Rodriguez <andreserl@ubuntu.com> Thu, 12 Oct 2017 16:25:52 -0400
ipxe (1.0.0+git-20161027.b991c67+really20150424.a25a16d-1ubuntu1) artful; urgency=medium
* Revert to the former git snapshot 20150424.a25a16d to fix changed
rom sizes that break cross release migrations (LP: #1713490).
This makes it effectively identical to 1.0.0+git-20150424.a25a16d-1ubuntu2
in regard to the upstream source, but keeps the changes to debian/*.
On next merge we need to either ensure that rom sizes don't change, or
that we can encapsulate that in qemu so that on forward migration it is
taken care off.
- This brings back debian/patches/0002-Don-t-use-libiberty.patch as needed
on the older source.
- Adapt d/p/0001-rom-change-banner-timeout.diff.patch to former state to
match old source.
- drop d/p/util-elf2efi-GNU_SOURCE.patch as it was not needed on old
source
* Fix FTBFS with newer perl versions (were dropped due to the revert above
but is needed to build in artful)
- d/p/0006-build-Fix-.ids.o-creation-for-drivers-not-in-the-all.patch
- d/p/0007-build-Remove-nested-my-declaration.patch
* d/util/check-rom-sizes, d/rules: check sizes of generated roms to avoid
accidentially breaking KVM live migration on updates/fixes.
-- Christian Ehrhardt <christian.ehrhardt@canonical.com> Tue, 29 Aug 2017 10:37:57 +0200
ipxe (1.0.0+git-20161027.b991c67-1ubuntu1) artful; urgency=medium
* Merge from Debian stable. Remaining changes:
- d/p/enable-https.patch: Enable HTTPS support.
- Split grub integration from ipxe->grub-ipxe.
- d/control: add package and adapt dependencies
- d/[grub-]ipxe.install: move some files to grub-ipxe
- rename d/ipxe.post* to d/grub-ipxe-post*
- Install ne.rom as pxe-ne2k_isa.rom
- d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
- d/ipxe-qemu.links: compat link for ne.rom
- d/ipxe-qemu.links: Add compat links from /usr/share/qemu
to /usr/lib/ipxe/qemu.
- d/p/0004-fix_no-pie_option.patch: correct -no-pie option
to build without pie
-- Christian Ehrhardt <christian.ehrhardt@canonical.com> Thu, 17 Aug 2017 08:40:41 +0200
ipxe (1.0.0+git-20161027.b991c67-1) unstable; urgency=medium
* New snapshot. (closes: #799216)
* Use debhelper 10.
-- Bastian Blank <waldi@debian.org> Sun, 13 Nov 2016 13:35:11 +0100
ipxe (1.0.0+git-20150424.a25a16d-1ubuntu2) yakkety; urgency=medium
* debian/patches/0004-fix_no-pie_option.patch: correct -no-pie
option to build without pie
-- Steve Beattie <sbeattie@ubuntu.com> Thu, 28 Apr 2016 23:55:40 -0700
ipxe (1.0.0+git-20150424.a25a16d-1ubuntu1) xenial; urgency=medium
* Merge from Debian unstable. Remaining changes:
- d/p/enable-https.patch: Enable HTTPS support.
- d/control,grub-ipxe*: Split grub integration from ipxe->grub-ipxe.
- d/ipxe-qemu.links: Add compat links from /usr/share/qemu to
/usr/lib/ipxe/qemu.
- d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
-- Serge Hallyn <serge.hallyn@ubuntu.com> Mon, 08 Feb 2016 20:35:02 -0800
ipxe (1.0.0+git-20150424.a25a16d-1) unstable; urgency=medium
* New snapshot.
* Build-depend on liblzma-dev.
* Update Standards-Version, no changes.
* Redo ISO generation:
- Fix isolinux location and build-deps. (closes: #783051)
- Include EFI image, build-depend on dosfstools and mtools.
- Use xorriso instead of genisoimage.
- Use isohybrid.
* Enable support for IPv6 and NFS. (closes: #746500)
-- Bastian Blank <waldi@debian.org> Wed, 29 Apr 2015 21:00:55 +0200
ipxe (1.0.0+git-20141004.86285d1-1ubuntu3) vivid; urgency=medium
* ipxe.install: remove one more line which was supposed to be split out
into grub-ipxe.install.
-- Serge Hallyn <serge.hallyn@ubuntu.com> Mon, 09 Feb 2015 11:01:16 -0600
ipxe (1.0.0+git-20141004.86285d1-1ubuntu2) vivid; urgency=medium
* ipxe.install: remove /boot/ipxe.efi and ipxe.lkrn which are split out
into grub-ipxe.install. (LP: #1418751)
-- Serge Hallyn <serge.hallyn@ubuntu.com> Mon, 09 Feb 2015 10:51:22 -0600
ipxe (1.0.0+git-20141004.86285d1-1ubuntu1) vivid; urgency=medium
* Merge from Debian unstable. (LP: #1409057) Remaining changes:
- d/p/enable-https.patch: Enable HTTPS support.
- d/control,grub-ipxe*: Split grub integration from ipxe->grub-ipxe.
- d/ipxe-qemu.links: Add compat links from /usr/share/qemu to
/usr/lib/ipxe/qemu.
- d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
* Dropped changes, alternative fix in Debian:
- d/control: Add libiberty-dev to BD's to fix FTBFS.
- drop isolinux from build-deps and patch to augment ISOLINUX_BIN
- Drop transitional kvm-ipxe package since we are past 14.04
-- Serge Hallyn <serge.hallyn@ubuntu.com> Mon, 12 Jan 2015 10:32:26 -0600
ipxe (1.0.0+git-20141004.86285d1-1) unstable; urgency=medium
* New snapshot.
-- Bastian Blank <waldi@debian.org> Sun, 19 Oct 2014 16:02:53 +0200
ipxe (1.0.0+git-20131111.c3d1e78-2.1) unstable; urgency=medium
* Non-maintainer upload.
* Add missing export in d/rules.
* Change syslinux to syslinux-common in B-D. (Closes: #750349)
-- Juli?n Moreno Pati?o <julian@debian.org> Wed, 10 Sep 2014 11:06:28 -0500
ipxe (1.0.0+git-20131111.c3d1e78-2ubuntu2) utopic; urgency=medium
* Fix FTBFS in utopic due to movement of isolinux.bin:
- add isolinux to build-deps
- add /usr/lib/ISOLINUX/isolinux.bin to ISOLINUX_BIN in
src/arch/i386/Makefile
-- Serge Hallyn <serge.hallyn@ubuntu.com> Tue, 12 Aug 2014 12:56:06 -0500
ipxe (1.0.0+git-20131111.c3d1e78-2ubuntu1) trusty; urgency=low
* Merge from Debian unstable. Remaining changes:
- d/p/enable-https.patch: Enable HTTPS support.
- d/control,grub-ipxe*: Split grub integration from ipxe->grub-ipxe.
- d/control: Transition kvm-ipxe->ipxe-qemu for LTS->LTS upgrade.
- d/ipxe-qemu.links: Add compat links from /usr/share/qemu to
/usr/lib/ipxe/qemu.
- d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
* Dropped changes, alternative fix in Debian:
- d/control: Add libiberty-dev to BD's to fix FTBFS.
-- James Page <james.page@ubuntu.com> Mon, 06 Jan 2014 09:55:25 +0000
ipxe (1.0.0+git-20131111.c3d1e78-2) unstable; urgency=medium
* Don't use libiberty. (closes: #730910)
-- Bastian Blank <waldi@debian.org> Sun, 22 Dec 2013 20:05:03 +0100
ipxe (1.0.0+git-20131111.c3d1e78-1ubuntu1) trusty; urgency=low
* Merge from Debian unstable, remaining changes:
- d/p/enable-https.patch: Enable HTTPS support.
- d/control,grub-ipxe*: Split grub integration from ipxe->grub-ipxe.
- d/control: Transition kvm-ipxe->ipxe-qemu for LTS->LTS upgrade.
- d/ipxe-qemu.links: Add compat links from /usr/share/qemu to
/usr/lib/ipxe/qemu.
- d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
* All other changes dropped in preference to upstream Debian
packaging.
* d/control: Add libiberty-dev to BD's to fix FTBFS.
-- James Page <james.page@ubuntu.com> Tue, 26 Nov 2013 17:50:47 +0000
ipxe (1.0.0+git-20131111.c3d1e78-1) unstable; urgency=low
* New snapshot.
* Add undionly.kkpxe. (closes: #671340)
* Ignore result of update-grub invocation. (closes: #660459)
* Mark packages as multi-arch foreign. (closes: #728476)
* Use debhelper 9.
* Remove old breaks relations.
* Add 64-bit EFI images:
- Build-depend on binutils-dev, zlib1g-dev.
- Add combined EFI/legacy images for qemu.
- Properly clean build dir.
* Install images in ipxe-qemu to match names used by qemu:
- Add compatility symlink for e1000_82540.
- Use dh-exec to allow renames in dh_install.
-- Bastian Blank <waldi@debian.org> Thu, 21 Nov 2013 18:26:32 +0100
ipxe (1.0.0+git-20130710.936134e-0ubuntu1) saucy; urgency=low
* New upstream snapshot:
- d/p/fix-bp-bug.patch: Dropped; included in snapshot.
- d/p/baseroms-target.diff: Dropped; no longer required.
- Refreshed all other patches.
* d/rules: Use date for snapshot prefix instead of increment.
* d/p/qemu-target-fix-names.diff: Consolidated into qemu-target.diff.
* d/p/*: Tidied redundant patches.
* d/control,rules: Move roms for use with qemu-kvm to ipxe-qemu, update
kvm-ipxe to be transitional.
* d/control: Drop Depends from grub-ipxe to ipxe as its not required.
-- James Page <james.page@ubuntu.com> Wed, 10 Jul 2013 12:23:26 +0100
ipxe (1.0.0+git-20120202.f6840ba-3) unstable; urgency=low
* Fix to break qemu-system instead of qemu. (closes: #658982)
* Make ipxe-qemu break and replace ipxe. (closes: #658684)
* Add link for ipxe.lkrn, so all images can be found in one location.
-- Bastian Blank <waldi@debian.org> Tue, 07 Feb 2012 16:09:43 +0100
ipxe (1.0.0+git-20120202.f6840ba-2) unstable; urgency=low
* Fix grub setup and restrict entry by default. (closes: #658465)
* Install only combined images into ipxe package.
* Install rom images needed for qemu into ipxe-qemu package.
- Add breaks against qemu and qemu-kvm.
* Disable rom banner timeout. (closes: #638574)
-- Bastian Blank <waldi@debian.org> Fri, 03 Feb 2012 19:04:56 +0100
ipxe (1.0.0+git-20120202.f6840ba-1) unstable; urgency=low
* New snapshot.
* Disable ath9k roms.
* Fix tg3 build.
* Create grub entry. (closes: #626238)
* Override version string with package version.
-- Bastian Blank <waldi@debian.org> Thu, 02 Feb 2012 12:40:26 +0100
ipxe (1.0.0+git-4.d6b0b76-0ubuntu3) saucy; urgency=low
* debian/patches/fix-bp-bug.patch: fixes FTBFS (LP: #1194914)
-- Yolanda Robla <yolanda.robla@canonical.com> Thu, 27 Jun 2013 11:22:43 +0200
ipxe (1.0.0+git-4.d6b0b76-0ubuntu2) raring; urgency=low
* d/control: Add ipxe-qemu virtual package for use with qemu.
-- Serge Hallyn <serge.hallyn@ubuntu.com> Tue, 20 Nov 2012 16:08:21 -0600
ipxe (1.0.0+git-4.d6b0b76-0ubuntu1) raring; urgency=low
* New upstream snapshot:
- d/p/iscsi*.patch: Dropped - included in snapshot.
- Refreshed all other patches.
* d/p/enable-https.patch: Enable HTTPS support (LP: #1025239).
-- James Page <james.page@ubuntu.com> Wed, 14 Nov 2012 15:47:31 +0000
ipxe (1.0.0+git-3.55f6c88-0ubuntu5) quantal; urgency=low
* Fix input/output errors when using ipxe to boot from iSCSI storage
(LP: #1045923).
- d/p/iscsi-{report-reponse,send-padding-inline}.patch: Cherry picked
patches from upstream VCS which resolve two issues with iSCSI protocol
handling.
-- James Page <james.page@ubuntu.com> Thu, 06 Sep 2012 21:46:54 +0100
ipxe (1.0.0+git-3.55f6c88-0ubuntu4) quantal; urgency=low
* debian/ipxe.install: add ipxe.dsk and ipxe.usb (LP: #1014005)
-- Serge Hallyn <serge.hallyn@ubuntu.com> Tue, 21 Aug 2012 14:48:44 -0500
ipxe (1.0.0+git-3.55f6c88-0ubuntu3) quantal; urgency=low
[ Serge Hallyn ]
* debian/patches/rom-set-banner-timeout-0.diff: set rom banner timeout
to 0. (LP: #921230)
[ Stefan Bader ]
* Modify the ROM names in of the allqemu target to use 8086100e instead
of e1000_82540 and ne instead of ne2k_isa (LP: #948323)
-- Serge Hallyn <serge.hallyn@ubuntu.com> Mon, 28 May 2012 11:57:48 -0500
ipxe (1.0.0+git-3.55f6c88-0ubuntu2) quantal; urgency=low
* debian/grub.d/25_ipxe: removed the space after "Found iPXE image"
to match other grub-update script fragments (LP: #990378).
* debian/control: fixed some Lintian warnings.
- TODO: lots of missing Copyright information.
-- Martin-Éric Racine <q-funk@ubuntu.com> Sat, 28 Apr 2012 11:41:28 +0300
ipxe (1.0.0+git-3.55f6c88-0ubuntu1) precise; urgency=low
[ Marc Cluet ]
* New upstream snapshot.
* Added rules for automatic git branch refresh.
* Changed rom target from allbaseroms to allroms.
- recommended behaviour by upstream, building all full roms is neither
recommended nor a desired user experience
* Added new target allqemu for qemu package.
- created new build target to build full rom drivers just for qemu
package purposes
* Cleaned lintian errors from debian package
- Removed brace extension in ipxe.install
- Updated standards to 3.9.2
- Fixed copyright file not machine readable
[ James Page ]
* Updated get-orig-source target to generate git snapshots inline
with upstream version numbering being used by this package.
-- Marc Cluet <marc.cluet@ubuntu.com> Fri, 10 Feb 2012 16:21:23 +0000
ipxe (1.0.0+git-2.149b50-1ubuntu4) precise; urgency=low
* Add missing Breaks/Replaces for kvm-ipxe split in
1.0.0+git-2.149b50-1ubuntu3 (LP: #905099).
-- Robie Basak <robie.basak@ubuntu.com> Fri, 16 Dec 2011 10:43:54 +0000
ipxe (1.0.0+git-2.149b50-1ubuntu3) precise; urgency=low
* add new binary package, kvm-ipxe. The roms needed by kvm-ipxe are now only
provided by it, so
- make ipxe depend on kvm-ipxe.
- ipxe.links: reverse the links
-- Serge Hallyn <serge.hallyn@ubuntu.com> Fri, 25 Nov 2011 12:58:48 -0600
ipxe (1.0.0+git-2.149b50-1ubuntu2) precise; urgency=low
* Provide a new binary package, grub-ipxe - for ipxe usage via grub.
- LP: #814038, Closes #626238
-- Ben Howard <ben.howard@canonical.com> Thu, 25 Aug 2011 11:03:52 -0600
ipxe (1.0.0+git-2.149b50-1ubuntu1) oneiric; urgency=low
* Link Roms into /usr/share/qemu for consumption by
qemu-kvm.
-- Serge Hallyn <serge.hallyn@ubuntu.com> Thu, 18 Aug 2011 13:34:38 -0500
ipxe (1.0.0+git-2.149b50-1) unstable; urgency=low
* New snapshot.
-- Bastian Blank <waldi@debian.org> Sun, 31 Jul 2011 20:57:02 +0200
ipxe (1.0.0+git-1.293e34-2) unstable; urgency=low
* Add some missing copyrights and licenses to the copyright files.
-- Bastian Blank <waldi@debian.org> Mon, 11 Apr 2011 19:35:36 +0200
ipxe (1.0.0+git-1.293e34-1) unstable; urgency=low
* Initial release (closes: #474034)
* Remove drivers with binary-only firmware:
- Remove bnx2 driver.
- Remove linda infiniband driver.
-- Bastian Blank <waldi@debian.org> Sun, 03 Apr 2011 11:32:56 +0200

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
10

4
debian/config/general.h vendored Normal file
View File

@ -0,0 +1,4 @@
#define ROM_BANNER_TIMEOUT 0
#define NET_PROTO_IPV6
#define DOWNLOAD_PROTO_NFS

58
debian/control vendored Normal file
View File

@ -0,0 +1,58 @@
Source: ipxe
Section: admin
Priority: optional
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
XSBC-Original-Maintainer: Bastian Blank <waldi@debian.org>
Build-Depends:
debhelper (>> 10), dh-exec,
xorriso, isolinux, syslinux-common, syslinux-utils, dosfstools, mtools,
binutils-dev, liblzma-dev, zlib1g-dev,
Standards-Version: 3.9.6
Homepage: http://ipxe.org/
#Vcs-Git: git://git.debian.org/collab-maint/ipxe.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/ipxe.git;a=summary
Package: ipxe
Architecture: all
Multi-Arch: foreign
Depends: ipxe-qemu, grub-ipxe, ${misc:Depends}
Description: PXE boot firmware
iPXE is network boot firmware. It supports a variety of network cards,
including some wireless cards, and variety of network protocols (traditional
DHCP, BOOTP and TFTP and also HTTP, iSCSI, SAN via FCoE and Infiniband). It
supports scripting.
.
It is possible to use iPXE as a PXE ROM in the network card or to
chainload it from other boot methods.
.
This package provides boot code for all supported network cards in one
binary and several bootable formats.
Package: ipxe-qemu
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}
Breaks: qemu-system-x86 (<< 1:2.11+dfsg-1ubuntu1~)
Description: PXE boot firmware - ROM images for qemu
iPXE is network boot firmware. It supports a variety of network cards,
including some wireless cards, and variety of network protocols (traditional
DHCP, BOOTP and TFTP and also HTTP, iSCSI, SAN via FCoE and Infiniband). It
supports scripting.
.
It is possible to use iPXE as a PXE ROM in the network card or to
chainload it from other boot methods.
.
This package provides boot code for the qemu emulated network cards in
as boot ROMs.
Package: grub-ipxe
Architecture: all
Suggests: grub-pc (>= 1.96)
Depends: ${misc:Depends}
Description: Network booting from GRUB using iPXE
iPXE is network boot firmware. It supports a variety of network cards,
including some wireless cards, and variety of network protocols (traditional
DHCP, BOOTP and TFTP and also HTTP, iSCSI, SAN via FCoE and Infiniband). It
supports scripting.
.
This package adds a menu entry to grub2 for network booting using iPXE.

713
debian/copyright vendored Normal file
View File

@ -0,0 +1,713 @@
Format: http://dep.debian.net/deps/dep5
Upstream-Name: ipxe
Source: git://git.ipxe.org/ipxe.git
Files: *
Copyright: *No copyright*
License: GPL-2+ or UBDL
Files: src/drivers/net/hfa384x.h
src/drivers/net/p80211hdr.h
src/drivers/net/wlan_compat.h
Copyright: 1999, AbsoluteValue Systems, Inc.
License: GPL-2
Files: src/arch/x86/prefix/dskprefix.S
Copyright: 1991-1992, Linus Torvalds
License: GPL-2
Files: src/core/stringextra.c
Copyright: 1991-1992, Linus Torvalds
2004, Tobias Lorenz
License: GPL-2
Files: src/drivers/infiniband/MT25218_PRM.h
src/drivers/infiniband/MT25408_PRM.h
Copyright: 2004, Mellanox Technologies Ltd.
License: GPL-2
Files: src/drivers/infiniband/qib_7220_regs.h
src/drivers/infiniband/qib_7322_regs.h
Copyright: 2008-2009, QLogic Corporation.
License: GPL-2
Files: src/arch/x86/core/basemem_packet.c
src/arch/x86/core/cachedhcp.c
src/arch/x86/core/rdtsc_timer.c
src/arch/x86/core/runtime.c
src/arch/x86/drivers/net/undi.c
src/arch/x86/drivers/net/undiload.c
src/arch/x86/drivers/net/undinet.c
src/arch/x86/drivers/net/undionly.c
src/arch/x86/drivers/net/undipreload.c
src/arch/x86/drivers/net/undirom.c
src/arch/x86/interface/pcbios/basemem.c
src/arch/x86/interface/pcbios/bios_console.c
src/arch/x86/interface/pcbios/e820mangler.S
src/arch/x86/interface/pcbios/fakee820.c
src/arch/x86/interface/pcbios/hidemem.c
src/arch/x86/interface/pcbios/memmap.c
src/arch/x86/interface/pcbios/pnpbios.c
src/arch/x86/hci/commands/pxe_cmd.c
src/arch/x86/image/bootsector.c
src/arch/x86/image/bzimage.c
src/arch/x86/image/elfboot.c
src/arch/x86/image/initrd.c
src/arch/x86/image/multiboot.c
src/arch/x86/image/pxe_image.c
src/arch/x86/image/sdi.c
src/arch/x86/interface/pcbios/bios_reboot.c
src/arch/x86/interface/pcbios/bios_smbios.c
src/arch/x86/interface/pcbios/bios_timer.c
src/arch/x86/interface/pcbios/int13.c
src/arch/x86/interface/pcbios/memtop_umalloc.c
src/arch/x86/interface/pcbios/pcibios.c
src/arch/x86/interface/pcbios/rtc_entropy.c
src/arch/x86/interface/pcbios/rtc_time.c
src/arch/x86/interface/pcbios/vesafb.c
src/arch/x86/interface/pxe/pxe_call.c
src/arch/x86/interface/pxe/pxe_entry.S
src/arch/x86/interface/pxe/pxe_file.c
src/arch/x86/interface/pxe/pxe_loader.c
src/arch/x86/interface/pxe/pxe_preboot.c
src/arch/x86/interface/pxe/pxe_tftp.c
src/arch/x86/interface/pxe/pxe_udp.c
src/arch/x86/interface/pxe/pxe_undi.c
src/arch/x86/interface/vmware/guestinfo.c
src/arch/x86/interface/vmware/guestrpc.c
src/arch/x86/interface/vmware/vmconsole.c
src/arch/x86/interface/vmware/vmware.c
src/arch/x86/prefix/exeprefix.S
src/arch/x86/prefix/isaromprefix.S
src/arch/x86/prefix/libprefix.S
src/arch/x86/prefix/mromprefix.S
src/arch/x86/prefix/pciromprefix.S
src/arch/x86/prefix/unlzma.S
src/arch/x86/transitions/liba20.S
src/arch/x86/transitions/librm_test.c
src/arch/x86/core/cpuid.c
src/arch/x86/core/cpuid_settings.c
src/arch/x86/core/debugcon.c
src/arch/x86/core/pcidirect.c
src/arch/x86/core/pic8259.c
src/arch/x86/core/pit8254.c
src/arch/x86/core/vram_settings.c
src/arch/x86/core/x86_bigint.c
src/arch/x86/core/x86_io.c
src/arch/x86/core/x86_string.c
src/arch/x86/core/x86_tcpip.c
src/arch/x86/drivers/hyperv/hyperv.c
src/arch/x86/drivers/xen/hvm.c
src/arch/x86/hci/commands/cpuid_cmd.c
src/arch/x86/include/bits/string.h
src/arch/x86/interface/efi/efix86_nap.c
src/interface/efi/efi_entropy.c
src/interface/efi/efiprefix.c
src/interface/efi/efidrvprefix.c
src/core/acpi.c
src/core/ansicol.c
src/core/ansicoldef.c
src/core/ansiesc.c
src/core/assert.c
src/core/base16.c
src/core/base64.c
src/core/basename.c
src/core/bitmap.c
src/core/blockdev.c
src/core/cpio.c
src/core/ctype.c
src/core/cwuri.c
src/core/debug.c
src/core/debug_md5.c
src/core/device.c
src/core/downloader.c
src/core/edd.c
src/core/exec.c
src/core/fbcon.c
src/core/getkey.c
src/core/getopt.c
src/core/image.c
src/core/init.c
src/core/interface.c
src/core/iobuf.c
src/core/isqrt.c
src/core/job.c
src/core/linebuf.c
src/core/lineconsole.c
src/core/list.c
src/core/log.c
src/core/malloc.c
src/core/memmap_settings.c
src/core/menu.c
src/core/monojob.c
src/core/null_reboot.c
src/core/null_sanboot.c
src/core/null_time.c
src/core/nvo.c
src/core/open.c
src/core/params.c
src/core/parseopt.c
src/core/pending.c
src/core/pinger.c
src/core/pixbuf.c
src/core/posix_io.c
src/core/process.c
src/core/profile.c
src/core/refcnt.c
src/core/resolv.c
src/core/settings.c
src/core/string.c
src/core/time.c
src/core/timer.c
src/core/uri.c
src/core/uuid.c
src/core/version.c
src/core/vsprintf.c
src/core/wchar.c
src/core/xfer.c
src/core/xferbuf.c
src/crypto/asn1.c
src/crypto/bigint.c
src/crypto/cbc.c
src/crypto/certstore.c
src/crypto/chap.c
src/crypto/cms.c
src/crypto/crypto_null.c
src/crypto/deflate.c
src/crypto/drbg.c
src/crypto/entropy.c
src/crypto/hash_df.c
src/crypto/hmac.c
src/crypto/hmac_drbg.c
src/crypto/md5.c
src/crypto/null_entropy.c
src/crypto/ocsp.c
src/crypto/privkey.c
src/crypto/random_nz.c
src/crypto/rbg.c
src/crypto/rootcert.c
src/crypto/rsa.c
src/crypto/sha1.c
src/crypto/sha224.c
src/crypto/sha256.c
src/crypto/sha384.c
src/crypto/sha512.c
src/crypto/sha512_224.c
src/crypto/sha512_256.c
src/crypto/x509.c
src/drivers/bitbash/bitbash.c
src/drivers/bitbash/i2c_bit.c
src/drivers/bitbash/spi_bit.c
src/drivers/block/ata.c
src/drivers/block/scsi.c
src/drivers/bus/cdc.c
src/drivers/bus/pci.c
src/drivers/bus/pci_settings.c
src/drivers/bus/pcibackup.c
src/drivers/bus/pcivpd.c
src/drivers/bus/usb.c
src/drivers/infiniband/mlx_bitops.h
src/drivers/infiniband/qib7322.c
src/drivers/infiniband/qib7322.h
src/drivers/infiniband/qib_genbits.pl
src/drivers/net/dm96xx.c
src/drivers/net/ecm.c
src/drivers/net/efi/nii.c
src/drivers/net/efi/snp.c
src/drivers/net/efi/snpnet.c
src/drivers/net/efi/snponly.c
src/drivers/net/intel.c
src/drivers/net/intelx.c
src/drivers/net/ipoib.c
src/drivers/net/mii.c
src/drivers/net/myson.c
src/drivers/net/natsemi.c
src/drivers/net/ncm.c
src/drivers/net/netfront.c
src/drivers/net/netvsc.c
src/drivers/net/phantom/nx_bitops.h
src/drivers/net/realtek.c
src/drivers/net/skeleton.c
src/drivers/net/smsc75xx.c
src/drivers/net/vmxnet3.c
src/drivers/net/vmxnet3.h
src/drivers/nvs/nvs.c
src/drivers/nvs/nvsvpd.c
src/drivers/nvs/spi.c
src/drivers/nvs/threewire.c
src/drivers/usb/ehci.c
src/drivers/usb/usbhub.c
src/drivers/usb/usbnet.c
src/drivers/usb/xhci.c
src/hci/commands/autoboot_cmd.c
src/hci/commands/config_cmd.c
src/hci/commands/console_cmd.c
src/hci/commands/dhcp_cmd.c
src/hci/commands/fcmgmt_cmd.c
src/hci/commands/ifmgmt_cmd.c
src/hci/commands/image_cmd.c
src/hci/commands/image_trust_cmd.c
src/hci/commands/ipstat_cmd.c
src/hci/commands/login_cmd.c
src/hci/commands/lotest_cmd.c
src/hci/commands/menu_cmd.c
src/hci/commands/neighbour_cmd.c
src/hci/commands/nvo_cmd.c
src/hci/commands/param_cmd.c
src/hci/commands/pci_cmd.c
src/hci/commands/ping_cmd.c
src/hci/commands/profstat_cmd.c
src/hci/commands/reboot_cmd.c
src/hci/commands/route_cmd.c
src/hci/commands/sanboot_cmd.c
src/hci/commands/sync_cmd.c
src/hci/commands/vlan_cmd.c
src/hci/editstring.c
src/hci/jumpscroll.c
src/hci/mucurses/widgets/editbox.c
src/hci/readline.c
src/hci/shell.c
src/hci/tui/login_ui.c
src/hci/tui/menu_ui.c
src/hci/tui/settings_ui.c
src/image/efi_image.c
src/image/elf.c
src/image/png.c
src/image/pnm.c
src/image/script.c
src/image/segment.c
src/include/errno.h
src/include/hci/ifmgmt_cmd.h
src/include/ipxe/bitops.h
src/include/ipxe/fip.h
src/interface/bofm/bofm.c
src/interface/efi/efi_autoboot.c
src/interface/efi/efi_bofm.c
src/interface/efi/efi_console.c
src/interface/efi/efi_debug.c
src/interface/efi/efi_driver.c
src/interface/efi/efi_file.c
src/interface/efi/efi_guid.c
src/interface/efi/efi_hii.c
src/interface/efi/efi_init.c
src/interface/efi/efi_pci.c
src/interface/efi/efi_reboot.c
src/interface/efi/efi_smbios.c
src/interface/efi/efi_snp.c
src/interface/efi/efi_snp_hii.c
src/interface/efi/efi_strings.c
src/interface/efi/efi_time.c
src/interface/efi/efi_timer.c
src/interface/efi/efi_uaccess.c
src/interface/efi/efi_umalloc.c
src/interface/efi/efi_utils.c
src/interface/efi/efi_wrap.c
src/interface/hyperv/vmbus.c
src/interface/linux/linux_entropy.c
src/interface/linux/linux_pci.c
src/interface/linux/linux_smbios.c
src/interface/linux/linux_time.c
src/interface/smbios/smbios.c
src/interface/smbios/smbios_settings.c
src/interface/xen/xenbus.c
src/interface/xen/xenstore.c
src/net/aoe.c
src/net/arp.c
src/net/dhcpopts.c
src/net/dhcppkt.c
src/net/eth_slow.c
src/net/ethernet.c
src/net/fakedhcp.c
src/net/fc.c
src/net/fcels.c
src/net/fcns.c
src/net/fcoe.c
src/net/fcp.c
src/net/fragment.c
src/net/icmp.c
src/net/icmpv4.c
src/net/icmpv6.c
src/net/infiniband.c
src/net/infiniband/ib_cm.c
src/net/infiniband/ib_mcast.c
src/net/infiniband/ib_mi.c
src/net/infiniband/ib_packet.c
src/net/infiniband/ib_pathrec.c
src/net/infiniband/ib_sma.c
src/net/infiniband/ib_smc.c
src/net/iobpad.c
src/net/ipv6.c
src/net/ndp.c
src/net/neighbour.c
src/net/netdev_settings.c
src/net/netdevice.c
src/net/nullnet.c
src/net/pccrc.c
src/net/ping.c
src/net/rarp.c
src/net/retry.c
src/net/rndis.c
src/net/socket.c
src/net/tcp/ftp.c
src/net/tcp/http.c
src/net/tcp/httpcore.c
src/net/tcp/https.c
src/net/tcp/iscsi.c
src/net/tcp/syslogs.c
src/net/tls.c
src/net/udp/dhcp.c
src/net/udp/dhcpv6.c
src/net/udp/slam.c
src/net/udp/syslog.c
src/net/udp/tftp.c
src/net/validator.c
src/net/vlan.c
src/tests/base16_test.c
src/tests/base64_test.c
src/tests/bigint_test.c
src/tests/bofm_test.c
src/tests/byteswap_test.c
src/tests/cms_test.c
src/tests/crc32_test.c
src/tests/deflate_test.c
src/tests/digest_test.c
src/tests/dns_test.c
src/tests/entropy_sample.c
src/tests/hash_df_test.c
src/tests/hmac_drbg_test.c
src/tests/ipv4_test.c
src/tests/ipv6_test.c
src/tests/list_test.c
src/tests/math_test.c
src/tests/md5_test.c
src/tests/memcpy_test.c
src/tests/memset_test.c
src/tests/ocsp_test.c
src/tests/pccrc_test.c
src/tests/pixbuf_test.c
src/tests/png_test.c
src/tests/pnm_test.c
src/tests/profile_test.c
src/tests/rsa_test.c
src/tests/setjmp_test.c
src/tests/settings_test.c
src/tests/sha1_test.c
src/tests/sha256_test.c
src/tests/sha512_test.c
src/tests/string_test.c
src/tests/tcpip_test.c
src/tests/test.c
src/tests/tests.c
src/tests/time_test.c
src/tests/uri_test.c
src/tests/vsprintf_test.c
src/tests/x509_test.c
src/usr/autoboot.c
src/usr/dhcpmgmt.c
src/usr/fcmgmt.c
src/usr/ifmgmt.c
src/usr/imgmgmt.c
src/usr/imgtrust.c
src/usr/ipstat.c
src/usr/lotest.c
src/usr/neighmgmt.c
src/usr/pingmgmt.c
src/usr/profstat.c
src/usr/prompt.c
src/usr/pxemenu.c
src/usr/route.c
src/usr/route_ipv4.c
src/usr/route_ipv6.c
src/usr/sync.c
src/util/Option/ROM.pm
src/util/disrom.pl
src/util/efifatbin.c
src/util/efirom.c
src/util/einfo.c
src/util/elf2efi.c
src/util/fixrom.pl
src/util/fnrec.pl
src/util/genkeymap.pl
src/util/licence.pl
src/util/mergerom.pl
Copyright: 2004-2015, Michael Brown <mbrown@fensystems.co.uk>
License: GPL-2+
Files: src/drivers/net/cs89x0.*
Copyright: Copyright, 1988-2008, Russell Nelson, Crynwr Software
License: GPL-2
Files:
src/drivers/net/igbvf/*
Copyright: 1999, - 2008, Intel Corporation
License: GPL-2
Files: src/drivers/net/igbvf/igbvf_main.c
Copyright: 2009, Intel Corporation
2010, Eric Keller <ekeller@princeton.edu>
2010, Red Hat Inc
License: GPL-2
Files:
src/drivers/net/myri10ge*
Copyright: 2005-2010, Myricom, Inc
License: GPL-2
Files:
src/drivers/net/rtl818x/rtl8180_grf5101.c
src/drivers/net/rtl818x/rtl8180_max2820.c
src/drivers/net/rtl818x/rtl8180_sa2400.c
src/drivers/net/rtl818x/rtl8185_rtl8225.c
src/drivers/net/rtl818x/rtl818x.c
src/drivers/net/rtl818x/rtl818x.h
Copyright: 2004-2007, Andrea Merello <andreamrl@tiscali.it>
2005-2007, Andrea Merello <andreamrl@tiscali.it>, et al
License: GPL-2
Files: src/drivers/net/skge.c
src/drivers/net/sky2.c
Copyright: 2004-2005, Stephen Hemminger <shemminger@osdl.org>
License: GPL-2
Files: src/drivers/net/tg3/*
Copyright: 2001-2003, Jeff Garzik (jgarzik@pobox.com)
2001-2004, David S. Miller (davem@redhat.com)
2004, Sun Microsystems Inc
2000-2011, Broadcom Corporation
License: GPL-2
Files: src/drivers/net/vxge/*
Copyright: 2002-2010, Neterion Inc
License: GPL-2
Files: src/include/i82365.h
Copyright: 1999, David A. Hinds.
License: GPL-2
Files: src/include/mii.h
Copyright: 1996, 1999, 2001, David S. Miller (davem@redhat.com)
License: GPL-2
Files:
src/drivers/bus/mca.c
src/drivers/net/3c509.c
src/drivers/net/3c529.c
Copyright: *No copyright*
License: BSD-2-clause
Files:
src/drivers/net/ns8390.h
Copyright: Martin Renters
License: BSD-2-clause
Files: src/drivers/net/3c509.h
Copyright: 1993 Herb Peyerl (hpeyerl@novatel.ca)
License: BSD-3-clause
Files:
src/drivers/net/3c595.c
src/drivers/net/3c5x9.c
src/drivers/net/ne2k_isa.c
src/drivers/net/ns8390.c
Copyright:
1993-1994 David Greenman, Martin Renters
1993-1995 Andres Vega Garcia
1994 Herb Peyerl <hpeyerl@novatel.ca>
1995 Serge Babkin
2000 Shusuke Nisiyama <shu@athena.qe.eng.hokudai.ac.jp>
License: BSD-2-clause
Files: src/drivers/net/3c595.h
Copyright:
2000 Shusuke Nisiyama <shu@athena.qe.eng.hokudai.ac.jp>
License: BSD-3-clause
Files: src/drivers/net/3c90x.*
Copyright:
1999 LightSys Technology Services, Inc.
1999 Steve Smith
2009 Thomas Miletich
License: BSD-2-clause
Files:
src/net/infiniband/ib_cmrc.c
src/net/infiniband/ib_srp.c
Copyright: 2009 Fen Systems Ltd <mbrown@fensystems.co.uk>
License: BSD-2-clause
Files:
src/drivers/net/ath/ath5k/ath5k.c
src/drivers/net/ath/ath5k/ath5k_rfkill.c
src/drivers/net/ath/ath5k/base.h
Copyright:
2002-2007 Sam Leffler, Errno Consulting
2004-2005 Atheros Communications, Inc.
2006 Devicescape Software, Inc.
2007 Jiri Slaby <jirislaby@gmail.com>
2007 Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
2009 Tobias Doerffel <tobias.doerffel@gmail.com>
2002-2007 Sam Leffler, Errno Consulting
License: BSD-3-clause
Files:
src/include/ipxe/ib_cmrc.h
src/include/ipxe/ib_srp.h
src/include/ipxe/srp.h
Copyright: *No copyright*
License: BSD-2-clause
Files: src/include/ipxe/efi/*
Copyright:
2006-2010 Intel Corporation
2008-2009 Apple
License: BSD-3-clause
Files: src/include/ipxe/ibft.h
Copyright:
2007 Fen Systems Ltd
2004,2007 IBM Corporation
License: BSD-2-clause
Files:
src/include/ipxe/list.h
src/include/ipxe/pci.h
Copyright: *No copyright*
License: GPL-2 or UBDL
Files: debian/*
Copyright: 2011 Bastian Blank <waldi@debian.org>
License: GPL-2+
License: GPL-2
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
License: GPL-2+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
License: BSD-2-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
.
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
.
THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL <COPYRIGHT HOLDER> OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
.
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the <organization> nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License: UBDL
The GNU General Public License provides a legal guarantee that
software covered by it remains free (in the sense of freedom, not
price). It achieves this guarantee by imposing obligations on anyone
who chooses to distribute the software.
.
Some of these obligations may be seen as unnecessarily burdensome. In
particular, when the source code for the software is already publicly
and freely available, there is minimal value in imposing upon each
distributor the obligation to provide the complete source code (or an
equivalent written offer to provide the complete source code).
.
This Licence allows for the distribution of unmodified binaries built
from publicly available source code, without imposing the obligations
of the GNU General Public License upon anyone who chooses to
distribute only the unmodified binaries built from that source code.
.
The extra permissions granted by this Licence apply only to unmodified
binaries built from source code which has already been made available
to the public in accordance with the terms of the GNU General Public
Licence. Nothing in this Licence allows for the creation of
closed-source modified versions of the Program. Any modified versions
of the Program are subject to the usual terms and conditions of the
GNU General Public License.
.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
.
This Licence applies to any Program or other work which contains a
notice placed by the copyright holder saying it may be distributed
under the terms of this Unmodified Binary Distribution Licence. All
terms used in the text of this Licence are to be interpreted as they
are used in version 2 of the GNU General Public License as published
by the Free Software Foundation.
.
If you have made this Program available to the public in both source
code and executable form in accordance with the terms of the GNU
General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later
version, then you are hereby granted an additional permission to use,
copy, and distribute the unmodified executable form of this Program
(the "Unmodified Binary") without restriction, including the right to
permit persons to whom the Unmodified Binary is furnished to do
likewise, subject to the following conditions:
.
- when started running, the Program must display an announcement which
includes the details of your existing publication of the Program
made in accordance with the terms of the GNU General Public License.
For example, the Program could display the URL of the publicly
available source code from which the Unmodified Binary was built.
.
- when exercising your right to grant permissions under this Licence,
you do not need to refer directly to the text of this Licence, but
you may not grant permissions beyond those granted to you by this
Licence.

2
debian/grub-ipxe.install vendored Normal file
View File

@ -0,0 +1,2 @@
debian/tree/ipxe/* .
src/bin-x86_64-efi/ipxe.efi src/bin/ipxe.lkrn /boot

13
debian/grub-ipxe.postinst vendored Normal file
View File

@ -0,0 +1,13 @@
#!/bin/sh
set -e
case "$1" in
configure)
command -v update-grub > /dev/null && update-grub || :
;;
esac
#DEBHELPER#
exit 0

13
debian/grub-ipxe.postrm vendored Normal file
View File

@ -0,0 +1,13 @@
#!/bin/sh
set -e
case "$1" in
remove)
command -v update-grub > /dev/null && update-grub || :
;;
esac
#DEBHELPER#
exit 0

18
debian/ipxe-qemu.install vendored Executable file
View File

@ -0,0 +1,18 @@
#! /usr/bin/dh-exec
src/bin-efi/82540em.efirom => usr/lib/ipxe/qemu/efi-e1000.rom
src/bin/82540em.rom => usr/lib/ipxe/qemu/pxe-e1000.rom
src/bin-efi/eepro100.efirom => usr/lib/ipxe/qemu/efi-eepro100.rom
src/bin/eepro100.rom => usr/lib/ipxe/qemu/pxe-eepro100.rom
src/bin-efi/808610d3.efirom => usr/lib/ipxe/qemu/efi-e1000e.rom
src/bin/808610d3.rom => usr/lib/ipxe/qemu/pxe-e1000e.rom
src/bin-efi/ns8390.efirom => usr/lib/ipxe/qemu/efi-ne2k_pci.rom
src/bin/ns8390.rom => usr/lib/ipxe/qemu/pxe-ne2k_pci.rom
src/bin-efi/pcnet32.efirom => usr/lib/ipxe/qemu/efi-pcnet.rom
src/bin/pcnet32.rom => usr/lib/ipxe/qemu/pxe-pcnet.rom
src/bin-efi/rtl8139.efirom => usr/lib/ipxe/qemu/efi-rtl8139.rom
src/bin/rtl8139.rom => usr/lib/ipxe/qemu/pxe-rtl8139.rom
src/bin-efi/virtio-net.efirom => usr/lib/ipxe/qemu/efi-virtio.rom
src/bin/virtio-net.rom => usr/lib/ipxe/qemu/pxe-virtio.rom
src/bin/ne.rom => usr/lib/ipxe/qemu/pxe-ne2k_isa.rom
src/bin-efi/vmxnet3.efirom => usr/lib/ipxe/qemu/efi-vmxnet3.rom
src/bin/vmxnet3.rom => usr/lib/ipxe/qemu/pxe-vmxnet3.rom

14
debian/ipxe-qemu.links vendored Normal file
View File

@ -0,0 +1,14 @@
/usr/lib/ipxe/qemu/pxe-e1000.rom /usr/lib/ipxe/e1000_82540.rom
/usr/lib/ipxe/qemu/pxe-e1000.rom /usr/lib/ipxe/82540em.rom
/usr/lib/ipxe/qemu/pxe-eepro100.rom /usr/lib/ipxe/eepro100.rom
/usr/lib/ipxe/qemu/pxe-ne2k_pci.rom /usr/lib/ipxe/ns8390.rom
/usr/lib/ipxe/qemu/pxe-ne2k_isa.rom /usr/lib/ipxe/ne.rom
/usr/lib/ipxe/qemu/pxe-pcnet.rom /usr/lib/ipxe/pcnet32.rom
/usr/lib/ipxe/qemu/pxe-rtl8139.rom /usr/lib/ipxe/rtl8139.rom
/usr/lib/ipxe/qemu/pxe-virtio.rom /usr/lib/ipxe/virtio-net.rom
# Compat links for QEMU
/usr/lib/ipxe/82540em.rom /usr/share/qemu/pxe-e1000.rom
/usr/lib/ipxe/ne.rom /usr/share/qemu/pxe-ne2k_isa.rom
/usr/lib/ipxe/rtl8139.rom /usr/share/qemu/pxe-rtl8139.rom
/usr/lib/ipxe/virtio-net.rom /usr/share/qemu/pxe-virtio.rom
/usr/lib/ipxe/pcnet32.rom /usr/share/qemu/pxe-pcnet32.rom

2
debian/ipxe.install vendored Normal file
View File

@ -0,0 +1,2 @@
src/bin-efi/ipxe.iso src/bin/ipxe.pxe usr/lib/ipxe
src/bin/undionly.kpxe src/bin/undionly.kkpxe usr/lib/ipxe

2
debian/ipxe.links vendored Normal file
View File

@ -0,0 +1,2 @@
/boot/ipxe.efi /usr/lib/ipxe/ipxe.efi
/boot/ipxe.lkrn /usr/lib/ipxe/ipxe.lkrn

View File

@ -0,0 +1,23 @@
From 34f638565889d88d6c3086b176ca1bc2aa0647ad Mon Sep 17 00:00:00 2001
From: Bastian Blank <waldi@debian.org>
Date: Sat, 4 Oct 2014 20:24:18 +0200
Subject: rom-change-banner-timeout.diff
---
src/arch/x86/prefix/romprefix.S | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/arch/x86/prefix/romprefix.S b/src/arch/x86/prefix/romprefix.S
index f4ca206..14ff752 100644
--- a/src/arch/x86/prefix/romprefix.S
+++ b/src/arch/x86/prefix/romprefix.S
@@ -28,7 +28,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#define PCI_FUNC_MASK 0x07
/* ROM banner timeout, converted to a number of (18Hz) timer ticks. */
+#ifndef ROM_BANNER_TIMEOUT_TICKS
#define ROM_BANNER_TIMEOUT_TICKS ( ( 18 * ROM_BANNER_TIMEOUT ) / 10 )
+#endif
/* Allow payload to be excluded from ROM size
*/

View File

@ -0,0 +1,121 @@
From: Ladi Prosek <lprosek@redhat.com>
Subject: Strip 802.1Q VLAN 0 priority tags
iPXE was unable to receive priority tagged packets specified in
the 802.1Q standard and supported by all major networking stacks.
This commit adds a new function net_pull_tags which is called by
all consumers of incoming packets after stripping their link-layer
headers.
Origin: vendor, https://git.centos.org/blob/rpms!ipxe.git/c7/SOURCES!0009-Strip-802.1Q-VLAN-0-priority-tags.patch
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1805920
Index: ipxe-1.0.0+git-20180124.fbe8c52d/src/arch/x86/interface/pxe/pxe_undi.c
===================================================================
--- ipxe-1.0.0+git-20180124.fbe8c52d.orig/src/arch/x86/interface/pxe/pxe_undi.c 2018-11-30 22:42:34.000000000 -0500
+++ ipxe-1.0.0+git-20180124.fbe8c52d/src/arch/x86/interface/pxe/pxe_undi.c 2018-11-30 22:54:25.000000000 -0500
@@ -976,6 +976,12 @@
}
ll_hlen = ( len - iob_len ( iobuf ) );
+ /* Strip link-layer-independent headers */
+ if ( ( rc = net_pull_tags ( iobuf, pxe_netdev, &net_proto ) ) != 0 ) {
+ /* Assume unknown net_proto */
+ net_proto = 0;
+ }
+
/* Determine network-layer protocol */
switch ( net_proto ) {
case htons ( ETH_P_IP ):
Index: ipxe-1.0.0+git-20180124.fbe8c52d/src/include/ipxe/netdevice.h
===================================================================
--- ipxe-1.0.0+git-20180124.fbe8c52d.orig/src/include/ipxe/netdevice.h 2018-11-30 22:42:34.000000000 -0500
+++ ipxe-1.0.0+git-20180124.fbe8c52d/src/include/ipxe/netdevice.h 2018-11-30 22:54:25.000000000 -0500
@@ -726,6 +726,8 @@
extern int net_rx ( struct io_buffer *iobuf, struct net_device *netdev,
uint16_t net_proto, const void *ll_dest,
const void *ll_source, unsigned int flags );
+extern int net_pull_tags ( struct io_buffer *iobuf, struct net_device *netdev,
+ uint16_t *net_proto );
extern void net_poll ( void );
extern struct net_device_configurator *
find_netdev_configurator ( const char *name );
Index: ipxe-1.0.0+git-20180124.fbe8c52d/src/interface/efi/efi_snp.c
===================================================================
--- ipxe-1.0.0+git-20180124.fbe8c52d.orig/src/interface/efi/efi_snp.c 2018-11-30 22:42:34.000000000 -0500
+++ ipxe-1.0.0+git-20180124.fbe8c52d/src/interface/efi/efi_snp.c 2018-11-30 22:54:25.000000000 -0500
@@ -751,6 +751,13 @@
goto out_bad_ll_header;
}
+ /* Strip link-layer-independent headers */
+ if ( ( rc = net_pull_tags ( iobuf, snpdev->netdev, &iob_net_proto ) ) ) {
+ DBGC ( snpdev, "SNPDEV %p could not parse tags: %s\n",
+ snpdev, strerror ( rc ) );
+ goto out_bad_ll_header;
+ }
+
/* Return link-layer header parameters to caller, if required */
if ( ll_header_len )
*ll_header_len = ll_protocol->ll_header_len;
Index: ipxe-1.0.0+git-20180124.fbe8c52d/src/net/netdevice.c
===================================================================
--- ipxe-1.0.0+git-20180124.fbe8c52d.orig/src/net/netdevice.c 2018-11-30 22:42:34.000000000 -0500
+++ ipxe-1.0.0+git-20180124.fbe8c52d/src/net/netdevice.c 2018-11-30 22:54:25.000000000 -0500
@@ -1044,6 +1044,44 @@
}
/**
+ * Strip extra link-layer-independent tags from a received packet
+ *
+ * @v iobuf I/O buffer
+ * @v netdev Network device
+ * @v net_proto Network-layer protocol, in network-byte order
+ * @ret rc Return status code
+ *
+ * This function should be called after stripping link-layer headers but
+ * before inspecting the network-layer protocol.
+ */
+int net_pull_tags ( struct io_buffer *iobuf, struct net_device *netdev,
+ uint16_t *net_proto ) {
+ struct vlan_header *vlanhdr;
+ uint16_t tag;
+
+ /* Strip 802.1Q VLAN 0 priority tags if present */
+ while ( *net_proto == htons ( ETH_P_8021Q ) ) {
+ if ( iob_len ( iobuf ) < sizeof ( *vlanhdr ) ) {
+ DBG ( "VLAN header too short at %zd bytes (min %zd bytes)\n",
+ iob_len ( iobuf ), sizeof ( *vlanhdr ) );
+ return -EINVAL;
+ }
+ vlanhdr = ( struct vlan_header * ) iobuf->data;
+ tag = VLAN_TAG ( ntohs ( vlanhdr->tci ) );
+
+ if ( tag == 0 && ! vlan_find ( netdev, tag ) ) {
+ /* VLAN 0, strip and continue */
+ *net_proto = vlanhdr->net_proto;
+ iob_pull ( iobuf, sizeof ( *vlanhdr ) );
+ } else {
+ /* Real VLAN tag, leave it alone */
+ break;
+ }
+ }
+ return 0;
+}
+
+/**
* Poll the network stack
*
* This polls all interfaces for received packets, and processes
@@ -1093,6 +1131,12 @@
free_iob ( iobuf );
continue;
}
+
+ /* Remove link-layer-independent headers */
+ if ( ( rc = net_pull_tags ( iobuf, netdev, &net_proto ) ) ) {
+ free_iob ( iobuf );
+ continue;
+ }
/* Hand packet to network layer */
if ( ( rc = net_rx ( iob_disown ( iobuf ), netdev,

19
debian/patches/enable-https.patch vendored Normal file
View File

@ -0,0 +1,19 @@
Description: enable https
Forwarded: no (downstream config option)
Author: James Page <james.page@ubuntu.com>
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1025239
Last-Update: 2012-11-14
Index: ipxe-1.0.0+git-20150424.a25a16d/src/config/general.h
===================================================================
--- ipxe-1.0.0+git-20150424.a25a16d.orig/src/config/general.h
+++ ipxe-1.0.0+git-20150424.a25a16d/src/config/general.h
@@ -52,7 +52,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#define DOWNLOAD_PROTO_TFTP /* Trivial File Transfer Protocol */
#define DOWNLOAD_PROTO_HTTP /* Hypertext Transfer Protocol */
-#undef DOWNLOAD_PROTO_HTTPS /* Secure Hypertext Transfer Protocol */
+#define DOWNLOAD_PROTO_HTTPS /* Secure Hypertext Transfer Protocol */
#undef DOWNLOAD_PROTO_FTP /* File Transfer Protocol */
#undef DOWNLOAD_PROTO_SLAM /* Scalable Local Area Multicast */
#undef DOWNLOAD_PROTO_NFS /* Network File System Protocol */

43
debian/patches/handle-dhcp-nack.patch vendored Normal file
View File

@ -0,0 +1,43 @@
Description: iPXE fails to handle DHCPNACK's
iPXE does not handle DHCPNACK's. If iPXE gets a DHCPNACK it will
not re-attempt to DHCPDISCOVER, which causes iPXE to fail to PXE
boot on situations where there are multiple DHCP servers are
offering an IP.
Author: Blake Rouse <blake.rouse@canonical.com>
Forwarded: https://github.com/ipxe/ipxe/pull/66
Bug: https://bugs.launchpad.net/bugs/1707999
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/ipxe/+bug/1707999
Index: ipxe-1.0.0+git-20161027.b991c67+really20150424.a25a16d/src/net/udp/dhcp.c
===================================================================
--- ipxe-1.0.0+git-20161027.b991c67+really20150424.a25a16d.orig/src/net/udp/dhcp.c 2017-10-12 16:38:21.527631622 -0400
+++ ipxe-1.0.0+git-20161027.b991c67+really20150424.a25a16d/src/net/udp/dhcp.c 2017-10-12 16:38:21.523631288 -0400
@@ -523,9 +523,18 @@
DBGC ( dhcp, " for %s", inet_ntoa ( ip ) );
DBGC ( dhcp, "\n" );
- /* Filter out unacceptable responses */
+ /* Filter out invalid port */
if ( peer->sin_port != htons ( BOOTPS_PORT ) )
return;
+
+ /* Handle DHCPNAK */
+ if ( msgtype /* BOOTP */ && ( msgtype == DHCPNAK ) ) {
+ /* Go back to discover, again. */
+ dhcp_set_state ( dhcp, &dhcp_state_discover );
+ return;
+ }
+
+ /* Filter out unacceptable responses */
if ( msgtype /* BOOTP */ && ( msgtype != DHCPACK ) )
return;
if ( server_id.s_addr != dhcp->server.s_addr )
@@ -907,7 +916,7 @@
/* Initialise DHCP packet structure */
memset ( dhcppkt, 0, sizeof ( *dhcppkt ) );
dhcppkt_init ( dhcppkt, data, max_len );
-
+
/* Set DHCP_MESSAGE_TYPE option */
if ( ( rc = dhcppkt_store ( dhcppkt, DHCP_MESSAGE_TYPE,
&msgtype, sizeof ( msgtype ) ) ) != 0 )

View File

@ -0,0 +1,65 @@
From 2ae5d4338661b65c63eb5cb1a96e5b803fe7d620 Mon Sep 17 00:00:00 2001
From: Michael Brown <mcb30@ipxe.org>
Date: Tue, 30 Jun 2020 16:32:59 +0100
Subject: [PATCH] [efi] Raise TPL during driver entry point
As per commit c89a446 ("[efi] Run at TPL_CALLBACK to protect against
UEFI timers") we expect to run at TPL_CALLBACK almost all of the time.
Various code paths rely on this assumption. Code paths that need to
temporarily lower the TPL (e.g. for entropy gathering) will restore it
to TPL_CALLBACK.
The entropy gathering code will be run during DRBG initialisation,
which happens during the call to startup(). In the case of iPXE
compiled as an EFI application this code will run within the scope of
efi_snp_claim() and so will execute at TPL_CALLBACK as expected.
In the case of iPXE compiled as an EFI driver the code will
incorrectly run at TPL_APPLICATION since there is nothing within the
EFI driver entry point that raises (and restores) the TPL. The net
effect is that a build that includes the entropy-gathering code
(e.g. a build with HTTPS enabled) will return from the driver entry
point at TPL_CALLBACK, which causes a system lockup.
Fix by raising and restoring the TPL within the EFI driver entry
point.
Debugged-by: Ignat Korchagin <ignat@cloudflare.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Origin: backport, https://github.com/ipxe/ipxe/commit/2ae5d4338661b65c63eb5cb1a96e5b803fe7d620
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1882671
Last-Update: 2020-07-16
---
src/interface/efi/efidrvprefix.c | 9 +++++++++
1 file changed, 9 insertions(+)
--- a/src/interface/efi/efidrvprefix.c
+++ b/src/interface/efi/efidrvprefix.c
@@ -34,16 +34,25 @@ FILE_LICENCE ( GPL2_OR_LATER );
*/
EFI_STATUS EFIAPI _efidrv_start ( EFI_HANDLE image_handle,
EFI_SYSTEM_TABLE *systab ) {
+ EFI_BOOT_SERVICES *bs;
+ EFI_TPL saved_tpl;
EFI_STATUS efirc;
/* Initialise EFI environment */
if ( ( efirc = efi_init ( image_handle, systab ) ) != 0 )
return efirc;
+ /* Raise TPL */
+ bs = efi_systab->BootServices;
+ saved_tpl = bs->RaiseTPL ( TPL_CALLBACK );
+
/* Initialise iPXE environment */
initialise();
startup();
+ /* Restore TPL */
+ bs->RestoreTPL ( saved_tpl );
+
return 0;
}

6
debian/patches/series vendored Normal file
View File

@ -0,0 +1,6 @@
0001-rom-change-banner-timeout.diff.patch
util-elf2efi-GNU_SOURCE.patch
enable-https.patch
handle-dhcp-nack.patch
0005-strip-802.1Q-VLAN-0-priority-tags.patch
lp-1882671-efi-Raise-TPL-during-driver-entry-point.patch

View File

@ -0,0 +1,28 @@
From 28edb536886c3d630cb0e5f6dad350660a1c2cba Mon Sep 17 00:00:00 2001
From: Bastian Blank <waldi@debian.org>
Date: Sun, 13 Nov 2016 13:22:10 +0100
Subject: Set _GNU_SOURCE in elf2efi
Patch-Name: util-elf2efi-GNU_SOURCE.patch
---
src/util/elf2efi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/src/util/elf2efi.c
+++ b/src/util/elf2efi.c
@@ -18,6 +18,7 @@
*/
#define FILE_LICENCE(...) extern void __file_licence ( void )
+#define _GNU_SOURCE
#include <stdint.h>
#include <stddef.h>
#include <stdlib.h>
@@ -32,7 +33,6 @@
#include <sys/mman.h>
#include <fcntl.h>
#include <elf.h>
-#include <libgen.h>
#include <ipxe/efi/Uefi.h>
#include <ipxe/efi/IndustryStandard/PeImage.h>

47
debian/rules vendored Executable file
View File

@ -0,0 +1,47 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
export ISOLINUX_BIN=/usr/lib/syslinux/
VERSION := $(shell dpkg-parsechangelog | sed -ne 's,^Version: *\(.*\)$$,\1,p')
%:
+dh $@
override_dh_auto_configure:
cp debian/config/* src/config/local
# This is _a bit_ hacky, it assumes any rom we build are for qemu. Which
# is true at the moment, but maybe it changes at some point.
src/bin/%.rom src/bin-x86_64-efi/%.efirom: export CONFIG=qemu
src/bin/% src/bin-x86_64-efi/%:
[ "$(CONFIG)" = "$(shell cat debian/current-config 2>/dev/null)" ] || $(MAKE) -C src clean
@echo $(CONFIG) > debian/current-config
dh_auto_build --sourcedirectory=src -- V=1 NO_WERROR=1 VERSION="$(VERSION)" $(subst src/,,$@)
src/bin-efi/%.efirom: src/bin/%.rom src/bin-x86_64-efi/%.efirom
@[ -d $(dir $@) ] || mkdir $(dir $@)
src/util/catrom.pl $^ > $@
src/bin-efi/%.iso: src/bin/%.lkrn src/bin-x86_64-efi/%.efi
@[ -d $(dir $@) ] || mkdir $(dir $@)
debian/util/geniso $@ $^
override_dh_auto_build: $(shell grep -hoE 'src/bin(-[^/]*)?/\S+' debian/*.install)
override_dh_install:
dh_install
debian/util/check-rom-sizes
override_dh_auto_clean:
$(MAKE) -C src veryclean
rm -f debian/current-config
rm -fr src/bin*
rm -fr src/config/local/*
.NOTPARALLEL:
.SECONDARY:

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
3.0 (quilt)

38
debian/tree/ipxe/etc/grub.d/20_ipxe vendored Executable file
View File

@ -0,0 +1,38 @@
#! /bin/sh
set -e
. /usr/lib/grub/grub-mkconfig_lib
# iPXE is only supported on x86
case $(dpkg --print-architecture) in
*i386|*amd64) ;;
*) exit 0 ;;
esac
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
IPXE=/boot/ipxe.lkrn
if test -e "$IPXE" ; then
IPXEPATH=$( make_system_path_relative_to_its_root "$IPXE" )
# Remove the .lkrn extension
IPXEPATH=${IPXEPATH%.lkrn}
echo "Found iPXE image: $IPXE" >&2
cat << EOF
menuentry "Network boot (iPXE)" --users "" --class network --id ipxe {
${prepare_boot_cache}
EOF
save_default_entry | grub_add_tab
cat << EOF
if [ "\$grub_platform" = "efi" ]; then
chainloader $IPXEPATH.efi
else
linux16 $IPXEPATH.lkrn
# If the user provided an iPXE script, load it
if [ -f $IPXEPATH.ipxe ]; then
initrd16 $IPXEPATH.ipxe
fi
fi
}
EOF
fi

63
debian/util/check-rom-sizes vendored Executable file
View File

@ -0,0 +1,63 @@
#!/bin/bash
#
# Generate a isolinux/bios and efi ISO boot image
set -e
PATH=/usr/bin:/bin:/usr/sbin:/sbin
dir="./debian/ipxe-qemu/usr/lib/ipxe/qemu/"
rc=0
declare -A roms
# these are the current power-of-2 buckets of roms generated by ipxe
# If any of these roms grows/shrinks out of its bucket a KVM
# live migration between two systems with those different sizes will fail.
# This check is intended to break builds on such a change to make it an opt-in
# change by a developer (to change the sizes below AFTER he has taken care that
# the qemu/libvirt on the migration paths will take care of it on migration).
# Due to ipxe (currently) not being part of Ubuntu Cloud Archive all UCA have
# the ipxe of the latest LTS. Which makes a certain qemu version (which defines
# the machine type) ambiguous which ipxe roms it has.
# Therefore such size breaking upgrades are only reasonably doable on LTS
# releases where qemu can assume all former types are of the former size
# and can handle all of these as one.
roms["efi-e1000.rom"]="524288"
roms["efi-e1000e.rom"]="524288"
roms["efi-eepro100.rom"]="524288"
roms["efi-ne2k_pci.rom"]="524288"
roms["efi-pcnet.rom"]="524288"
roms["efi-rtl8139.rom"]="524288"
roms["efi-virtio.rom"]="524288"
roms["efi-vmxnet3.rom"]="524288"
roms["pxe-e1000.rom"]="131072"
roms["pxe-e1000e.rom"]="131072"
roms["pxe-eepro100.rom"]="131072"
roms["pxe-ne2k_isa.rom"]="131072"
roms["pxe-ne2k_pci.rom"]="131072"
roms["pxe-pcnet.rom"]="131072"
roms["pxe-rtl8139.rom"]="131072"
roms["pxe-virtio.rom"]="131072"
roms["pxe-vmxnet3.rom"]="131072"
echo "Generated roms:"
ls -laF "${dir}"
for rom in "${!roms[@]}"; do
size=$(stat --printf="%s" "${dir}/${rom}")
shiftsize="${size}"
bucket=1
while [ "${shiftsize}" -ne "1" ]; do
shiftsize=$((shiftsize>>1))
bucket=$((bucket<<1))
done
bucket=$((bucket<<1))
# being smaller could be ok, but check -eq to warn/break on unexpected size loss as well
if [ "${bucket}" -eq "${roms[$rom]}" ]; then
echo "OK: ${rom} is ${size} bytes and thereby in bucket ${bucket} which matches ${roms[$rom]}"
else
echo "ERROR: ${rom} is ${size} bytes and thereby in bucket ${bucket} which does not match ${roms[$rom]}"
rc=1
fi
done
exit ${rc}

53
debian/util/geniso vendored Executable file
View File

@ -0,0 +1,53 @@
#!/bin/bash
#
# Generate a isolinux/bios and efi ISO boot image
set -e
PATH=/usr/bin:/bin:/usr/sbin:/sbin
OUT=$1
BIOS=$2
EFI=$3
dir=$(mktemp -d $(dirname $OUT)/iso.dir.XXXXXX)
cfg=${dir}/isolinux.cfg
b=$(basename ${BIOS})
g=${b%.lkrn}
g=${g//[^a-z0-9]}
g=${g:0:8}.krn
# generate the config
cat > ${cfg} <<EOF
# These default options can be changed in the geniso script
SAY iPXE ISO boot image
TIMEOUT 0
DEFAULT ${b}
LABEL ${b}
KERNEL ${g}
EOF
cp ${BIOS} ${dir}/${g}
# copy isolinux bootloader
cp /usr/lib/ISOLINUX/isolinux.bin ${dir}
cp /usr/lib/syslinux/modules/bios/ldlinux.c32 ${dir}
# generate EFI boot image
blocks=$((($(stat -c %s "$EFI") / 1024 + 55) / 32 * 32 ))
mkfs.msdos -C ${dir}/efi.img $blocks >/dev/null
mmd -i ${dir}/efi.img ::efi
mmd -i ${dir}/efi.img ::efi/boot
mcopy -o -i ${dir}/efi.img "$EFI" "::efi/boot/bootx64.efi"
# generate the iso image
xorriso -as mkisofs \
-r -J -preparer "iPXE build system" \
-appid "iPXE ${VERSION} - Open Source Network Boot Firmware" \
-publisher "http://ipxe.org/" \
-b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table \
-eltorito-alt-boot --efi-boot efi.img -no-emul-boot \
-output ${OUT} ${dir}
isohybrid ${OUT}
# clean up temporary dir
rm -fr ${dir}