On 03/27/2012 01:48 AM, Ryan Harkin wrote:
Hi John,
On 26 March 2012 20:20, John Stultz <john.stultz@linaro.org mailto:john.stultz@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: http://git.linaro.org/gitweb?p=people/jstultz/android.git;a=shortlog;h=refs/heads/linaro-configs-3.3 The most relevant commit being: http://git.linaro.org/gitweb?p=people/jstultz/android.git;a=commitdiff;h=da8f6d20e1a768cb486005c5ec62582b6f92990d This includes config fragments for a linaro-base, an android-ization fragment, and board configs for panda, origen and imx53. 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. thanks -john
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 ./configs/ubuntu.conf ./mysaveddefconfig
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.
thanks -john