merge latest ipxe from Debian unstable

Bug #1884758 reported by Christian Ehrhardt 
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ipxe (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Debian has diverged a lot due to Ubuntu being ahead for some time.
Certain things added in Debian would be nice for us to pick up like spnonly.efi and general reworks of the build process.

Also the package has a lot of rather odl delta which is worth revisiting.

Related branches

Changed in ipxe (Ubuntu):
status: New → Triaged
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Externally (if looking at the unpackge PKG) we have on top:
- /usr/lib/ipxe/qemu/pxe-ne2k_isa.rom
- /usr/lib/ipxe/ne.rom
- compat links in /usr/share/qemu

The other binaries added in Ubuntu Debian has catched up
- e1000e
- vmxnet3

No more needed:
- e1000_82540 and ne instead of ne2k_isa (was for an old Xen hvmloader issue)
   no xen in main anymore and no more a problem

Change needed:
- https enabling needs to follow the way we configure config and only be enabled for non EFI (see bug 1882671)

These are only notes, there is more to be found once I split all our existing Delta

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

deconstruct processing
v1 49b6c1dcf122916bf41b02bd52a08d28ab419156
v2 1521b6fbe938e2d807412cfbae81446334b71943
v3 8aafcd600eeded6fc4cccbcd10e0548675e62c03
v4 fe3a8a8faaac008703bc62fc10db03e226efc1b9
v5 cfbbe7e090ab364b6a035b1c7d112f7d40957f68
v6 75bfea6dbaa02419b4823a8c5aa9e2ee99a6b342

Now at tags:
lp1884758/new/debian
lp1884758/old/debian
lp1884758/old/ubuntu
lp1884758/reconstruct/1.0.0+git-20190109.133f4c4-0ubuntu3
lp1884758/split/1.0.0+git-20190109.133f4c4-0ubuntu3

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Created logical (needed 5 interim revisions)

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

First (probably failing) build kicked, will continue tomorrow and look at the split https enabling then.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

debian/patches/enable-https.patch patches src/config/qemu/general.h, but export CONFIG=qemu makes it use src/config/qemu/general.h. Yet (as bug 1882671 indicates t is on) it is hierarchically included still.

at build time:
ar r bin-i386-pcbios/blib.a ... bin-i386-pcbios/https.o ...

Search:
^ar.*https.o
But that happens with & without the https config being enabled.

Yet it makes a difference (in the past we crossed size boundaries due to that):
With https:
-rw-r--r-- 1 paelzer paelzer 91136 Jun 24 08:27 ./src/bin-i386-pcbios/82540em.rom
Without:
-rw-r--r-- 1 paelzer paelzer 76288 Jun 24 08:39 ./src/bin-i386-pcbios/82540em.rom

I was able to debug it with a rule like:
  grep https ./src/$@*.tmp.map || /bin/true
That clearly shows A/B behavior and with that I feel safe to mess with it enabling it only for non-EFI and being able to check the result.

Almost as expected I see the size drop below 256k again.
We might let the size change and do the same twist as last time and that way (very) long term get rid of the -compat- package.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Compat thoughts
- as is we need to keep ipxe-qemu-256k-compat-efi-roms as long as we support guests started and not restarted ever since Bionic which translates to Bionic support time ~2028
- if we can revert the size from 512k to 256k nnow we still need it installed and
  around the same time.
  - We just would need another qemu delta on machine types to know about the size change
  - And we'd break backwards migration again.

There is actually no gain in using the new size, but in turn I'd need to be able to pad the rom's to be inside 256-512k without breaking them functionally.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

mostly looking good now, just another twist on https enabling.
We have three types:
qemu pci - with https
qemu efi - without https
non-qemu - ...

The latter right now is no without but should not change due to this.
Should be not too complex to change.

Changed in ipxe (Ubuntu):
importance: Undecided → High
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

uploaded to groovy

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.8 KiB)

This bug was fixed in the package ipxe - 1.0.0+git-20190125.36a4c85-5ubuntu1

---------------
ipxe (1.0.0+git-20190125.36a4c85-5ubuntu1) groovy; urgency=medium

  * Merge with Debian unstable (LP: #1884758). Remaining changes:
    - 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*
      [updated to match 1.0.0+git-20190125.36a4c85-5]
    - d/util/check-rom-sizes, d/rules: check sizes of generated roms to avoid
      accidentally breaking KVM live migration on updates/fixes.
      [updated for new and dropped rom file names]
    - debian/copyright: update copyright information to satisfy lintian
      dep5 checks (LP: 1747071)
    - Build ROMs for QEMU with CONFIG=qemu (LP: 1789319)
      [updated to match 1.0.0+git-20190125.36a4c85-5 and be more verbose]
    - debian/patches/handle-dhcp-nack.patch: Handle DHCP NAK and send a
      re-discover. (LP 1707999)
    - 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)
    - 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
    - d/tree/ipxe/etc/grub.d/20_ipxe: Identify ipxe grub menu entry in
      an easier way (LP: 1858374)
  * Dropped changes
    - new upstream release 20190109.133f4c4 [superseded by new upstream]
    - new upstream release 20180124.fbe8c52d [superseded by new upstream]
    - Revert to the former git snapshot 20150424.a25a16d
      [superseded by new upstream]
      - 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 [upstream]
    - d/p/0004-fix_no-pie_option.patch: correct -no-pie option
      to build without pie
      [ still carried before ]
    - 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
      [ no more needed, was an old xen hvmloader bug ]
    - d/ipxe-qemu.links: Add compat links from /usr/share/qemu
      to /usr/lib/ipxe/qemu.
      [ no more needed, transition from trusty ]
    - add new rom for vmxnet3 (LP 1737211) [in Debian now]
    - Add e1000e firmware for qemu. (closes 884240) [in Debian now]
    - d/control: ipxe-qemu breaks qemu-system-x86 <2.11 [no more needed]
    - d/p/enable-https.patch: Enable HTTPS support.
      [resolved per rom type in d/rules now]
  * Added changes
    - d/rules: only enable https on non EFI roms. This lets EFI handle https
      itself and avoids breakage in TPL manipulations (LP: #1882671)
    - d/util/check-rom-sizes: fix if size does exactly match

ipxe (1.0.0+git-20190125.36a4c85-5) unstable; urgency=medium

  * Cleanup src/bin correctly. (closes: #952275)

ipxe (1.0.0+git-20190125.36a4c85...

Read more...

Changed in ipxe (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.