Kernel Config
The one-and-only official and legal Jacksonville Linux Users Group™, the JaxLUG™, backed by the Non-Profit 501(c)(3) Jacksonville Linux Users Group Inc., is proud to present the Linux Kernel Config Project (KCP), where anyone in the community can share and contribute or download and use a custom Linux Kernel Config. One of the benefits to running Linux is the ability to make the Linux kernel and drivers specific to the hardware, and this project is intended to aid in such.
The following are just some of the benefits of the JaxLUG's Kernel Config Project.
- Provide a starting point for a custom kernel for same or different arch, distro, and/or hardware.
- Provide suggestions for improvement, missing modules, ones not needed, etc.
- Establish a baseline for all kernels, ensure standard modules, features, etc.
- Security in identifying vulnerable modules and/or inadequate features.
- Learn from others configs, good, bad, ugly, pro, etc.
Repository
This is all taking place in the JaxLUG's Github kernel_config_project git repository, which we consider to be a “Penny Jar” repo for Linux Kernel configs, as in, if you need a config, take a config, if you have a config, submit a config; just like the colloquial penny jar. This is another form of paying it forward, and rapidly advancing others, as in, saving considerable time when seeking to make a custom kernel.
The repository is categorized in the following directories, more can be added as needed.
- cloud/
- desktop/
- embedded/
- laptop/
- server/
Within each directory, configs should follow the following format, subject to change, which will be updated here and in repo readme accordingly. Not all fields are required. If a custom system, go with the mother board model.
<vendor>-<model>-<gen>-<type>-<arch>-<version>-<distro>.config
Download a Config
Taking a config is as easy as taking a penny from the jar, simply go to the
Github
directory for the category of your device, and
grab the nearest one to your kernel version and hardware, and you can customize from there. Just download
the config, save as /usr/src/linux/.config and get to customizing and compiling, or just
compile and go.
It is recommend to always run the following before working with any new config file.
$ make oldconfig
Upload a Config
To upload a config, please open a pull request (PR) on the Github repo with your config named using the repo format and in the respective category/directory. Please ensure any contributed kernel config can cleanly build, if one was to go to kernel.org or distro kernel sources and obtain that version, it should compile, including modules.
Long term, we may setup CI to ensure kernels compile, and if this sounds like something you would be interested in doing, welcome to submit a Github Actions CI pull request.
Issues with a Config
If you have any feedback or problems with a config please open an issue on the Github repo, or submit a pull request (PR) if you have improvements for an existing config.
Help with a Config
If you need help making a config, well that is one of the reasons for the groups existence, please feel free to reach out and interact with us using your chosen method. We can help you at any step of your journey to making your own kernel, or working with any of the kernel configs in our Github repo.