Skip to content

Commit

Permalink
kconfig: use /boot/config-* etc. as DEFCONFIG_LIST only for native build
Browse files Browse the repository at this point in the history
When the .config file is missing, 'make config', 'make menuconfig', etc.
uses a file listed in DEFCONFIG_LIST, if found, as base configuration.

Ususally, /boot/config-$(uname -r) exists, and is used as default.

However, when you are cross-compiling the kernel, it does not make
sense to use /boot/config-* on the build host. It should default to
arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG).

UML previously did not use DEFCONFIG_LIST at all, but it should be
able to use arch/um/configs/$(KBUILD_DEFCONFIG) as a base config file.

Signed-off-by: Masahiro Yamada <[email protected]>
  • Loading branch information
masahir0y committed Apr 14, 2021
1 parent 5ee5465 commit f02aa48
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,11 @@ ifeq ($(ARCH),sh64)
SRCARCH := sh
endif

export cross_compiling :=
ifneq ($(SRCARCH),$(SUBARCH))
cross_compiling := 1
endif

KCONFIG_CONFIG ?= .config
export KCONFIG_CONFIG

Expand Down
8 changes: 4 additions & 4 deletions scripts/kconfig/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ silent := -s
endif

export KCONFIG_DEFCONFIG_LIST :=
ifneq ($(SRCARCH),um)
ifndef cross_compiling
kernel-release := $(shell uname -r)
KCONFIG_DEFCONFIG_LIST := \
KCONFIG_DEFCONFIG_LIST += \
/lib/modules/$(kernel-release)/.config \
/etc/kernel-config \
/boot/config-$(kernel-release) \
arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)
/boot/config-$(kernel-release)
endif
KCONFIG_DEFCONFIG_LIST += arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)

# We need this, in case the user has it in its environment
unexport CONFIG_
Expand Down

0 comments on commit f02aa48

Please sign in to comment.