It appears the build for EFI PXE Bootstrap (32 or 64-but) with IMAGE_NBI enabled is broken. I cannot build it locally, or with Rom-o-Matic.
Is there some inherent incompatibility with these options?
I need NBI image support because Clonezilla and DRBL still appear to use NBI images.
Here is the log from a Rom-O-Matic build which failed:
Code:
Build failed:
"make" unexpectedly returned exit value 2 at /var/www/ipxe-buildweb/build.fcgi line 630
Build log:
Path:
Parameters:
BINARY = ipxe.efi
BINDIR = bin-x86_64-efi
DEBUG =
EMBED.00script.ipxe =
REVISION = master
general.h/IMAGE_NBI: = 1
Binary: ipxe.efi
Binary directory: bin-x86_64-efi
Revision: master
Canonicalising revision master...
Canonical revision: 827dd1bfee67daa683935ce65316f7e0f057fe1c
Creating temporary directories...
Temporary git directory: /var/tmp/ipxe-build/ipxe-build-ybmekN
Temporary working tree: /var/tmp/ipxe-build/ipxe-build-lkkBOm
Cloning git tree from /var/tmp/ipxe/.git...
Finding closest cached binaries for 827dd1bfee67daa683935ce65316f7e0f057fe1c...
Found cached binaries in ipxe-build/cached/bin-x86_64-efi/827dd1bfee67daa683935ce65316f7e0f057fe1c.gz at distance 0
Opening binary tarball /var/cache/ipxe-build/827dd1bfee67daa683935ce65316f7e0f057fe1c-bin-x86_64-efi.tar.gz...
Opened binary tarball /var/cache/ipxe-build/827dd1bfee67daa683935ce65316f7e0f057fe1c-bin-x86_64-efi.tar.gz...
Checking out revision 827dd1bfee67daa683935ce65316f7e0f057fe1c...
Identifying timestamp for commit 827dd1bfee67daa683935ce65316f7e0f057fe1c...
Setting timestamps to Wed Aug 31 18:23:42 2016...
Unpacking binary tarball /var/cache/ipxe-build/827dd1bfee67daa683935ce65316f7e0f057fe1c-bin-x86_64-efi.tar.gz...
Checking out revision 827dd1bfee67daa683935ce65316f7e0f057fe1c...
Local configuration for general.h:
#define IMAGE_NBI
Building final target bin-x86_64-efi/ipxe.efi...
make: Entering directory `/var/tmp/ipxe-build/ipxe-build-lkkBOm/src'
[DEPS] arch/x86/prefix/romprefix.S
[DEPS] arch/x86/prefix/pciromprefix.S
[DEPS] arch/x86/prefix/mromprefix.S
[DEPS] arch/x86/prefix/isaromprefix.S
[DEPS] arch/x86/interface/pcbios/bios_smbios.c
[DEPS] config/config_route.c
[DEPS] config/config_romprefix.c
[DEPS] config/config_pixbuf.c
[DEPS] config/config_net80211.c
[DEPS] config/config_infiniband.c
[DEPS] config/config_http.c
[DEPS] config/config_fc.c
[DEPS] config/config_ethernet.c
[DEPS] config/config_efi.c
[DEPS] config/config_asn1.c
[DEPS] config/config.c
[DEPS] usr/autoboot.c
[DEPS] interface/smbios/smbios_settings.c
[DEPS] interface/smbios/smbios.c
[DEPS] interface/efi/efi_snp.c
[DEPS] interface/efi/efi_smbios.c
[DEPS] interface/efi/efi_pxe.c
[DEPS] drivers/net/smsc95xx.c
[DEPS] net/netdevice.c
make: Leaving directory `/var/tmp/ipxe-build/ipxe-build-lkkBOm/src'
make: Entering directory `/var/tmp/ipxe-build/ipxe-build-lkkBOm/src'
[BUILD] bin-x86_64-efi/smbios.o
[BUILD] bin-x86_64-efi/autoboot.o
[BUILD] bin-x86_64-efi/config.o
[BUILD] bin-x86_64-efi/config_asn1.o
[BUILD] bin-x86_64-efi/config_efi.o
[BUILD] bin-x86_64-efi/config_ethernet.o
[BUILD] bin-x86_64-efi/config_fc.o
[BUILD] bin-x86_64-efi/config_http.o
[BUILD] bin-x86_64-efi/config_infiniband.o
[BUILD] bin-x86_64-efi/config_net80211.o
[BUILD] bin-x86_64-efi/config_pixbuf.o
[BUILD] bin-x86_64-efi/config_romprefix.o
[BUILD] bin-x86_64-efi/config_route.o
[BUILD] bin-x86_64-efi/bios_smbios.o
[BUILD] bin-x86_64-efi/isaromprefix.o
[BUILD] bin-x86_64-efi/mromprefix.o
[BUILD] bin-x86_64-efi/pciromprefix.o
[BUILD] bin-x86_64-efi/romprefix.o
[HOSTCC] util/elf2efi64
[VERSION] bin-x86_64-efi/version.ipxe.efi.o
[AR] bin-x86_64-efi/blib.a
ar: creating bin-x86_64-efi/blib.a
[LD] bin-x86_64-efi/ipxe.efi.tmp
bin-x86_64-efi/blib.a(librm.o): In function `pm_esp':
(.data.pm_esp+0x0): relocation truncated to fit: R_X86_64_32 against symbol `_estack' defined in .stack section in bin-x86_64-efi/blib.a(stack.o)
bin-x86_64-efi/blib.a(librm.o): In function `real_to_prot':
(.text16.real_to_prot+0x1): relocation truncated to fit: R_X86_64_PC16 against symbol `enable_a20' defined in .text16.early section in bin-x86_64-efi/blib.a(liba20.o)
bin-x86_64-efi/blib.a(librm.o): In function `real_to_prot':
(.text16.real_to_prot+0x8): relocation truncated to fit: R_X86_64_16 against symbol `rm_ds' defined in .text16.data.rm_ds section in bin-x86_64-efi/blib.a(librm.o)
bin-x86_64-efi/blib.a(librm.o): In function `real_to_prot':
(.text16.real_to_prot+0x22): relocation truncated to fit: R_X86_64_16 against `.bss16.rm_virt_addrs'
bin-x86_64-efi/blib.a(librm.o): In function `real_to_prot':
(.text16.real_to_prot+0x2e): relocation truncated to fit: R_X86_64_16 against `.bss16.rm_virt_addrs'
bin-x86_64-efi/blib.a(librm.o): In function `real_to_prot':
(.text16.real_to_prot+0x33): relocation truncated to fit: R_X86_64_16 against `.bss16.rm_virt_addrs'
bin-x86_64-efi/blib.a(librm.o): In function `real_to_prot':
(.text16.real_to_prot+0x39): relocation truncated to fit: R_X86_64_16 against `.data16.gdt'
bin-x86_64-efi/blib.a(librm.o): In function `real_to_prot':
(.text16.real_to_prot+0x58): relocation truncated to fit: R_X86_64_32 against `.text.real_to_prot'
bin-x86_64-efi/blib.a(librm.o): In function `r2p_pmode':
(.text.real_to_prot+0x10): relocation truncated to fit: R_X86_64_32 against `.data.pm_esp'
bin-x86_64-efi/blib.a(librm.o): In function `r2p_pmode':
(.text.real_to_prot+0x17): relocation truncated to fit: R_X86_64_32 against symbol `idtr32' defined in .data.idtr32 section in bin-x86_64-efi/blib.a(librm_mgmt.o)
bin-x86_64-efi/blib.a(librm.o): In function `r2p_pmode':
(.text.real_to_prot+0x1f): additional relocation overflows omitted from the output
make: *** [bin-x86_64-efi/ipxe.efi.tmp] Error 1
rm bin-x86_64-efi/version.ipxe.efi.o
make: Leaving directory `/var/tmp/ipxe-build/ipxe-build-lkkBOm/src'
"make" unexpectedly returned exit value 2 at /var/www/ipxe-buildweb/build.fcgi line 630