Kconfig + Kbuild 为内核编译的配置和编译框架。其中 Kconfig 作为一个典型的配置框架,被很多开发人员单独使用,典型的项目有 BuildRoot、uboot。
也有一些人将 Kconfig 的源码从内核中剥出,作为一个独立的组件。比如:
- Kconfiglib, A flexible Python 2/3 Kconfig implementation and library
- guillon/kconfig, 通过 kconfig/config.sh 脚本,实现 kconfig 编译和目标运行
- kconfig-frontends,与内核一起发布,有点官方 standalone kconfig 的意思。需要编译、安装,之后通过 kconfig-conf 等命令运行。
这里介绍 Kconfig-frontend 从零到使用的过程。
下载编译
- wget http://ymorin.is-a-geek.org/download/kconfig-frontends/kconfig-frontends-3.19.0.0.tar.xz
- tar xvf kconfig-frontends-3.19.0.0.tar.xz
- sudo apt-get install gperf
- ./configure –enable-conf –enable-mconf –disable-shared –enable-static
- make
- make install
使用记录
类 make alldefconfig
kconfig-conf --alldefconfig Kconfig
,其中文件 Kconfig 为配置入口。
1 | jeromesun@kmcb0220:~/workshop/hello$ kconfig-conf --alldefconfig Kconfig |
类 make menuconfig
kconfig-mconf Kconfig
1 | jeromesun@kmcb0220:~/workshop/hello$ kconfig-mconf Kconfig |
编译 log
下载、解压
1 | jeromesun@km:~/workshop$ wget http://ymorin.is-a-geek.org/download/kconfig-frontends/kconfig-frontends-3.19 .tar.xz |
配置
如果没安装 gperf 会提示 configure: error: can not find gperf
。
1 | jeromesun@km:~/workshop/kconfig-frontends-3.19.0.0$ ./configure --help |
编译、安装
1 | jeromesun@km:~/workshop/kconfig-frontends-3.19.0.0$ make |