[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:
http://git.ipxe.org/ipxe.git/commitdiff/0b2c788
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
know.)
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
Michael
More information about the ipxe-devel
mailing list