Bug 10470 - x86: defconfig not being applied automatically since 2.6.24
Summary: x86: defconfig not being applied automatically since 2.6.24
Status: CLOSED CODE_FIX
Alias: None
Product: Other
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Sam Ravnborg
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-17 10:53 UTC by Daniel Drake
Modified: 2008-04-29 03:55 UTC (History)
5 users (show)

See Also:
Kernel Version: 2.6.24
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Daniel Drake 2008-04-17 10:53:47 UTC
In 2.6.23, if you unpacked a kernel source tarball and then ran "make menuconfig" you'd be presented with this message:
    # using defaults found in arch/i386/defconfig

and the default options would be set.

The same thing in 2.6.24 does not give you any "using defaults" message, and the default config options within menuconfig are rather blank (e.g. no PCI support). You can work around this by explicitly running "make defconfig" before menuconfig, but it would be nice to have the behaviour the way it was for 2.6.23 (and the way it still is for other archs).


I've looked into the problem. It works on 2.6.23 because of init/Kconfig which is still unchanged:

config DEFCONFIG_LIST
    [...]
    default "arch/$ARCH/defconfig"

arch/i386/defconfig and arch/x86_64/defconfig existed in 2.6.23, but not in 2.6.24 due to the arch merge.

I'm not really sure of the right way to fix it for the newer kernels. I tried adding another default in DEFCONFIG_LIST:
    default "arch/$SRCARCH/configs/$KBUILD_DEFCONFIG"
but it seems that $SRCARCH and $KBUILD_DEFCONFIG are not being exported to kconfig and I couldn't immediately see how to change that. Plus I'm not sure that this is the right approach.
Comment 1 Daniel Drake 2008-04-17 10:54:22 UTC
downstream bug report: http://bugs.gentoo.org/show_bug.cgi?id=215442
Comment 2 Sam Ravnborg 2008-04-28 13:04:36 UTC
Hi Daniel.

Following patch seems fix it in my testing.
Can you try to give it a spin.

It just expand the defconfig list with an additional
choice that depends on the bit size.


	Sam

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index a12dbb2..91df357 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -25,6 +25,18 @@ config X86
 	select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
 	select HAVE_ARCH_KGDB if !X86_VOYAGER
 
+config DEFCONFIG_LIST
+	string
+	depends on X86_32
+	option defconfig_list
+	default "arch/x86/configs/i386_defconfig"
+
+config DEFCONFIG_LIST
+	string
+	depends on X86_64
+	option defconfig_list
+	default "arch/x86/configs/x86_64_defconfig"
+
 
 config GENERIC_LOCKBREAK
 	def_bool n
Comment 3 Daniel Drake 2008-04-29 03:12:40 UTC
that works, thanks!
Comment 4 Sam Ravnborg 2008-04-29 03:55:23 UTC
Fix is in x86.git and will hit mainline soon.

Note You need to log in before you can comment on or make changes to this bug.