Curated collection of Linux kernel .config files from upstream, distributions, and custom kernel projects — for comparison, research, and custom kernel development.
- Why?
- Included Projects
- Repository Structure
- Naming Convention
- Sources & Verification
- Usage
- Scripts
- Contributing
- License
Kernel projects — XanMod, CachyOS, Zen, distro kernels, vanilla upstream — often ship heavily customized .config files, but those configs are scattered across git repos, package archives, and build systems, and older ones tend to disappear once a project moves on.
This repository exists to:
- Compare kernel configurations across projects and versions
- Study feature and scheduler differences (CFS vs BORE vs EEVDF, etc.)
- Track how a given project's config evolves release over release
- Provide a known-good base for building custom kernels
- Archive configs from discontinued, EOL, or hard-to-find releases
No kernel source is included — only configuration files and metadata about where they came from.
Current
| Project | Version | Arch | Path |
|---|---|---|---|
| XanMod | 7.1 | x86_64 | configs/xanmod/7.1/x86_64.config |
Planned
CachyOS · Linux Zen · linux-tkg · Arch Linux · Fedora · Debian · Ubuntu · openSUSE · Gentoo · Vanilla upstream · other community/experimental kernels
Contributions that add a project from this list (or a new one entirely) are especially welcome — see Contributing.
kernelconfig/
├── README.md
├── LICENSE
├── configs/
│ ├── xanmod/
│ │ └── 7.1/
│ │ ├── x86_64.config
│ │ └── SOURCE.md
│ ├── cachyos/
│ ├── zen/
│ ├── vanilla/
│ └── ...
├── scripts/
│ └── diffconfig
└── docs/
Each config is organized by project → kernel version → architecture, and every version directory includes a SOURCE.md recording provenance (see below).
configs/<project>/<kernel-version>/<architecture>.config
Examples:
configs/xanmod/7.1/x86_64.config
configs/cachyos/7.1/x86_64.config
configs/vanilla/6.16/x86_64.config
Architecture strings follow uname -m output (x86_64, aarch64, etc.) for consistency.
Configs are collected only from:
- Official kernel project source repositories
- Distribution kernel source packages
- Build system output (OBS, COPR, AUR
PKGBUILDs, etc.) - Local
/boot/config-*or/proc/config.gzfrom a verifiable, unmodified install - Official release artifacts (tarballs, release assets)
Every version directory includes a SOURCE.md with:
- Upstream repository/package URL
- Commit hash or release tag the config was pulled from
- Date retrieved
- SHA256 checksum of the config file
- Any manual modifications made before archiving (should be none — configs are archived as-is)
This keeps the archive auditable: anyone can verify a config here matches what the upstream project actually shipped.
Compare two configurations:
diff -u configs/xanmod/7.1/x86_64.config configs/cachyos/7.1/x86_64.configGenerate a minimal, readable diff (options that actually changed, ignoring comments/ordering):
scripts/diffconfig configs/vanilla/6.16/x86_64.config configs/xanmod/7.1/x86_64.configUse as a base for a custom kernel build:
cp configs/xanmod/7.1/x86_64.config /path/to/kernel/source/.config
cd /path/to/kernel/source
make olddefconfig # reconcile against your kernel source tree
make menuconfig # optional: review/adjust before buildingCheck a single option across all configs:
grep -r "CONFIG_PREEMPT_" configs/*/*/x86_64.config| Script | Purpose |
|---|---|
scripts/diffconfig |
Wrapper around the kernel tree's own diffconfig for a clean two-file comparison, without needing a full kernel source checkout |
More helper scripts (bulk verification, checksum validation, option lookup across all archived configs) are planned — see Contributing if you'd like to add one.
Contributions are welcome — new projects, new versions of existing projects, or tooling improvements.
When submitting a configuration, please include:
- The
.configfile, placed per the naming convention - A
SOURCE.mdalongside it, containing:- Project name and kernel version
- Architecture
- Exact source (repo URL + commit/tag, package name + version, or release artifact URL)
- Retrieval date
- SHA256 checksum
- Notes on any known non-default modifications already present in the shipped config
Please do not hand-edit a config before submitting it — the archive aims to reflect what was actually shipped, not a personalized variant.
Open a PR with one project/version per PR where practical, to keep review focused.
Configuration files are distributed under the same licensing terms as their original sources, where applicable (kernel .config files are generally not independently copyrightable content beyond the GPL terms of the kernel build system itself, but attribution is preserved via SOURCE.md).
This repository archives configuration files only and does not redistribute modified Linux kernel source code.