Linux内核配置文件的(最小)生成器。
kconfgen的Python项目详细描述
kconfgen是管理Linux内核配置文件的工具。
它允许用户:
- 从片段汇编内核配置文件;
- 确保版本控制中只保留最少的标志列表;
- 按主题将单个内核配置文件分割为多个片段。
用法:
kconfgen merge
从一组(最小)定义中组合一个.config文件
kconfgen merge \ --kernel=/usr/src/linux-4.19.57 --arch=x86 \ defconfig.net defconfig.crypto defconfig.laptop > .config
也可以生成一个defconfig文件,它只包含最小的标志集 要获取提供的.config文件:
kconfgen merge \ --kernel=/usr/src/linux-4.19.57 --arch=x86 \ --minimal \ defconfig.net defconfig.crypto defconfig.laptop > some_host.defconfig
kconfgen split
根据部分将.config文件拆分为一组最小的定义:
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
也可按最大截面尺寸划分:
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
为特定配置文件汇编defconfig文件:
kconfgen assemble \ --kernel=/usr/src/linux-4.19.57 \ --profiles=profiles.toml \ some-profile > .config
配置文件列表和用于它们的defconfig文件列在toml文件中:
[ profile.example ]arch=x86include=[ "core", "server" ]extras=[ "defconfig.example", "defconfig.wifi_intel" ][ include.core ]files=[ "defconfig.crypto", "defconfig.fs" ][ include.server ]files=[ "defconfig.net", "defconfig.net_netfilter" ]