I'm planning to migrate several computers to Gentoo. At the moment I'm running two machines with ad-hoc kernel configurations based on the kernel configuration from the installation CD (which was created for 2.6.26). In order to keep the maintenance effort for the new machines low, I would like to have a unified/baseline kernel configuration with minor adjustments for some machines.
I have been thinking about this for several weeks now and came to the conclusion, that there are two sub-problems: Creating a universal kernel configuration and merging and maintaining specific configurations with the baseline configuration. The second problem can be solved by simple concatenation and/or defconfigman, kccmp and make silentoldconfig. OpenWRT does this pretty much the same way. Creating the baseline configuration is much harder. So far I tried make defconfig, the installation CD configuration and kernel-seeds.org. None really satisfied my requirements and often resulted in ad-hoc changes when I simply went through a compile and reboot cycle until everything worked. I had a look at policies of other GNU/Linux distributions [1,2] and found that I need to develop or adopt a policy for my systems (the Ubuntu "modular where possible" policy seems reasonable to me and probably makes the curent ad-hoc configuration unnecessary). I also thought about reusing kernel configurations from other distributions, but have some doubts about kernel version mismatches (i.e. the kernel versions of Gentoo and the other distribution differ) and about unintended implications of kernel options that I don't fully understand. The mailing list archives show that this topic has been partly discussed before (especially whether Gentoo should have a default kernel configuration like other distributions), so I don't want to start a lengthy discussion about this here. I'm more interested in what other people do for larger deployments/installations on heterogeneous hardware. Regards, Matthias-Christian [1] https://wiki.ubuntu.com/Kernel/Dev/KernelConfig [2] https://wiki.linaro.org/KernelConfigPolicyDraft