[ipxe-devel] Build problems on Fedora 16/17 with current GIT

Michael Brown mcb30 at ipxe.org
Mon Mar 19 17:34:43 UTC 2012

On Monday 19 Mar 2012 13:56:34 Daniel P. Berrange wrote:
> I've been trying to package ipxe for Fedora, to replace our gpxe packages.
> <snip>

Thanks for an awesomely detailed and accurate bug report!

> arch/x86/include/bits/bigint.h: Assembler messages:
> arch/x86/include/bits/bigint.h:185: Error: bad register name `%bpl'
> make: *** [bin/bigint.o] Error 1

This should now be fixed:


Please let me know if this fixes that particular problem for you.
> but the build eventually fails with the following error
>   [ZBIN] bin/168c0023.rom.zbin
>   [ZBIN] bin/168c0024.rom.zbin
>   [ZBIN] bin/168c0027.rom.zbin
>   [ZBIN] bin/168c0029.rom.zbin
> Add 0+0x126 at 0x2 overflows 1-byte field (19456 bytes too big)
> make: *** [bin/168c0023.rom.zbin] Error 1
> make: *** Deleting file `bin/168c0023.rom.zbin'

The problem here is that the "allroms" target really ought not to exist, since 
not every driver is now small enough to fit in a ROM.  In particular, this 
failure that you're seeing is with the ath9k driver, for which it's not even 
meaningful to build a ROM.  (ath9k NICs have no expansion ROM BAR, as far as I 

I would recommend not attempting to build all possible ROMs as part of the 
ipxe package.  I would expect a package to contain the common prebuilt 
binaries (ipxe.iso, ipxe.usb, undionly.kpxe, ROMs for qemu, kvm, VMware etc), 
some useful configuration such as a dhcpd.conf include fragment, and some 
integration with the other distro packages (e.g. placing undionly.kpxe in the 
distro's default TFTP root).

If you really want to include prebuilt ROMS for as many NICs as possible, then 
I would recommend something like:

  # Build the targets we definitely want
  make bin/ipxe.iso bin/ipxe.usb bin/undionly.kpxe bin/vmxnet3.rom ...
  # Build all possible ROMs, ignoring errors
  make allroms || true


More information about the ipxe-devel mailing list