To remain consistent with how other ROMs are built into hvmloader,
call mkhex on etherboot ROMs from the hvmloader directory, instead of
the etherboot directory. In other words, eb-roms.h is not used any
more.
Introduce ETHERBOOT_NICS config option to choose which ROMs should be
built (kept rtl8139 and
8086100e per default as before).
Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
QEMU_UPSTREAM_REVISION ?= master
SEABIOS_UPSTREAM_TAG ?= rel-1.6.3.1
+ETHERBOOT_NICS ?= rtl8139 8086100e
+
# Specify which qemu-dm to use. This may be `ioemu' to use the old
# Mercurial in-tree version, or a local directory, or a git URL.
# CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
-NICS = rtl8139 8086100e
-
CFLAGS += -UPXE_DHCP_STRICT
CFLAGS += -DPXE_DHCP_STRICT
D=ipxe
T=ipxe.tar.gz
-ROMS = $(addprefix $D/src/bin/, $(addsuffix .rom, $(NICS)))
+ROMS = $(addprefix $D/src/bin/, $(addsuffix .rom, $(ETHERBOOT_NICS)))
.NOTPARALLEL:
.PHONY: all
-all: eb-roms.h
+all: $(ROMS)
%.rom: $D/src/arch/i386/Makefile
$(MAKE) -C $D/src bin/$(*F).rom
-eb-roms.h.new: $(ROMS)
- cat $^ | ../hvmloader/mkhex etherboot >$@
-
-eb-roms.h: Config
- $(MAKE) NO_WERROR=1 $@.new
- mv -f $@.new $@
-
$T:
if ! wget -O _$T $(IPXE_TARBALL_URL); then \
$(GIT) clone $(IPXE_GIT_URL) $D.git; \
.PHONY: clean
clean:
- rm -rf $D $D.git *~ eb-roms.h _$T $T
+ rm -rf $D $D.git *~ _$T $T
.PHONY: distclean
distclean: clean
CIRRUSVGA_ROM := ../vgabios/VGABIOS-lgpl-latest.cirrus.bin
endif
+ETHERBOOT_ROMS := $(addprefix ../etherboot/ipxe/src/bin/, $(addsuffix .rom, $(ETHERBOOT_NICS)))
+
.PHONY: all
all: subdirs-all
$(MAKE) hvmloader
$(OBJCOPY) hvmloader.tmp hvmloader
rm -f hvmloader.tmp
-roms.inc: $(ROMBIOS_ROM) $(SEABIOS_ROM) $(STDVGA_ROM) $(CIRRUSVGA_ROM) ../etherboot/eb-roms.h
+roms.inc: $(ROMBIOS_ROM) $(SEABIOS_ROM) $(STDVGA_ROM) $(CIRRUSVGA_ROM) $(ETHERBOOT_ROMS)
echo "/* Autogenerated file. DO NOT EDIT */" > $@.new
ifneq ($(ROMBIOS_ROM),)
sh ./mkhex vgabios_cirrusvga $(CIRRUSVGA_ROM) >> $@.new
echo "#endif" >> $@.new
endif
-
+ifneq ($(ETHERBOOT_ROMS),)
echo "#ifdef ROM_INCLUDE_ETHERBOOT" >> $@.new
- cat ../etherboot/eb-roms.h >> $@.new
+ sh ./mkhex etherboot $(ETHERBOOT_ROMS) >> $@.new
echo "#endif" >> $@.new
+endif
mv $@.new $@