Heads up: Linus plans to kill ARM defconfigs

Eric Miao eric.y.miao at gmail.com
Tue Jun 8 10:51:38 EDT 2010


On Tue, Jun 8, 2010 at 9:13 PM, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Tue, Jun 08, 2010 at 09:01:35AM -0400, Nicolas Pitre wrote:
>> I wouldn't give up on that option just yet though.  I don't think he
>> fully understood your idea, and without an actual patch it might be hard
>> to understand as well, especially for people who are not used to deal
>> with the target varieties we have on ARM.  Linus is also known to change
>> his mind when presented with evidences.
>
> The two ideas are very close to each other - and can be generated
> together.
>
> If we create something like Linus' preferred solution, we can then do
> in the main arch/arm/Kconfig:
>
> config STD_CONFIG
>        bool "blah"
>
> if STD_CONFIG
>
> if MACH_WHATEVER
> include arch/arm/config/Kconfig.whatever
> endif
>
> if MACH_BLAH
> include arch/arm/config/Kconfig.blah
> endif
>
> endif
>
> which should work as per my idea.
>

Anyway, we might need a tool to analyze those common config options across all
boards, and those not. Attached is a script used when updating debian kernel
configs, which I found might be useful. The result is still a _big_
mess to sort out
though. Below is what I did:

1. Generating a complete list of configs (updated)
ycmiao at macbook-lucid:~/kernel/linux-2.6$ for i in arch/arm/configs/*;
do j=`echo $i | sed 's/.*configs\/\(.*\)_defconfig/\1/'`; echo $j;
mkdir ../build/tmp; make ARCH=arm O=../build/tmp `basename $i`; make
ARCH=arm O=../build/tmp oldconfig; cp ../build/tmp/.config
../configs/config.$j; rm -fr ../build/tmp; done

2. Use splitconfigs.pl shows the reduction of config options

ycmiao at macbook-lucid:~/kernel/configs$ cat * | wc -l
258408

ycmiao at macbook-lucid:~/kernel/configs$ splitconfig.pl .
Reading config's ...
Merging lists ...
Creating common config ... done.
Creating stub configs ...

ycmiao at macbook-lucid:~/kernel/configs$ cat * | wc -l
142062

3. A config.common includes those options common to all config.* and
the remaining
config.* now only includes those could be different across boards.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: splitconfig.pl
Type: application/octet-stream
Size: 2404 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100608/e0b6259d/attachment.obj>


More information about the linux-arm-kernel mailing list