openwrt配置内核驱动_openwrt内核配置选项添加

本文介绍了如何在openwrt中添加内核配置选项,包括已存在选项的添加方法和新选项的创建步骤。详细解析了.config文件与kernel中的.config之间的关系,以及配置加载过程,涉及scripts/config/conf、awk命令和kconfig.pl等工具的使用。
摘要由CSDN通过智能技术生成

增加内核配置选项

openwrt的.config文件中,关于内核的选项都是形如CONFIG_KERNEL_*(由关键字kernel)。在添加内核选项的时候,要在配置项前添加CONFIG_KERNEL_头。

上述添加方法是对于内核中已经存在的选项的添加方法(目前系统支持的内核配置选项可查看文件config/Config-kernel.in)。若目前系统没有该选项,需按照如下方法添加才可使选项生效。

1)  .config;   在此文件中配置CONFIG_KERNEL_选项

2)  config/Config-kernel.in;  在此文件中添加相关配置项的选择

openwrt的.config和kernel中的.config之间的联系

Make defconfig之后会执行scripts/config/conf --defconfig=.config Config.in    (include/toplevel.mk)

conf主要是将Config.in中的各个文件夹中的Config.in(Config-build.in Config-devel.in Config-image.in Config-kernel.in)选项全部读取出来,放到一个表中。然后将.config中的选项逐个的与链表中各值对比。相同,则保存在一个叫作.tmp.xxxx(进程号)的文件中。当全部比对完成以后,将.config更名为.config.old ,将.tmp.xxxx更名为.config。此时openwrt配置选项加载完成。

之后执行kernel的配置选项加载:  (include/kernel-defaults.mk)

scripts/kconfig.pl  +generic/config-3.10 mt7620/config-3.10 > .config.target

就是将generic和 mt7620中的config-3.10中的内核选项融合 添加到.config.target文件中

awk'/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}'trunk/.config >> linux-3.10.14-p112871/.config.target

此处将openwrt.config中有关内核选项去掉KERNEL_关键字后添加到.config.target中去。

metadata.pl kconfig tmp/.packageinfotrunk/.config linux-3.10.14-p112871/.config.override

kconfig.pl 'm+' '+'linux-3.10.14-p112871/.config.target /dev/nulllinux-3.10.14-p112871/.config.override > linux-3.10.14-p112871/.config

mv linux-3.10.14-p112871/.configlinux-3.10.14-p112871/.config.old

grep -v INITRAMFS .config.old > .config

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值