[coreboot] r113 - in buildrom-devel: . packages/busybox packages/coreboot-v2 packages/filo packages/kernel packages/uclibc

svn at coreboot.org svn at coreboot.org
Mon Feb 11 21:36:54 CET 2008


Author: ward
Date: 2008-02-11 21:36:54 +0100 (Mon, 11 Feb 2008)
New Revision: 113

Modified:
   buildrom-devel/Config.in
   buildrom-devel/packages/busybox/busybox.mk
   buildrom-devel/packages/coreboot-v2/coreboot.inc
   buildrom-devel/packages/filo/filo.mk
   buildrom-devel/packages/kernel/kernel.inc
   buildrom-devel/packages/uclibc/uclibc.mk
Log:

This patch aims to store as much information about the build environment as
possible during the building of a coreboot image, in order to make it easy to
recreate coreboot images at a later point in time.

It logs a number of things in the new deploy/config directory:
* the buildrom .config file
* config files used for compiling various packages (filo, kernel, uclibc, busybox)
* the output of 'svn diff', 'svn info', 'svn status'
* the output of 'uname -a'
* a copy of /etc/lsb-release, /etc/debian-version, /etc/redhat-version if they exist
* the output of '$(CC) --version', '$(MAKE) --version', '$(LD) --version'

The logging of SVN output can be disabled in kconfig because it means internet
access must be available on the machine used for building the coreboot image.
This setting defaults to on because we already try to download a lot of code if
we don't have the necessary source packages in sources/.

Signed-off-by: Ward Vandewege <ward at gnu.org>
Acked-by: Jordan Crouse <jordan.crouse at amd.com>



Modified: buildrom-devel/Config.in
===================================================================
--- buildrom-devel/Config.in	2008-02-11 17:29:40 UTC (rev 112)
+++ buildrom-devel/Config.in	2008-02-11 20:36:54 UTC (rev 113)
@@ -32,6 +32,16 @@
 	  See the entire build output on stdout. Otherwise, it will
 	  be saved off in a series of logs
 
+config STORE_SVN_INFO
+	bool "Store svn tree information in deployment directory."
+	default y
+	help
+	  Store the output of 'svn diff', 'svn status' and 'svn info' in the
+	  deploy/config/svn/ directory. This means the machine used to build 
+	  the coreboot image will need to have internet access during the build.
+		
+	  If you are not sure, say yes.
+
 config MAKE_JOBS
 	int "Number of make jobs to run simultaneously (experimental)"
 	default 1

Modified: buildrom-devel/packages/busybox/busybox.mk
===================================================================
--- buildrom-devel/packages/busybox/busybox.mk	2008-02-11 17:29:40 UTC (rev 112)
+++ buildrom-devel/packages/busybox/busybox.mk	2008-02-11 20:36:54 UTC (rev 113)
@@ -51,7 +51,10 @@
 	export LDFLAGS="$(LDFLAGS_orig)";\
 	$(MAKE) -C $(BUSYBOX_SRC_DIR) VERBOSE=y \
 	LIBRARIES="$(LIBS)" all > $(BUSYBOX_BUILD_LOG) 2>&1)
+	@ mkdir -p $(OUTPUT_DIR)/config/busybox
+	@ cp $(BUSYBOX_SRC_DIR)/.config $(OUTPUT_DIR)/config/busybox/
 
+
 $(INITRD_DIR)/bin/busybox: $(BUSYBOX_SRC_DIR)/busybox | $(BUSYBOX_LOG_DIR)
 	@ $(MAKE) -C $(BUSYBOX_SRC_DIR) \
 	PREFIX=$(INITRD_DIR) install > $(BUSYBOX_INSTALL_LOG) 2>&1

Modified: buildrom-devel/packages/coreboot-v2/coreboot.inc
===================================================================
--- buildrom-devel/packages/coreboot-v2/coreboot.inc	2008-02-11 17:29:40 UTC (rev 112)
+++ buildrom-devel/packages/coreboot-v2/coreboot.inc	2008-02-11 20:36:54 UTC (rev 113)
@@ -81,6 +81,30 @@
 	@ echo "Building coreboot..."
 	@ (export CPU_OPT="$(STACKPROTECT)"; \
 	make -C $(CBV2_BUILD_DIR) > $(CBV2_BUILD_LOG) 2>&1)
+	@ mkdir -p $(OUTPUT_DIR)/config/coreboot-v2/
+	@ cp $(CBV2_BUILD_DIR)/../$(CBV2_CONFIG) $(OUTPUT_DIR)/config/coreboot-v2/
+	@ cp $(BASE_DIR)/.config $(OUTPUT_DIR)/config/
+	@ mkdir -p $(OUTPUT_DIR)/config/system/
+	@ uname -a >$(OUTPUT_DIR)/config/system/uname-a
+	@ if [ -f /etc/lsb-release ]; then \
+	cp /etc/lsb-release $(OUTPUT_DIR)/config/system/; \
+	fi	
+	@ if [ -f /etc/debian-version ]; then \
+	cp /etc/debian-version $(OUTPUT_DIR)/config/system/; \
+	fi
+	@ if [ -f /etc/redhat-version ]; then \
+	cp /etc/redhat-version $(OUTPUT_DIR)/config/system/; \
+	fi
+	@ mkdir -p $(OUTPUT_DIR)/config/toolchain/
+	@ $(MAKE) --version >$(OUTPUT_DIR)/config/toolchain/$(MAKE)-version
+	@ $(CC) --version >$(OUTPUT_DIR)/config/toolchain/$(CC)-version
+	@ $(LD) --version >$(OUTPUT_DIR)/config/toolchain/$(LD)-version
+ifeq ($(CONFIG_STORE_SVN_INFO),y)
+	@ mkdir -p $(OUTPUT_DIR)/config/svn/
+	@ svn diff > $(OUTPUT_DIR)/config/svn/svn.diff
+	@ svn info > $(OUTPUT_DIR)/config/svn/svn.info
+	@ svn status > $(OUTPUT_DIR)/config/svn/svn.status
+endif
 
 generic-coreboot-clean:
 	@ echo "Cleaning coreboot..."

Modified: buildrom-devel/packages/filo/filo.mk
===================================================================
--- buildrom-devel/packages/filo/filo.mk	2008-02-11 17:29:40 UTC (rev 112)
+++ buildrom-devel/packages/filo/filo.mk	2008-02-11 20:36:54 UTC (rev 113)
@@ -56,6 +56,8 @@
 	@ echo "Using custom config $(PACKAGE_DIR)/filo/conf/$(FILO_CONFIG)"
 endif
 	@ make -C $(FILO_SRC_DIR) filo.elf > $(FILO_BUILD_LOG) 2>&1
+	@ mkdir -p $(OUTPUT_DIR)/config/filo
+	@ cp $(FILO_SRC_DIR)/Config $(OUTPUT_DIR)/config/filo/
 
 $(FILO_STAMP_DIR) $(FILO_LOG_DIR):
 	@ mkdir -p $@

Modified: buildrom-devel/packages/kernel/kernel.inc
===================================================================
--- buildrom-devel/packages/kernel/kernel.inc	2008-02-11 17:29:40 UTC (rev 112)
+++ buildrom-devel/packages/kernel/kernel.inc	2008-02-11 20:36:54 UTC (rev 113)
@@ -63,6 +63,8 @@
 endif
 	@ $(MAKE) $(PARALLEL_MAKE) -C $(KERNEL_SRC_DIR) ARCH=$(KERNEL_BUILD_ARCH) \
 	KERNEL_CC="$(CC)" KERNEL_LD="$(LD)" > $(KERNEL_BUILD_LOG) 2>&1
+	@ mkdir -p $(OUTPUT_DIR)/config/kernel
+	@ cp $(KERNEL_SRC_DIR)/.config $(OUTPUT_DIR)/config/kernel/
 
 $(OUTPUT_DIR)/bzImage: $(KERNEL_BZIMAGE)
 	@ install -d $(OUTPUT_DIR)

Modified: buildrom-devel/packages/uclibc/uclibc.mk
===================================================================
--- buildrom-devel/packages/uclibc/uclibc.mk	2008-02-11 17:29:40 UTC (rev 112)
+++ buildrom-devel/packages/uclibc/uclibc.mk	2008-02-11 20:36:54 UTC (rev 113)
@@ -56,6 +56,8 @@
 	SHARED_LIB_LOADER_PATH="/lib" \
 	SHARED_LIB_LOADER_PREFIX="/lib" \
 	all > $(UCLIBC_BUILD_LOG) 2>&1)
+	@ mkdir -p $(OUTPUT_DIR)/config/uclibc
+	@ cp $(UCLIBC_SRC_DIR)/.config $(OUTPUT_DIR)/config/uclibc/
 
 $(STAGING_DIR)/lib/libc.a: $(UCLIBC_SRC_DIR)/lib/libc.a
 	@ $(MAKE) -C $(UCLIBC_SRC_DIR) \





More information about the coreboot mailing list