A generator of (minimal) Linux kernel configuration files.
Project description
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 \
--profiles=profiles.toml \
some-profile > .config
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" ]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file kconfgen-1.1.1.tar.gz
.
File metadata
- Download URL: kconfgen-1.1.1.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using 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.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | efb7525006ae6a32039178e9ef567d3b7bcdce8c0c0fa04602f3ab783944ba29 |
|
MD5 | 5ecd9a3c085a5d91e767a3b69944b625 |
|
BLAKE2b-256 | 2be689e738f653dc409fb602a3dacfae5aaa5dae70a6c9b215b54549623c2756 |
File details
Details for the file kconfgen-1.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: kconfgen-1.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 2, Python 3
- Uploaded using 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.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94a1f9ea2d82143f33f7ac0de48d09037d63bdf4c1ed7a292261049405b1f9b3 |
|
MD5 | e9ec97a74557cc66f7eef87259c561bb |
|
BLAKE2b-256 | c782f8de68692b720900c633d82afa4943d6837d4a052d34791fbdd20e90bea7 |