[coreboot] [commit] r6335 - in trunk: payloads/external/SeaBIOS src/arch/x86

repository service svn at coreboot.org
Mon Feb 7 21:16:40 CET 2011


Author: stuge
Date: Mon Feb  7 21:16:40 2011
New Revision: 6335
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6335

Log:
Reliably build arbitrary Kconfig-based revisions of SeaBIOS

Reliability is accomplished by checking out the desired SeaBIOS commitish
into a branch named 'coreboot' in the local SeaBIOS git repository. Using
a branch allows TAG-$(CONFIG_SEABIOS_..) to refer to any commitish in the
SeaBIOS git repo, not just branches and tags.

Configuration is done with make defconfig followed by enabling and
disabling of the relevant coreboot-specific SeaBIOS options by appending
to .config using echo. This works, because later entries in .config will
overwrite earlier ones.

Signed-off-by: Peter Stuge <peter at stuge.se>
Acked-by: Stefan Reinauer <stefan.reinauer at coreboot.org>

Modified:
   trunk/payloads/external/SeaBIOS/Makefile.inc
   trunk/src/arch/x86/Makefile.inc

Modified: trunk/payloads/external/SeaBIOS/Makefile.inc
==============================================================================
--- trunk/payloads/external/SeaBIOS/Makefile.inc	Sat Feb  5 14:32:56 2011	(r6334)
+++ trunk/payloads/external/SeaBIOS/Makefile.inc	Mon Feb  7 21:16:40 2011	(r6335)
@@ -1,31 +1,38 @@
 
 
 TAG-$(CONFIG_SEABIOS_MASTER)=origin/master
-TAG-$(CONFIG_SEABIOS_STABLE)=rel-0.6.1.3
+TAG-$(CONFIG_SEABIOS_STABLE)=1efb10b9ea30c45a8c9c6230234fefa10d2886ed
 
-all: seabios
-
-seabios: patch
-	cd seabios; $(MAKE)
+unexport KCONFIG_AUTOCONFIG
 
-patch: checkout
-	test -r seabios/.patched || \
-	perl -pi -e "s,#define CONFIG_COREBOOT 0,#define CONFIG_COREBOOT 1,;" \
-		 -e "s,#define CONFIG_DEBUG_SERIAL 0,#define CONFIG_DEBUG_SERIAL 1,;" \
-		 -e "s,#define CONFIG_VGAHOOKS 0,#define CONFIG_VGAHOOKS 1,;" \
-		 seabios/src/config.h
-	touch seabios/.patched
+all: seabios
 
 checkout:
-	echo "Checking out SeaBIOS $(TAG-y)"
+	echo "    GIT        SeaBIOS $(TAG-y)"
 	test -d seabios && ( cd seabios; git fetch ) || \
-	git clone git://git.linuxtogo.org/home/kevin/seabios.git seabios
-	cd seabios; git checkout -m $(TAG-y)
+		git clone git://git.linuxtogo.org/home/kevin/seabios.git
+	cd seabios; git checkout master; git branch -D coreboot 2>/dev/null; git checkout -b coreboot $(TAG-y)
+
+config: checkout
+	echo "    CONFIG     SeaBIOS $(TAG-y)"
+	$(MAKE) -C seabios defconfig
+	echo "CONFIG_COREBOOT=y" >> seabios/.config
+	echo "CONFIG_DEBUG_SERIAL=y" >> seabios/.config
+	echo "CONFIG_COREBOOT_FLASH=y" >> seabios/.config
+	echo "CONFIG_LZMA=y" >> seabios/.config
+	echo "CONFIG_FLASH_FLOPPY=y" >> seabios/.config
+	echo "CONFIG_VGAHOOKS=y" >> seabios/.config
+	# This shows how to force a previously set .config option *off*
+	#echo "# CONFIG_SMBIOS is not set" >> seabios/.config
+
+seabios: config
+	echo "    MAKE       SeaBIOS $(TAG-y)"
+	$(MAKE) -C seabios
 
 clean:
-	test -d seabios && (cd seabios; $(MAKE) clean) || exit 0
+	test -d seabios && $(MAKE) -C seabios clean || exit 0
 
 distclean:
 	rm -rf seabios
 
-.PHONY: seabios
+.PHONY: checkout config seabios clean distclean

Modified: trunk/src/arch/x86/Makefile.inc
==============================================================================
--- trunk/src/arch/x86/Makefile.inc	Sat Feb  5 14:32:56 2011	(r6334)
+++ trunk/src/arch/x86/Makefile.inc	Mon Feb  7 21:16:40 2011	(r6335)
@@ -278,6 +278,7 @@
 
 seabios:
 	$(MAKE) -C payloads/external/SeaBIOS -f Makefile.inc \
+			HOSTCC="$(HOSTCC)" \
 			CC="$(CC)" LD="$(LD)" OBJDUMP="$(OBJDUMP)" \
 			OBJCOPY="$(OBJCOPY)" STRIP="$(STRIP)" \
 			CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \




More information about the coreboot mailing list