When using a defconfig, using yes '' | make oldconfig may not result in
the correct configuration being set. For example:

 $ ARCH=mips make qi_lb60_defconfig
 #
 # configuration written to .config
 #
 $ grep USB_ETH .config
 CONFIG_USB_ETH=y
 # CONFIG_USB_ETH_RNDIS is not set
 # CONFIG_USB_ETH_EEM is not set

 $ cp arch/mips/configs/qi_lb60_defconfig .config
 $ yes '' | make ARCH=mips oldconfig
[...]
 $ grep USB_ETH .config
 CONFIG_USB_ETH=m
 # CONFIG_USB_ETH_RNDIS is not set
 # CONFIG_USB_ETH_EEM is not set

Using make olddefconfig solves that but we'll use the oldnoconfig alias
for backward compatibility with older kernels.

 $ cp arch/mips/configs/qi_lb60_defconfig .config
 $ make ARCH=mips oldnoconfig
 scripts/kconfig/conf --olddefconfig Kconfig
 #
 # configuration written to .config
 #
 $ grep USB_ETH .config
 CONFIG_USB_ETH=y
 # CONFIG_USB_ETH_RNDIS is not set
 # CONFIG_USB_ETH_EEM is not set

Signed-off-by: Alexandre Belloni <[email protected]>
---
 meta/classes/kernel.bbclass | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 51626b03f824..9f1d669b3cf6 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -301,6 +301,8 @@ python sysroot_stage_all () {
     oe.path.copyhardlinktree(d.expand("${D}${KERNEL_SRC_PATH}"), 
d.expand("${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}"))
 }
 
+KERNEL_CONFIG_COMMAND ?= "oe_runmake oldnoconfig || yes '' | oe_runmake 
oldconfig"
+
 kernel_do_configure() {
        # fixes extra + in /lib/modules/2.6.37+
        # $ scripts/setlocalversion . => +
@@ -313,7 +315,7 @@ kernel_do_configure() {
        if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then
                cp "${WORKDIR}/defconfig" "${B}/.config"
        fi
-       yes '' | oe_runmake oldconfig
+       eval ${KERNEL_CONFIG_COMMAND}
 }
 
 do_savedefconfig() {
-- 
1.8.3.2

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to