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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenWrt教程-如何在OpenWrt系统中添加一个Linux内核模块相关的知识,希望对你有一定的参考价值。

参考技术A

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系统中,注意编译平台和开发板平台的系统架构要一致。

以上是关于OpenWrt教程-如何在OpenWrt系统中添加一个Linux内核模块的主要内容,如果未能解决你的问题,请参考以下文章

怎么在ubuntu系统上编译定制openwrt固件

openwrt上网设置教程

openwrt下aria2安装求助

OpenWrt教程-uhttpd如何支持rpc请求

openwrt没有istore

如何编译openwrt的u-boot