The Fedora kernel has had roughly the same system for generating the kernel configuration for a very long time. There are a series of files listing configuration choices (CONFIG_FOO=y, CONFIG_FOO is not set etc.) that get combined to generate the final config files. This has gotten unsustainable for several reasons:
- When the system was first introduced, the only supported arches were x86_32 and x86_64. Fedora now supports enough other arches that we have a config-$arch-generic in addition to config-generic - It's difficult to tell what is actually enabled since there are several layers of configuration combining (I have to look at config-generic, then config-$arch-generic, then the final config-$specific file to see what the option actually is) - Keeping the files organized requires manual work and pruning
I've been thinking about alternatives to the existing config generation. One proposal was to take advantage of the upstream kernel now supporting config fragments and keep some part of the fedora configuration upstream. This would have the disadvantage of requiring the configuration to be kept in sync with upstream.
Another option is to switch to a system of generation where each configuration option is kept in a separate file. There is no sorting or organization necessary. This would result in a lot of small files for all the arches Fedora supports though.
Anyone have experiences with or opinions about the kernel configuration generation? The goal is to only change the way the configurations are generated and not the options that are enabled.
Thanks, Laura