Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 775956 - sys-kernel/gentoo-sources: Merge Kconfig patches with wiki pages
Summary: sys-kernel/gentoo-sources: Merge Kconfig patches with wiki pages
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-14 09:53 UTC by gerion
Modified: 2021-08-24 21:43 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description gerion 2021-03-14 09:53:32 UTC
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
Comment 1 Alice Ferrazzi Gentoo Infrastructure gentoo-dev 2021-03-25 18:25:18 UTC
@gerion thanks for reporting this !
Comment 2 Alice Ferrazzi Gentoo Infrastructure gentoo-dev 2021-03-29 07:39:38 UTC
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
Comment 3 gerion 2021-03-29 08:59:27 UTC
(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.
Comment 4 Michael 'veremitz' Everitt 2021-04-15 11:42:36 UTC
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.
Comment 5 Mike Pagano gentoo-dev 2021-08-24 21:43:45 UTC
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.