mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
Build etherboot ROM from source.
We now include the source for Etherboot (5.4.2, obtained from git) rather than a pre-built ROM. This gives better traceability and GPL licence compliance. See tools/firmware/etherboot/README for details. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
This commit is contained in:
1 parent
26f9a3f7f5
commit
2d06b3f0df
8 files changed
+76
-2057
No files matched your search
@@ -258,3 +258,5 @@
|
||||
^unmodified_drivers/linux-2.6/.*\.ko$
|
||||
^unmodified_drivers/linux-2.6/.*\.mod\.c$
|
||||
^LibVNCServer.*
|
||||
^tools/firmware/etherboot/etherboot-build
|
||||
^tools/firmware/etherboot/etherboot-5.*
|
||||
@@ -11,6 +11,7 @@ SUBDIRS += rombios rombios/32bit
|
||||
SUBDIRS += vgabios
|
||||
SUBDIRS += vmxassist
|
||||
SUBDIRS += extboot
|
||||
SUBDIRS += etherboot
|
||||
SUBDIRS += hvmloader
|
||||
|
||||
.PHONY: all
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
CFLAGS+= -UASK_BOOT -UBOOT_FIRST
|
||||
CFLAGS+= -DASK_BOOT=-1 -DBOOT_FIRST=BOOT_NIC
|
||||
|
||||
CFLAGS+= -UEXIT_ON_FILE_LOAD_ERROR
|
||||
CFLAGS+= -DEXIT_ON_FILE_LOAD_ERROR
|
||||
|
||||
CFLAGS+= -UEXIT_IF_NO_OFFER
|
||||
CFLAGS+= -DEXIT_IF_NO_OFFER
|
||||
|
||||
CFLAGS+= -UPXE_DHCP_STRICT
|
||||
CFLAGS+= -DPXE_DHCP_STRICT
|
||||
|
||||
# Also, the Makefile arranges for us to use GCC 3
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
EB_VERSION=5.4.2
|
||||
|
||||
D=etherboot-$(EB_VERSION)
|
||||
T=etherboot-$(EB_VERSION).tar.gz
|
||||
E=etherboot-build
|
||||
|
||||
TARGETS=eb-rtl8139.zrom.h
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
eb-%.zrom.h: $E/src/Config
|
||||
$(MAKE) -C $E/src bin/$*.zrom
|
||||
../hvmloader/mkhex etherboot <$E/src/bin/$*.zrom >$@.new
|
||||
mv -f $@.new $@
|
||||
|
||||
$E/src/Config: $T Config
|
||||
rm -rf $D $E
|
||||
tar zxf $T
|
||||
cat Config >>$D/src/Config
|
||||
./find-gcc-3 >>$D/src/Config
|
||||
mv $D $E
|
||||
|
||||
clean:
|
||||
rm -rf $D $E *.zrom.h *~
|
||||
|
||||
.PHONY: all clean
|
||||
@@ -1,11 +1,28 @@
|
||||
|
||||
This is an Etherboot option ROM for the rtl8139 NIC. It has a few
|
||||
non-standard settings, most to do with timeouts and when to give up,
|
||||
and for stricter DHCP spec compliance.
|
||||
This directory builds Etherboot option ROMs from the etherboot source
|
||||
tarball. (We provide this tarball in our source so that we do not
|
||||
distribute binaries without source code, as that would mean we weren't
|
||||
sure what the binaries are and in any case would be forbidden by the
|
||||
licensing of Etherboot.)
|
||||
|
||||
Rom-o-matic.net will provide this image at the following URL:
|
||||
We make a few non-standard settings, most to do with timeouts and when
|
||||
to give up, and for stricter DHCP spec compliance.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
Since Etherboot upstream do not appear to distribute tarballs, we
|
||||
generated one ourselves with the following runes:
|
||||
|
||||
git clone git://git.etherboot.org/scm/etherboot.git
|
||||
cd etherboot
|
||||
git archive --format=tar --prefix=etherboot-5.4.2/ Eb.5.4.2 | gzip >../etherboot-5.4.2.tar.gz
|
||||
|
||||
----------------------------------------
|
||||
|
||||
Previously, an image from Rom-o-matic.net was provided here, fetched
|
||||
from the following URL:
|
||||
|
||||
http://rom-o-matic.net/5.4.3/build.php?version=5.4.3&F=ignore&nic=rtl8139%3Artl8139+--+%5B0x10ec%2C0x8139%5D&ofmt=Binary+ROM+Image%28.zrom%29&arch=i386&ASK_BOOT=-1&BOOT_FIRST=BOOT_NIC&BOOT_SECOND=BOOT_NOTHING&BOOT_THIRD=BOOT_NOTHING&BOOT_INDEX=0&STATIC_CLIENT_IP=&STATIC_SUBNET_MASK=&STATIC_SERVER_IP=&STATIC_GATEWAY_IP=&STATIC_BOOTFILE=&EXIT_ON_FILE_LOAD_ERROR=on&DHCP_CLIENT_ID=&DHCP_CLIENT_ID_LEN=&DHCP_CLIENT_ID_TYPE=&DHCP_USER_CLASS=&DHCP_USER_CLASS_LEN=&ALLOW_ONLY_ENCAPSULATED=on&DEFAULT_BOOTFILE=&CONGESTED=on&BACKOFF_LIMIT=7&TIMEOUT=180&TRY_FLOPPY_FIRST=0&EXIT_IF_NO_OFFER=on&TAGGED_IMAGE=on&ELF_IMAGE=on&PXE_IMAGE=on&DOWNLOAD_PROTO_TFTP=on&COMCONSOLE=0x3F8&CONSPEED=9600&COMPARM=0x03&PXE_EXPORT=on&CONFIG_PCI=on&CONFIG_ISA=on&BUILD_ID=&PCBIOS=on&PXE_DHCP_STRICT=on&A=Get+ROM
|
||||
|
||||
and the mkhex script in tools/firmware/hvmloader will make the header
|
||||
file from the downloaded image.
|
||||
The mkhex script in tools/firmware/hvmloader will make the header file
|
||||
from the downloaded image.
|
||||
File diff suppressed because it is too large.
Load diff
Binary file not shown.
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
for gcc in gcc-3.4 gcc34 gcc-3.3 gcc33 gcc-3.2 gcc32; do
|
||||
if type -p $gcc >&2; then
|
||||
echo "CC=$gcc"; exit 0
|
||||
fi
|
||||
done
|
||||
|
||||
echo >&2 'We need GCC 3 for Etherboot.'
|
||||
false
|
||||