diff --git a/Makefile.inc b/Makefile.inc index b4c2cdfe92..ef565c2fc9 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -305,17 +305,15 @@ cbfs-files-processor-nvramtool= \ mv $(2).tmp $(2)) ####################################################################### -# Reduce a .config file to its minimal representation +# Reduce a .config file by removing lines about unset booleans # arg1: input # arg2: output -define cbfs-files-processor-defconfig - $(eval $(2): $(1) $(obj)/build.h $(objutil)/kconfig/conf; \ +define cbfs-files-processor-config + $(eval $(2): $(1) $(obj)/build.h; \ +printf " CREATE $(2) (from $(1))\n"; \ printf "# This image was built using coreboot " > $(2).tmp && \ grep "\" $(obj)/build.h |cut -d\" -f2 >> $(2).tmp && \ - $(MAKE) DOTCONFIG=$(1) DEFCONFIG=$(2).tmp2 savedefconfig && \ - cat $(2).tmp2 >> $(2).tmp && \ - rm -f $(2).tmp2 && \ + sed -e '/^CONFIG/!d' $(1) >> $(2).tmp && \ \mv -f $(2).tmp $(2)) endef @@ -1212,8 +1210,9 @@ vgaroms/seavgabios.bin-file := $(CONFIG_PAYLOAD_VGABIOS_FILE) vgaroms/seavgabios.bin-type := raw cbfs-files-$(CONFIG_INCLUDE_CONFIG_FILE) += config -config-file := $(DOTCONFIG):defconfig +config-file := $(DOTCONFIG):config config-type := raw +config-compression := LZMA cbfs-files-$(CONFIG_INCLUDE_CONFIG_FILE) += revision revision-file := $(obj)/build.h diff --git a/src/Kconfig b/src/Kconfig index f30a1bb683..f16b53c47d 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -211,9 +211,9 @@ config INCLUDE_CONFIG_FILE Saying Y here will increase the image size by 2-3KB. - You can use the following command to easily list the options: + You can then use cbfstool to extract the config from a final image: - grep -a CONFIG_ coreboot.rom + cbfstool coreboot.rom extract -n config -f Alternatively, you can also use cbfstool to print the image contents (including the raw 'config' item we're looking for).