[OE-core] [PATCH] kernel: use oldnoconfig instead of yes '' | make oldconfig

Alexandre Belloni alexandre.belloni at free-electrons.com
Tue Jan 7 20:27:40 UTC 2014


On 07/01/2014 16:32, Bruce Ashfield wrote:
> On 14-01-07 09:18 AM, Alexandre Belloni wrote:
>> When using a defconfig, using yes '' | make oldconfig may not result in
>> the correct configuration being set. For example:
>>
>>   $ grep USB_ETH .config
>>   CONFIG_USB_ETH=y
>>   CONFIG_USB_ETH_RNDIS=y
>>   CONFIG_USB_ETH_EEM=y
>>   $ make savedefconfig
>>   scripts/kconfig/conf --savedefconfig=defconfig Kconfig
>>   $ cp defconfig .config
>>   ‘defconfig’ -> ‘.config’
>>   $ yes '' | make oldconfig
>>   [...]
>>   #
>>   # configuration written to .config
>>   #
>>   $ grep USB_ETH .config
>>   CONFIG_USB_ETH=m
>>   CONFIG_USB_ETH_RNDIS=y
>>   CONFIG_USB_ETH_EEM=y
>>
>> Using make olddefconfig solves that but we'll use oldnoconfig for
>> backward compatibility with older kernels.
>>
>>   $ cp defconfig .config
>>   ‘defconfig’ -> ‘.config’
>>   $ make oldnoconfig
>>   scripts/kconfig/conf --olddefconfig Kconfig
>>   #
>>   # configuration written to .config
>>   #
>>   $ grep USB_ETH .config
>>   CONFIG_USB_ETH=y
>>   CONFIG_USB_ETH_RNDIS=y
>>   CONFIG_USB_ETH_EEM=y
>>
>> For more information, please refer to:
>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=fbe98bb9ed3dae23e320c6b113e35f129538d14a
>>
> 
> It was my understanding that this commit changed the Kconfig behaviour
> to set the selected options to =y and prevent the menu choice from
> "hiding" the options in a depedent choice menu. But maybe I'm remembering
> wrong.
> 
> The point being, that with that commit in place. Doesn't the behaviour
> match what we want with yes and oldconfig ?
> 

Nope, that commit is fixing the issue when using make <target>_defconfig
or make olddefconfig. Note that using make menuconfig already had the
correct behavior before that commit.

As shown in my commit log, using yes '' | make oldconfig is still
getting it wrong.

> .. I'll run some tests to confirm for myself, but I thought I'd throw
> the question out as well. I don't typically use defconfigs, so I need
> to do a bit of leg work.
> 

Yeah, using a full .config doesn't trigger that behavior.

> I don't have any big issues with the patch, but I just want to be sure,
> since changing this default could change the configs of many defconfig
> users, and they may have been unknowingly relying on the old behaviour.
> 

I can understand that. But I don't see any other way to make the really
expected behavior to work without risking breaking anything.

-- 
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the Openembedded-core mailing list