wifidog 关于openwrt添加内核模块

这里内核模块分两中,一种是模块代码本身就在kernel.org官方内核中的,另一种是外加模块如额外驱动的需求。(在这里吐槽一下openwrt把内核本身的模块也搞的这么麻烦,还需要在另外的文件中加配置,不然就算内核本身选上并编译成了.ko但就是不给你install到根文件系统,对于习惯直接以内核config文件为准的来说着实别扭)。

内核自身模块

以最近添加nfs client nfsv3功能为例,需要在package/kernel/linux/moudles目录下找到相应类别的文件,nfsv3属于fs.mk,在此文件中的nfs配置段下仿照nfs添加配置,如下:

define KernelPackage/fs-nfsv3
SUBMENU:=$(FS_MENU)
TITLE:=NFS client v3 filesystem support
DEPENDS:=+kmod-fs-nfs
KCONFIG:= \
CONFIG_NFS_V3
FILES:= \
$(LINUX_DIR)/fs/nfs/nfsv3.ko
AUTOLOAD:=$(call AutoLoad,50,nfsv3)
endef

define KernelPackage/fs-nfsv3/description
Kernel module for NFS client v3 support
endef

$(eval $(call KernelPackage,fs-nfsv3))

AutoLoad、KernelPackage函数可以看include目录下kernel.mk定义,都是负责install还有生成etc/moules.d的配置文件

额外内核模块

这部分需要添加在较上层的目录,和package/kernel/linux同级目录package/kernel/下。在此每个模块都有单独的目录,根据需要在其中添加src目录,Makefile、.c源文件、Kconfig等。具体内容请参考已有模块目录,以此为模版修改就行了。

本文章由 http://www.wifidog.pro/2014/12/31/wifidog-openwrt%E5%86%85%E6%A0%B8%E6%A8%A1%E5%9D%97.html 整理编辑,转载请注明出处

标签: wifidog认证 wifidog安装 wifidog原理 wifidog分析 wifidog配置 wifidog流程 wifidog服务器 wifidog-ddwrt wifidog openwrt