[coreboot] buildrom payload.conf patch
Jordan Crouse
jordan.crouse at amd.com
Fri May 2 17:19:26 CEST 2008
On 02/05/08 07:57 -0600, Myles Watson wrote:
> This patch consolidates the payload .conf files to eliminate redundancy. A
> couple of them were not consolidated because it appeared that they will be
> more specialized in the future.
> follow the patch with:
> svn rm config/payloads/etherboot.conf
> svn rm config/payloads/memtest.conf
> svn rm config/payloads/tint.conf
> svn rm config/payloads/grub2.conf
> svn rm config/payloads/gpxe.conf
> svn rm config/payloads/coreinfo.conf
> svn rm config/payloads/filo.conf
>
> since they are no longer needed.
> file by file changes:
>
> Makefile:
> Eliminated a payload copy to simplify build.
> Added empty targets for custom and custom-clean.
>
> packages/coreboot-v3/coreboot-v3.mk:
> Same payload copy change as Makefile.
>
> packages/ofw/ofw.mk:
> Moved the SVN information here from ofw.conf because it is here for every
> other payload.
>
> config/payloads/ofw.conf:
> The only thing keeping this file here is a comment about crc32sum.
>
> config/payloads/payloads.conf:
> Change the way PAYLOAD and PAYLOAD-y are set. Both are needed for lab since
> lab is the name of the payload, but isn't an actual payload.
>
> config/payloads/lab.conf:
> Removed redundant PAYLOAD assignment.
>
> config/payloads/openbios.conf:
> Include the generic and leave this file for possible fcode-utils dependency.
>
> config/payloads/kernel.conf:
> Removed redundant PAYLOAD and PAYLOAD-y assignment.
> config/payloads/Config.in:
> Removed extra menu for Custom Payload with only one option in it.
> config/payloads/custom.conf:
> Simplified this file since there was no CUSTOM_PAYLOAD variable set anywhere.
> Included Makefile.generic so that lzma compression would just work.
>
> Signed-off-by: Myles Watson <mylesgw at gmail.com>
Acked-by: Jordan Crouse <jordan.crouse at amd.com>
> Thanks,
> Myles
> Index: Makefile
> ===================================================================
> --- Makefile (revision 174)
> +++ Makefile (working copy)
> @@ -89,7 +89,7 @@
>
> rom: $(HOSTTOOLS-y) payload $(COREBOOT-y)
> @ cp $(CBV3_OUTPUT) $(TARGET_ROM_FILE)
> - @ $(STAGING_DIR)/bin/lar $(LAR_PAYLOAD_FLAGS-y) $(TARGET_ROM_FILE) $(CBV3_PAYLOAD_TARGET):normal/payload
> + @ $(STAGING_DIR)/bin/lar $(LAR_PAYLOAD_FLAGS-y) $(TARGET_ROM_FILE) $(PAYLOAD_TARGET):normal/payload
> ifeq ($(CONFIG_VSA_LEGACY),y)
> @ $(STAGING_DIR)/bin/lar $(LAR_PAYLOAD_FLAGS-y) $(TARGET_ROM_FILE) $(SOURCE_DIR)/amd_vsa_lx_1.01.bin:blob/vsa
> endif
> @@ -102,6 +102,10 @@
> @ $(STAGING_DIR)/bin/lar -z $(TARGET_ROM_FILE)
> endif
>
> +# These empty dependencies are for the custom payload.
> +custom:
> +custom-clean:
> +
> payload: $(DEPENDS-y) $(PAYLOAD_TARGET)
>
> extract: $(PKG_extract)
> Index: packages/coreboot-v3/coreboot-v3.mk
> ===================================================================
> --- packages/coreboot-v3/coreboot-v3.mk (revision 174)
> +++ packages/coreboot-v3/coreboot-v3.mk (working copy)
> @@ -37,11 +37,6 @@
>
> CBV3_PATCHES ?=
>
> -CBV3_PAYLOAD_TARGET=$(CBV3_DIR)/payload.elf
> -
> -$(CBV3_PAYLOAD_TARGET): $(PAYLOAD_TARGET)
> - @ cp $< $@
> -
> $(SOURCE_DIR)/$(CBV3_TARBALL):
> @ mkdir -p $(SOURCE_DIR)/coreboot-v3
> @ $(BIN_DIR)/fetchsvn.sh $(CBV3_URL) \
> @@ -72,7 +67,7 @@
> endif
> @ touch $@
>
> -$(CBV3_OUTPUT): $(CBV3_STAMP_DIR)/.configured $(CBV3_PAYLOAD_TARGET)
> +$(CBV3_OUTPUT): $(CBV3_STAMP_DIR)/.configured $(PAYLOAD_TARGET)
> @ echo "Building coreboot v3..."
> @ $(MAKE) -C $(CBV3_SRC_DIR) $(CBV3_ROM_SIZE) > $(CBV3_BUILD_LOG) 2>&1
>
> Index: packages/ofw/ofw.mk
> ===================================================================
> --- packages/ofw/ofw.mk (revision 174)
> +++ packages/ofw/ofw.mk (working copy)
> @@ -1,5 +1,8 @@
> # Build the OpenFirmware payload
>
> +OFW_SVN_URL=svn://openbios.org/openfirmware
> +OFW_SVN_TAG=720
> +
> OFW_DIR=$(BUILD_DIR)/ofw
> OFW_SRC_DIR=$(OFW_DIR)/svn
> OFW_BUILD_DIR=$(OFW_SRC_DIR)/cpu/x86/pc/biosload/build
> Index: config/payloads/ofw.conf
> ===================================================================
> --- config/payloads/ofw.conf (revision 174)
> +++ config/payloads/ofw.conf (working copy)
> @@ -1,15 +1,5 @@
> # Configuration options for the OpenFirmware payload
>
> -# Common configuration options
> +include $(CONFIG_DIR)/payloads/generic.conf
>
> -PAYLOAD_BUILD=scripts/Makefile.generic
> -
> -OFW_SVN_URL=svn://openbios.org/openfirmware
> -OFW_SVN_TAG=720
> -
> -PAYLOAD_ELF=$(OUTPUT_DIR)/ofw-payload.elf
> -# LZMA isn't allowed for OFW, so no need to define a COMPRESSSED target
> -
> -PAYLOAD-y=ofw
> #HOSTTOOLS-y=crc32sum
> -PAYLOAD_AND_DEP_MK=$(PACKAGE_DIR)/ofw/ofw.mk
> Index: config/payloads/payloads.conf
> ===================================================================
> --- config/payloads/payloads.conf (revision 174)
> +++ config/payloads/payloads.conf (working copy)
> @@ -15,19 +15,31 @@
>
> ### Include the correct payload configuration
>
> -PCONF-y=
> +PAYLOAD-y=
> +PAYLOAD-$(CONFIG_PAYLOAD_LAB) = lab
> +PAYLOAD-$(CONFIG_PAYLOAD_ETHERBOOT) = etherboot
> +PAYLOAD-$(CONFIG_PAYLOAD_GPXE) = gpxe
> +PAYLOAD-$(CONFIG_PAYLOAD_FILO) = filo
> +PAYLOAD-$(CONFIG_PAYLOAD_OFW) = ofw
> +PAYLOAD-$(CONFIG_PAYLOAD_OPENBIOS) = openbios
> +PAYLOAD-$(CONFIG_PAYLOAD_MEMTEST) = memtest
> +PAYLOAD-$(CONFIG_PAYLOAD_KERNEL) = kernel
> +PAYLOAD-$(CONFIG_PAYLOAD_CUSTOM) = custom
> +PAYLOAD-$(CONFIG_PAYLOAD_COREINFO) = coreinfo
> +PAYLOAD-$(CONFIG_PAYLOAD_TINT) = tint
> +PAYLOAD-$(CONFIG_PAYLOAD_GRUB2) = grub2
> +
> +# This is for custom configuration strings
> +PAYLOAD=PAYLOAD-y
> +
> +PCONF-y= generic.conf
> +PCONF-$(CONFIG_PAYLOAD_COREINFO) = libpayload-dep.conf
> +PCONF-$(CONFIG_PAYLOAD_CUSTOM) = custom.conf
> +PCONF-$(CONFIG_PAYLOAD_KERNEL) = kernel.conf
> PCONF-$(CONFIG_PAYLOAD_LAB) = lab.conf
> -PCONF-$(CONFIG_PAYLOAD_ETHERBOOT) = etherboot.conf
> -PCONF-$(CONFIG_PAYLOAD_GPXE) = gpxe.conf
> -PCONF-$(CONFIG_PAYLOAD_FILO) = filo.conf
> PCONF-$(CONFIG_PAYLOAD_OFW) = ofw.conf
> PCONF-$(CONFIG_PAYLOAD_OPENBIOS) = openbios.conf
> -PCONF-$(CONFIG_PAYLOAD_MEMTEST) = memtest.conf
> -PCONF-$(CONFIG_PAYLOAD_KERNEL) = kernel.conf
> -PCONF-$(CONFIG_PAYLOAD_CUSTOM) = custom.conf
> -PCONF-$(CONFIG_PAYLOAD_COREINFO) = coreinfo.conf
> -PCONF-$(CONFIG_PAYLOAD_TINT) = tint.conf
> -PCONF-$(CONFIG_PAYLOAD_GRUB2) = grub2.conf
> +PCONF-$(CONFIG_PAYLOAD_TINT) = libpayload-dep.conf
>
> DEPENDS-y=
> include $(CONFIG_DIR)/payloads/$(PCONF-y)
> Index: config/payloads/lab.conf
> ===================================================================
> --- config/payloads/lab.conf (revision 174)
> +++ config/payloads/lab.conf (working copy)
> @@ -30,8 +30,6 @@
> PAYLOAD-$(CONFIG_BOOTMENU) += bootmenu
> PAYLOAD-$(CONFIG_OLPCFLASH) += olpcflash
>
> -PAYLOAD=lab
> -
> HOSTTOOLS-y = mkelfimage unifdef
> PAYLOAD_AND_DEP_MK=$(PACKAGE_DIR)/mkelfimage/mkelfimage.mk
> PAYLOAD_AND_DEP_MK+=$(PACKAGE_DIR)/uclibc/uclibc.mk
> Index: config/payloads/openbios.conf
> ===================================================================
> --- config/payloads/openbios.conf (revision 174)
> +++ config/payloads/openbios.conf (working copy)
> @@ -1,17 +1,7 @@
> # Configuration options for the OpenBIOS payload
>
> -# Common configuration options
> +include $(CONFIG_DIR)/payloads/generic.conf
>
> -PAYLOAD_BUILD=scripts/Makefile.generic
> -
> -PAYLOAD_ELF=$(OUTPUT_DIR)/openbios-payload.elf
> -PAYLOAD_COMPRESSED=$(OUTPUT_DIR)/openbios-payload.elf.lzma
> -
> -PAYLOAD-y=openbios
> -PAYLOAD=openbios
> -
> # TODO: Build fcode-utils or expect user to install them?
> # HOSTTOOLS-y=fcode-utils
>
> -PAYLOAD_AND_DEP_MK=$(PACKAGE_DIR)/openbios/openbios.mk
> -
> Index: config/payloads/kernel.conf
> ===================================================================
> --- config/payloads/kernel.conf (revision 174)
> +++ config/payloads/kernel.conf (working copy)
> @@ -15,8 +15,5 @@
> PAYLOAD_ELF=$(OUTPUT_DIR)/kernel-payload.elf
> PAYLOAD_COMPRESSED=$(OUTPUT_DIR)/kernel-payload.elf.lzma
>
> -PAYLOAD-y= kernel
> -PAYLOAD=kernel
> -
> HOSTTOOLS-y = mkelfimage
> PAYLOAD_AND_DEP_MK=$(PACKAGE_DIR)/mkelfimage/mkelfimage.mk
> Index: config/payloads/Config.in
> ===================================================================
> --- config/payloads/Config.in (revision 174)
> +++ config/payloads/Config.in (working copy)
> @@ -77,17 +87,14 @@
>
> endchoice
>
> -menu "Custom Payload"
> -depends on PAYLOAD_CUSTOM
> config CUSTOM_PAYLOAD
> string "Custom payload filename"
> + depends on PAYLOAD_CUSTOM
> default ""
> help
> Specify a filename for the custom ELF payload you wish to attach
> to the ROM. You can also specify the custom payload with the
> CUSTOM_PAYLOAD environment variable.
> -
> -endmenu
>
> menu "Kernel Configuration"
> depends on PAYLOAD_KERNEL
> Index: config/payloads/custom.conf
> ===================================================================
> --- config/payloads/custom.conf (revision 174)
> +++ config/payloads/custom.conf (working copy)
> @@ -1,9 +1,6 @@
> -# Common configuration options
> +# Include Makefile.generic for lzma compression
>
> -PAYLOAD_BUILD=
> +PAYLOAD_BUILD=scripts/Makefile.generic
>
> -ifneq ($(CUSTOM_PAYLOAD),)
> -PAYLOAD_ELF=$(CUSTOM_PAYLOAD)
> -else
> PAYLOAD_ELF=$(subst ",,$(CONFIG_CUSTOM_PAYLOAD))
> -endif
> +PAYLOAD_COMPRESSED=$(PAYLOAD_ELF).lzma
> --
> coreboot mailing list
> coreboot at coreboot.org
> http://www.coreboot.org/mailman/listinfo/coreboot
--
Jordan Crouse
Systems Software Development Engineer
Advanced Micro Devices, Inc.
More information about the coreboot
mailing list