openwrt增加内核宏控制

在进行内核开发时,我们需要增自定义的宏,用于控制功能模块的开关。

内核配置位置
在编译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

弄清了各个目录和文件情况,现在开始一步步增加宏,并保存配置。

  1. 修改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.....

openwrt增加内核宏控制_第1张图片
注意在行 endif # NETFILTER_XTABLES 下面增加

  1. 保存宏配置
    在openwrt根目录执行make kernel_menuconfig,找到netfilter对应目录,会出现多了我们自定义的选项,如下图:
    openwrt增加内核宏控制_第2张图片
    保存退出
  2. 查看增加的宏
    vi target/linux/ramips/mt7620a/config-3.10
    会发现文件中多出了
    CONFIG_NETFILTER_DERRY_TEST=y
    表示增加宏成功,以后编译内核都会自动将该配置拷贝到内核目录。

更多wifi相关文章,微信请关注:wifi开发者,定期发布开发相关总结。
openwrt增加内核宏控制_第3张图片

你可能感兴趣的:(c语言,linux,openwrt,openwrt开发)