[RFC] First pass config fragment breakout for linaro kernel
john.stultz at linaro.org
Wed Mar 28 16:27:45 UTC 2012
On 03/27/2012 01:48 AM, Ryan Harkin wrote:
> Hi John,
> On 26 March 2012 20:20, John Stultz <john.stultz at linaro.org
> <mailto:john.stultz at linaro.org>> wrote:
> So after talking about it at the last Linaro Connect, I've
> finally gotten around to making a first pass at providing config
> fragments for the linaro kernel. I'd like to propose merging this
> for 12.04, and doing so early so we can make sure that all the
> desired config options are present in the fragments and to allow
> the vairous linaro build systems to begin migrating their config
> generation over.
> The current tree is here:
> The most relevant commit being:
> This includes config fragments for a linaro-base, an
> android-ization fragment, and board configs for panda, origen and
> I suspect we'll need an ubuntu specific fragment as well as all
> the other board fragments.
> There is likely to be quite a bit of churn as we decide what sort
> of configs are really common and which are board specific. But
> that's ok.
> Configs are generated from the config fragments, as follows:
> ./scripts/kconfig/merge_config.sh ./configs/linaro-base.conf
> ./configs/android.conf ./configs/panda.conf
> You may see warnings, which are not fatal, but should be reported
> so they can be properly cleaned up.
> I'm asking for Build folks to take a look at the above and
> consider how they might merge in fragment assembly into their
> system replacing their current config generation.
> I'd ask Landing teams to take a look at this, and report any
> missing config options or fragment chunks they'd like to see.
> Is there a recommended way of generating a config fragment for a board?
Hey, sorry I missed this email yesterday.
> Currently, the vexpress config is quite large and its origin is
> unknown to the LT. If I remove the linaro-base.conf entries from our
> config, we still end up with a config that is 793 lines long.
> In that set, there are things like CONFIG_WLAN=y. We don't have WLAN
> on vexpress. That's an easy case, but what about other more obscure
> things like CONFIG_XZ_DEC_BCJ, or CONFIG_FS_POSIX_ACL. I don't know
> what they are, where they've come from or if we need them. I know
> that the other platforms don't set them.
> Or is it simpler to start from scratch and add in what we know we need?
As Andy already pointed out, savedefconfig is a good starting point.
That gets rid of the config options that are already "default"
From there, I do something like the following:
$ ./scripts/kconfig/merge_config.sh -r ./configs/linaro-base.conf
The -r option will warn on options that are redundantly set. So you can
then go through and eliminate them from the mysaveddefconfig, and then
copy it to the config dir.
There will be some messiness here as we really haven't finalized how the
generic/distro/board split works out. There will likely be a few special
cases, but we'll get it sorted.
More information about the linaro-dev