I post here a single msg from the mega-thread, because even if it is
rejected by Linus we could reuse it in OE :)
The idea is reducing the defconfigs: for Zaurus we have very much in
common between defconfigs, so much that Iwas thinking to just create
the diffs.
Now Eric seems having a better method...



---------- Forwarded message ----------
From: Eric Miao <eric.y.m...@gmail.com>
Date: Tue, Jun 8, 2010 at 4:51 PM
Subject: Re: Heads up: Linus plans to kill ARM defconfigs
To: Russell King - ARM Linux <li...@arm.linux.org.uk>
Cc: Amit Kucheria <amit.kuche...@canonical.com>, Nicolas Pitre
<n...@fluxnic.net>, Tony Lindgren <t...@atomide.com>, Martin Guy
<martinw...@gmail.com>, Marek Vasut <marek.va...@gmail.com>, Ryan
Mallon <r...@bluewatersys.com>, Andy Whitcroft <a...@canonical.com>,

On Tue, Jun 8, 2010 at 9:13 PM, Russell King - ARM Linux
<li...@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"
> include arch/arm/config/Kconfig.whatever
> endif
> 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)
ycm...@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

ycm...@macbook-lucid:~/kernel/configs$ cat * | wc -l

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

ycm...@macbook-lucid:~/kernel/configs$ cat * | wc -l

3. A config.common includes those options common to all config.* and
the remaining
config.* now only includes those could be different across boards.

linux-arm-kernel mailing list

Attachment: splitconfig.pl
Description: Binary data

Zaurus-devel mailing list

Reply via email to