在进行内核开发时,我们需要增自定义的宏,用于控制功能模块的开关。
内核配置位置
在编译openwrt前,我们会选择具体的芯片类型,不同型号对应了config目录,包含内核配置。
如选择mtk 7620a,对应目录为 target/linux/ramips/mt7620a/
root:/mnt/disk3/openwrt-sunboy/trunk# ls target/linux/ramips/mt7620a/ -l
total 16
-rwxr-xr-x 1 root root 7079 Jan 20 09:37 config-3.10
drwxr-xr-x 2 root root 4096 Jan 19 00:07 profiles
-rwxr-xr-x 1 root root 254 Jan 7 08:58 target.mk
其中config-3.10就是内核的.config对应的文件,通过make kernel_menuconfig保存后会将配置生成到config-3.10文件
内核解压目录为
build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.36/
当然,不同内核版本对应的目录不一样,我当前的内核版本为3.10.36
弄清了各个目录和文件情况,现在开始一步步增加宏,并保存配置。
- 修改Kconfig文件
vi build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/linux-3.10.36/net/netfilter/Kconfig
增加以下内容:
config NETFILTER_DERRY_TEST
tristate 'Derry netfilter test'
default y
---help---
Derry netfilter test.....
注意在行 endif # NETFILTER_XTABLES 下面增加
- 保存宏配置
在openwrt根目录执行make kernel_menuconfig,找到netfilter对应目录,会出现多了我们自定义的选项,如下图:
保存退出 - 查看增加的宏
vi target/linux/ramips/mt7620a/config-3.10
会发现文件中多出了
CONFIG_NETFILTER_DERRY_TEST=y
表示增加宏成功,以后编译内核都会自动将该配置拷贝到内核目录。
更多wifi相关文章,微信请关注:wifi开发者,定期发布开发相关总结。