kconfgen
kconfgen is a tool to manage Linux kernel configuration files.
It enables users to:
Assemble kernel configuration files from fragments;
Ensure that only minimal lists of flags are kept in version control;
Split a single kernel configuration file in fragments by topic.
Usage:
kconfgen merge
Assemble a .config file from a set of (minimal) definitions
kconfgen merge \
--kernel=/usr/src/linux-4.19.57 --arch=x86 \
defconfig.net defconfig.crypto defconfig.laptop > .config
It is also possible to generate a defconfig file, which contains only the minimal set of flags to get to the provided .config file:
kconfgen merge \
--kernel=/usr/src/linux-4.19.57 --arch=x86 \
--minimal \
defconfig.net defconfig.crypto defconfig.laptop > some_host.defconfig
kconfgen split
Split a .config file into a set of minimal definitions, based on their sections:
kconfgen split \
--kernel=/usr/src/linux-4.19.57 --arch=x86 \
--sections="net crypto fs" \
./fragments/ < ./.config
ls fragments/
defconfig.net
defconfig.crypto
defconfig.fs
defconfig
It is also possible to split by maximal section size:
kconfgen split \
--kernel=/usr/src/linux-4.19.57 --arch=x86 \
--max-symbols=20 \
./fragments/ < ./.config
ls fragments/
defconfig.net
defconfig.net_netfilter
defconfig.crypto
defconfig.drivers
defconfig
kconfgen assemble
Assemble a defconfig file for a specific profile:
kconfgen assemble \
--kernel=/usr/src/linux-4.19.57 \
some-profile > defconfig
The list of profiles and the defconfig files to use for them is listed in a toml file:
[ profile.example ]
arch = "x86"
include = [ "core", "server" ]
extras = [ "defconfig.example", "defconfig.wifi_intel" ]
[ include.core ]
files = [ "defconfig.crypto", "defconfig.fs" ]
[ include.server ]
files = [ "defconfig.net", "defconfig.net_netfilter" ]
It is also possible to dynamically include more sections:
# Don't forget the `--` to separate the profile from extra includes
kconfgen assemble \
--kernel=/usr/src/linux-4.19.57 \
--include sound wireless \
-- some-profile > defconfig
Metadata
Release files for kconfgen 1.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kconfgen-1.2.2.tar.gz | 13.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kconfgen-1.2.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 20.7 kB
Release files / kconfgen-1.2.2.tar.gz
| Download URL | kconfgen-1.2.2.tar.gz |
|---|---|
| Size | 13.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d4c6490ca2fafb2a35e11ee061629a52061c8c6f7ebb4f3b056ee6f2b50934d
|
|
BLAKE2b-256 checksum How to use checksums |
e9edec87f2e209d2a5e5017f4d88ecfaa8d7be34c564381c9afd2e22f868389d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.10
|
Release files / kconfgen-1.2.2-py2.py3-none-any.whl
| Download URL | kconfgen-1.2.2-py2.py3-none-any.whl |
|---|---|
| Size | 7.2 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
6aa01ff4c193108ae63aaafe1d4a30f9f94c9e96526ec037059eff19f03a9502
|
|
BLAKE2b-256 checksum How to use checksums |
4efe47d86f123d59a0bdd9b4b913b5c7bf73e63da9262b2450e6300c6547740c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.10
|