Kconfig fragment based config managment

Registered by John Stultz

Covers trying to upstream the kconfig changes needed in order to provide kconfig frament based config management. Some parts already have proof of concept, but other parts, such as full dependency resolution will need to be implemented from scratch.

After my presentation and discussions at Linux Plumbers, the required functional changes to make Kconfig fragments work is just too much work for not enough payoff. A smaller set of config fragment tooling would provide similar benefits at much reduced cost. Working with the yocto project folks, I'm trying to get the best practices and tooling common to a number of distros submitted upstream so everyone can share the common infrastructure.

Blueprint information

John Stultz
Needs approval
John Stultz
Series goal:
Accepted for devtrack
Milestone target:
Started by
John Stultz
Completed by
John Stultz

Related branches



This has been implemented and merged into upstream kernels; however, not picked up by major distros.


Work Items

Work items for 11.07:
[jstultz] Research dependency resolution on select (determined to be too complex): DONE

Work items for 11.08:
[jstultz] Research alternative config fragment approach: DONE
[jstultz] Develop presentation for Linux Plumbers BOF: DONE

Work items for 11.09:
[jstultz] Present at Linux Plumbers BOF: DONE
[jstultz] Implement config fragment tooling for upstream: DONE
[jstultz] Submit config fragment tooling upstream: DONE

Work items for 11.10:
[jstultz] Implement changes per feedback from posting to lkml: DONE
[jstultz] Resubmit config fragment tooling upstream: DONE
[jstultz] Yet again, resubmit config fragment tooling upstream: DONE

Work items for 11.11:
[jstultz] Get config fragment tooling merged in -mm: DONE
[jstultz] Fixed or queued fixes related to feedback/bugreports on patch in -mm: DONE
[jstultz] akpm has sent the patches to kbuild maintainer, so far they haven't been picked up (Jan 10): DONE
[jstultz] Get config fragment tooling merged upstream (Just landed for 3.3-rc1, Jan 17): DONE

Work items for 12.02:
[jstultz] Present at connect on how to use merge_config.sh: DONE

Work items for 12.03:
[jstultz] First shot at breaking out config fragments for linaro tree: DONE
[jstultz] Sent first revision to linaro-dev for review: DONE

Work items for 12.04:
[jstultz] Get fragments integrated with linaro tree: DONE

Work items for backlog:
[jstultz] Get build systems to utilize the config fragments: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.