aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.hgignore1
-rw-r--r--tools/firmware/etherboot/Makefile17
-rw-r--r--tools/firmware/etherboot/gpxe-git-snapshot.tar.gzbin1679784 -> 0 bytes
-rw-r--r--tools/firmware/etherboot/patches/Makefile.patch12
-rw-r--r--tools/firmware/etherboot/patches/boot_prompt_option.patch26
-rw-r--r--tools/firmware/etherboot/patches/series1
6 files changed, 29 insertions, 28 deletions
diff --git a/.hgignore b/.hgignore
index 547dd495df..0b14d4cefb 100644
--- a/.hgignore
+++ b/.hgignore
@@ -135,6 +135,7 @@
^tools/firmware/.*bios/.*bios.*\.txt$
^tools/firmware/etherboot/eb-roms\.h$
^tools/firmware/etherboot/gpxe/.*$
+^tools/firmware/etherboot/gpxe\.git/.*$
^tools/firmware/extboot/extboot.img$
^tools/firmware/extboot/signrom$
^tools/firmware/hvmloader/acpi/dsdt.*\.c$
diff --git a/tools/firmware/etherboot/Makefile b/tools/firmware/etherboot/Makefile
index aaf6be2e62..7d19a765a5 100644
--- a/tools/firmware/etherboot/Makefile
+++ b/tools/firmware/etherboot/Makefile
@@ -4,6 +4,9 @@ XEN_ROOT = ../../..
include $(XEN_ROOT)/tools/Rules.mk
include Config
+GPXE_GIT_URL := git://git.etherboot.org/scm/gpxe.git
+GPXE_GIT_TAG := v1.0.1
+
D=gpxe
T=gpxe-git-snapshot.tar.gz
@@ -14,7 +17,7 @@ ROMS = $(addprefix $D/src/bin/, $(addsuffix .rom, $(NICS)))
.PHONY: all
all: eb-roms.h
-%.rom: $D/src/arch/i386/Config
+%.rom: $D/src/arch/i386/Makefile
$(MAKE) -C $D/src bin/$(*F).rom
eb-roms.h.new: $(ROMS)
@@ -24,7 +27,13 @@ eb-roms.h: Config
$(MAKE) NO_WERROR=1 $@.new
mv -f $@.new $@
-$D/src/arch/i386/Config: $T Config
+$T:
+ $(GIT) clone $(GPXE_GIT_URL) $D.git
+ cd $D.git && \
+ $(GIT) archive --format=tar --prefix=$D/ $(GPXE_GIT_TAG) | gzip >../$T
+ rm -rf $D.git
+
+$D/src/arch/i386/Makefile: $T Config
rm -rf $D
gzip -dc $T | tar xf -
for i in $$(cat patches/series) ; do \
@@ -32,9 +41,9 @@ $D/src/arch/i386/Config: $T Config
done
cat Config >>$@
-$D/src/bin/NIC: $D/src/arch/i386/Config
+$D/src/bin/NIC: $D/src/arch/i386/Makefile
$(MAKE) -C $D/src bin/NIC
.PHONY: clean
clean:
- rm -rf $D *~ eb-roms.h
+ rm -rf $D $D.git *~ eb-roms.h
diff --git a/tools/firmware/etherboot/gpxe-git-snapshot.tar.gz b/tools/firmware/etherboot/gpxe-git-snapshot.tar.gz
deleted file mode 100644
index b36545649b..0000000000
--- a/tools/firmware/etherboot/gpxe-git-snapshot.tar.gz
+++ /dev/null
Binary files differ
diff --git a/tools/firmware/etherboot/patches/Makefile.patch b/tools/firmware/etherboot/patches/Makefile.patch
deleted file mode 100644
index d56825b264..0000000000
--- a/tools/firmware/etherboot/patches/Makefile.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/Makefile.orig 2010-07-19 13:09:06.000000000 +0200
-+++ b/src/Makefile 2010-07-19 13:04:11.000000000 +0200
-@@ -71,7 +71,8 @@ noargs : blib $(BIN)/NIC $(BIN)/gpxe.dsk
- # If no architecture is specified in Config or on the command-line,
- # use that of the build machine.
- #
--ARCH ?= $(shell uname -m | sed -e s,i[3456789]86,i386,)
-+ARCH ?= $(shell uname -m | sed -e s,i[3456789]86,i386, \
-+ -e s,i86pc,x86_32, -e s,amd64,x86_64,)
-
- # handle x86_64 like i386, but set -m32 option for 32bit code only
- ifeq ($(ARCH),x86_64)
diff --git a/tools/firmware/etherboot/patches/boot_prompt_option.patch b/tools/firmware/etherboot/patches/boot_prompt_option.patch
index 3b6f4b4a1c..e5e8eed942 100644
--- a/tools/firmware/etherboot/patches/boot_prompt_option.patch
+++ b/tools/firmware/etherboot/patches/boot_prompt_option.patch
@@ -1,7 +1,7 @@
-diff -pruN a/src/arch/i386/prefix/romprefix.S b/src/arch/i386/prefix/romprefix.S
---- a/src/arch/i386/prefix/romprefix.S 2008-09-25 03:34:26.000000000 +0100
-+++ b/src/arch/i386/prefix/romprefix.S 2008-09-25 12:01:33.000000000 +0100
-@@ -320,6 +320,7 @@ no_pmm:
+diff -pruN gpxe/src/arch/i386/prefix/romprefix.S gpxe.new/src/arch/i386/prefix/romprefix.S
+--- gpxe/src/arch/i386/prefix/romprefix.S 2010-06-29 20:31:33.000000000 +0100
++++ gpxe.new/src/arch/i386/prefix/romprefix.S 2010-07-20 10:40:20.000000000 +0100
+@@ -458,6 +458,7 @@ no_pmm:
xorw %di, %di
cs rep movsb
@@ -9,23 +9,27 @@ diff -pruN a/src/arch/i386/prefix/romprefix.S b/src/arch/i386/prefix/romprefix.S
/* Prompt for POST-time shell */
movw $init_message_prompt, %si
xorw %di, %di
-@@ -341,6 +342,7 @@ no_pmm:
+@@ -484,6 +485,7 @@ no_pmm:
pushw %cs
call exec
- 1:
+ out:
+#endif
/* Restore registers */
popw %gs
popw %fs
-@@ -371,9 +373,11 @@ init_message_pmm:
+@@ -538,6 +540,7 @@ init_message_no_pmm:
init_message_int19:
.asciz " INT19"
.size init_message_int19, . - init_message_int19
+#ifndef NO_POST_PROMPT
init_message_prompt:
- .asciz "\nPress Ctrl-B to configure gPXE..."
+ .asciz "\nPress Ctrl-B to configure "
.size init_message_prompt, . - init_message_prompt
+@@ -547,6 +550,7 @@ init_message_dots:
+ init_message_done:
+ .asciz "\n\n"
+ .size init_message_done, . - init_message_done
+#endif
- clear_message:
- .asciz "\r \n\n"
- .size clear_message, . - clear_message
+
+ /* ROM image location
+ *
diff --git a/tools/firmware/etherboot/patches/series b/tools/firmware/etherboot/patches/series
index f76e6bef75..86cb300865 100644
--- a/tools/firmware/etherboot/patches/series
+++ b/tools/firmware/etherboot/patches/series
@@ -1,2 +1 @@
-Makefile.patch
boot_prompt_option.patch