Skip to main content

kconfgen

https://secure.travis-ci.org/rbarrois/kconfgen.svg?branch=master Latest Version Supported Python versions Wheel status License

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)

Source distribution for kconfgen 1.2.2
File Size Uploaded
kconfgen-1.2.2.tar.gz 13.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kconfgen 1.2.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.2.2 This release

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page