Linux内核配置与编译

内核的配置和编译大致涉及三类主要文件:Kconfig、.config、Makefile。它们之间的关系大致可用下图描述;




1. Kconfig(详细内容可参见kbuild/kconfig_language.txt)

内核配置选项的源文件。arch/$(ARCH)/Kconfig是主Kconfig文件,与具体体系结构有关,主Kconfig会调用其他子目录的Kconfig文件,其他的Kconfig文件会调用各级目录的Kconfig文件,形成树状结构。需要注意的是只有被依赖选项已经选中,自选项才会显示。


2. .config

最终编译的内核配置选项,主要生成方式有两种:

a)由make xxxconfig进行配置保存后生成

make config #通过命令行更新配置文件
make menuconfig #通过菜单程序更新配置文件
make xconfig #通过QT图形界面更新配置文件
make gconfig #通过GTK图形界面更新配置文件
make oldconfig #使用已提供的.config配置文件
make randconfig #使用随机配置的配置文件
make defconfig #使用缺省配置
make allmodconfig #配置选项尽可能选"m"
make allyesconfig #配置选项尽可能选"y"
make allnoconfig #配置选项尽可能选"n"

b)复制arch/$(ARCH)/configs/xxx_defconfig默认配置

cp arch/$(ARCH)/configs/xxx_defconfig .config

3.Makefile(详细内容可参见kbuild/Makefile.txt)

定义了配置和编译的规则。arch/$(ARCH)/Makefile文件,与具体体系结构相关,主Makefile会读取.config文件中的配置选项编译内核镜像vmlinux以及所有的模块文件module,它递归地遍历所有内核源码树中的所有子目录,编译所有目标文件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值