Currently, I see two sources, where kernel configuration is documented: 1. The Gentoo wiki (https://en.wikipedia.org/wiki/Special:WhatLinksHere/Template:Infobox) 2. As part of gentoo-sources: https://gitweb.gentoo.org/proj/linux-patches.git/tree/4567_distro-Gentoo-Kconfig.patch Both are sets of kernel configuration options that are needed to activate a specific functionality. The former is more informing the latter is much more convenient (all options can be activated at once with a single click). I would find it useful to combine them. Therefore, the following could be done: 1. Develop a common format for wiki and patches (essentially the list of config keys). 2. Develop a wiki template (extend KernelBox) to generate the `make menuconfig/nconfig` tree like structure from the common format (list of config keys) and embed that in the wiki articles. 3. Develop a script to translate the common format (list of config keys) into an actual Kconfig-Entry and use this to extend the patch. The "functionality name" can be provided as additional data within the common format. 4. Filter the wiki articles by those for which an inclusion into the patchset make sense (for example by hand). 5. Automatically create a kernel patchset (that only contains additional KConfig flags and dependencies) for these articles. Reproducible: Always Here is an (incomlete) list of articles that could be included by this mechanism (all these articles come from the above linked wiki search query): https://wiki.gentoo.org/wiki/Lenovo_IdeaPad_B570e https://wiki.gentoo.org/wiki/Lmctfy#Kernel https://wiki.gentoo.org/wiki/Sony_Vaio_Pro_SVP-1x21#Kernel_configuration https://wiki.gentoo.org/wiki/Dell_Latitude_D810#CPU https://wiki.gentoo.org/wiki/Multipath#Kernel https://wiki.gentoo.org/wiki/Avahi#Kernel https://wiki.gentoo.org/wiki/Arduino#Prepare_the_kernel_for_USB_connection https://wiki.gentoo.org/wiki/NTFS#Kernel https://wiki.gentoo.org/wiki/Ext4#Kernel https://wiki.gentoo.org/wiki/Dm-crypt#Kernel_Configuration https://wiki.gentoo.org/wiki/ECryptfs#Kernel https://wiki.gentoo.org/wiki/Encfs#Kernel https://wiki.gentoo.org/wiki/SSHFS#Kernel https://wiki.gentoo.org/wiki/Docker#Kernel https://wiki.gentoo.org/wiki/EFI_System_Partition#Kernel https://wiki.gentoo.org/wiki/Systemd#Kernel (already "merged" manually) https://wiki.gentoo.org/wiki/Lenovo_Thinkpad_T495#Kernel_configuration https://wiki.gentoo.org/wiki/HFS%2B#Kernel https://wiki.gentoo.org/wiki/MIDI_controller_guide#Kernel https://wiki.gentoo.org/wiki/Webcams https://wiki.gentoo.org/wiki/YubiKey#Kernel These examples contain a few pages with some variability. Maybe this can be covered in some form within the common format. This is a follow up of this gentoo-dev Thread: https://archives.gentoo.org/gentoo-dev/message/156bc4a1633de93a629dcbee7d0eed5d
@gerion thanks for reporting this !
you said the gentoo wiki but give a wikipedia page 1. The Gentoo wiki (https://en.wikipedia.org/wiki/Special:WhatLinksHere/Template:Infobox) this bug is not reproducible but as for fixing the genpatches wiki is something that is in progress. About the kernel options. this can be configured by using the Gentoo Kconfig helper. For checking the configuration that you need other than Kconfig helper you could use the kernel config checker. https://gist.github.com/mrueg/cd19a20d2e712f61d2ea
(In reply to Alice Ferrazzi from comment #2) > you said the gentoo wiki but give a wikipedia page > 1. The Gentoo wiki > (https://en.wikipedia.org/wiki/Special:WhatLinksHere/Template:Infobox) Sorry, here is the correct link (I mixed it up): https://wiki.gentoo.org/index.php?title=Special%3AWhatLinksHere&target=Template%3AKernelBox > this bug is not reproducible but as for fixing the genpatches wiki is > something that is in progress. I'm not sure that I understand you correctly: You argumenting that the wiki is in flow and cannot be used as reliable source for genpatches, am I correct? > About the kernel options. this can be configured by using the Gentoo Kconfig > helper. What do you mean exactly with "Gentoo Kconfig helper". Do you mean the patch that is provided as "4567_distro-Gentoo-Kconfig.patch". Then my idea is to take the information from the wiki to make this patch more feature rich (provide more Kconfig entries). > For checking the configuration that you need other than Kconfig helper you > could use the kernel config checker. > > https://gist.github.com/mrueg/cd19a20d2e712f61d2ea Thank you for the link. This is really interesting. However, my feature request is not directly related to the currently installed packages. Let's assume a Gentoo user owns a Lenovo IdeaPad 8570e. Currently, she would follow the normal Gentoo installation guide. Maybe she would also found this wikipedia page https://wiki.gentoo.org/wiki/Lenovo_IdeaPad_B570e. If she found the page, she would manually (entry by entry) edit here kernel config accordingly. If the Gentoo Kconfig patch is interlinked with the Gentoo Wiki information she could simply activate: "Gentoo Linux -> Gentoo Wiki provided configurations -> Lenovo IdeaPad 8570e" and all necessary Kconfig options are set as dependencies.
Are you proposing some kind of wiki -> Kconfig or other kernel config updating mechanism? Or some way of identifying which patches included in wiki articles are included in the Genpatches archive (which is not exclusively patch #4567) ? I would agree that we can better integrate articles which reference kernel modules with the -sources/patching articles. Since kernel building from source is a relatively 'advanced' process, and we usually expect users roughly to understand what they are doing here (there are 'distro binary kernels if you aren't confident even to use 'genkernel') so some basic knowledge is anticipated. I think it is unlikely that kernel project will ever simply include all options presented in wiki articles, as the wiki is an open project and anyone can create articles in it. It would be tedious, at best, to scrape the entire wiki and update genpatches to include everything carte-blanche, not to mention potential conflicts and options that users do not want/require.
I like the idea, but this does not seem feasible or even remotely maintainable. If someone has a concise and maintainable way of adding this feature, this can be revisited.