Re: [PATCH] Add ``cloneconfig'' target

From: Sam Ravnborg
Date: Fri Feb 25 2011 - 01:07:14 EST


On Thu, Feb 24, 2011 at 09:35:02PM -0500, Jeff Mahoney wrote:
> Cloneconfig takes the first configuration it finds which appears
> to belong to the running kernel, and configures the kernel sources
> to match this configuration as closely as possible.
>
> Signed-off-by: Andreas Gruenbacher <agruen@xxxxxxx>
> Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx>
> ---
> scripts/kconfig/Makefile | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> --- a/scripts/kconfig/Makefile
> +++ b/scripts/kconfig/Makefile
> @@ -99,6 +99,23 @@ PHONY += allnoconfig allyesconfig allmod
>
> allnoconfig allyesconfig allmodconfig alldefconfig randconfig: $(obj)/conf
> $< --$@ $(Kconfig)
> +
> +UNAME_RELEASE := $(shell uname -r)
> +CLONECONFIG := $(firstword $(wildcard /proc/config.gz \
> + /lib/modules/$(UNAME_RELEASE)/.config \
> + /etc/kernel-config \
> + /boot/config-$(UNAME_RELEASE)))
> +cloneconfig: $(obj)/conf
> + $(Q)case "$(CLONECONFIG)" in \
> + '') echo -e "The configuration of the running" \
> + "kernel could not be determined\n"; \
> + false ;; \
> + *.gz) gzip -cd $(CLONECONFIG) > .config.running ;; \
> + *) cat $(CLONECONFIG) > .config.running ;; \
> + esac && \
> + echo -e "Cloning configuration file $(CLONECONFIG)\n"
> + $(Q)$< -D .config.running arch/$(SRCARCH)/Kconfig
> +

We already have something remotely similar in kconfig.
We use the following list:
config DEFCONFIG_LIST
string
depends on !UML
option defconfig_list
default "/lib/modules/$UNAME_RELEASE/.config"
default "/etc/kernel-config"
default "/boot/config-$UNAME_RELEASE"
default "$ARCH_DEFCONFIG"
default "arch/$ARCH/defconfig"

It would be better to teach kconfig to read /proc/config.gz
and then add it to the list above.

This list is used if you just type "make enuconfig" without
any configuration.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/