OpenWrt教程-如何在OpenWrt系统中添加一个Linux内核模块

OpenWrt教程-如何在OpenWrt系统中添加一个Linux内核模块,第1张

linux内核支持动态加载模块,内核模块以.ko为后缀,在Linux系统中,内核模块放在/lib/modulex/x.x.x目录中,其中x.x.x为linux版本号

加载模块

insmod xxx.ko

如果带参数 insmod xxx.ko a=1

卸载模块

rmmod xxx.ko

支持的数据类型

bool :布尔类型

invbool:颠倒了值的bool类型

charp :字符指针类型,内存为用户提供的字符串分配

int:整型

long :长整型

short :短整型

uint :无符号整型

ulong :无符号长整型

ushort :无符号短整型

内核模块源码Makefile编写格式和linux源码的格式一样

在OpenWrt系统中,内核模块编译和应用层的package编译类似

make package/模块名/compile V=s

比如:

make package/hello_kernel/compile V=s

编译完成后会生成.ko文件,目录文件在build_dir中,但和应用层的build目录有点区别,内核模块的package放在linux目录,如(X86平台):

build_dir/target-x86_64_musl/linux-x86_64/

将编译完成的ko文件传输到OpenWrt系统中,注意编译平台和开发板平台的系统架构要一致。

1、将OP的路由通过无线client模式连接到上级无线路由器(inter)端,网络接口中的wwan(无线client接口)使用DHCP或者PPPOE认证到上级路由,设置完毕保存应用

2、将OP的路由通过无线client模式链接到上级无线路由器(inter)端,无线设置中将接口选择为lan,进行桥接,网络接口中的br-lan关闭DHCP配置,防火墙转发开启、出入开启请自行测试

在openwrt嵌入式产品开发中添加。

需要将4G模块驱动代码直接编译到系统中,省去了生成ko驱动文件手动加载 *** 作,下面将驱动代码添加到openwrt的方法总结如下:

步骤1:拷贝驱动代码将需要添加的驱动代码拷贝到linux内核driver对应的文件夹下。/openwrt/openwrt-hiwooya/build_dir/target-mipsel_24kec+dsp_uClibc-0、9、33、2/linux-ramips_mt7688/linux-3、18、29/drivers/net/usb。

步骤2:修改Makefile在driver对应的文件夹中修改Makefile,把新加的驱动源文件添加到Makefile中。

步骤3:修改Kconfig在driver对应的文件夹中修改Kconfig,把新加的驱动menuconfig相关配置添加到Kconfig中。

步骤4:修改*、mk文件需要修改package/linux/modules/下对应的usb、mk文件,添加以下内容。需要特别注意,这里是openwrt与一般linux的不同之处。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11471052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存