在linux中实现可加载的内核模块(Linux实现驱动模块传参过程解析)
类别:服务器 浏览量:2221
时间:2022-03-30 20:24:20 在linux中实现可加载的内核模块
Linux实现驱动模块传参过程解析在驱动的模块中声明一下你要传递的参数名称,类型和权限
module_param(变量的名称,类型,权限);
#include <linux/init.h> #include <linux/module.h> static char *p_name = "Usr"; module_param(p_name, charp, S_IRUGO); MODULE_PARM_DESC(p_name, "This is a char * string."); static int __init hi_init(void) { printk(KERN_INFO "Hi enter %s\n",p_name); return 0; } module_init(hi_init); static void __exit hi_exit(void) { printk(KERN_INFO "Hi exit %s\n ",p_name); } module_exit(hi_exit); MODULE_AUTHOR(" libra13179 "); MODULE_LICENSE("GPL v2");
KVERS = $(shell uname -r) # Kernel modules obj-m += hi.o # Specify flags for the module compilation. #EXTRA_CFLAGS=-g -O0 build: kernel_modules kernel_modules: make -C /lib/modules/$(KVERS)/build M=$(CURDIR) modules # @echo $(KVERS) clean: make -C /lib/modules/$(KVERS)/build M=$(CURDIR) clean
不设置时候使用默认的
root@lin-virtual-machine:/home/lin/hi# insmod ./hi.ko root@lin-virtual-machine:/home/lin/hi# cat /var/log/syslog | grep Hi ... Jul 25 15:11:38 lin-virtual-machine kernel: [ 203.238178] Hi enter Usr ...
使用设置时候
root@lin-virtual-machine:/home/lin/hi# insmod hi.ko p_name='God'
加载模块后,都会在/sys/modules下生成一个模块的文件夹,文件夹下会有一个parameters文件夹,
里面包含的就是以参数名命名的文件节点,里面保存的就是我们设置的值,例如在p_name中
root@lin-virtual-machine:/home/lin/hi# cat /sys/module/hi/parameters/p_name
God
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- linux下date用法(Linux date命令的使用)
- pyqt教程之一(pyqt远程批量执行Linux命令程序的方法)
- 怎么样查找linux的ssl证书(护卫神主机大师Linux添加绑定ssl证书图文教程)
- ubuntu20.04安装启动问题(安装ubuntu18.04报:failed to load ldlinux.c32的问题及解决步骤)
- Linux 下如何检查内存使用率(Linux 下如何检查内存使用率)
- linuxsamba怎么连接(Linux Samba服务器超详细安装配置附问题解决)
- apache有几个配置文件linux系统(linux下使用Apache搭建文件服务器的步骤)
- python核心编程内容(顶级大神Linux,Python,Go,PHP之父谁是夜猫子?用Python揭秘!)
- python中列表操作五种常用方法(Python使用paramiko操作linux的方法讲解)
- 最新版dedecms安全策略(DedeCMS站点高级安全策略Linux篇)
- python中统计文本中单词数的代码(Linux上使用Python统计每天的键盘输入次数)
- Linux ls命令的使用(Linux ls命令的使用)
- linux输入命令ifconfig(Linux ifconfig 命令的使用)
- linux如何搭建ftp服务器(Linux下搭建ftp服务器)
- nginx 怎么搭建web服务器(Linux+Nginx+Php架设高性能WEB服务器)
- linux怎么退出括号模式(Linux使用stty显示修改终端行设置)
- 越南旅游攻略(越南旅游攻略自由行)
- 成都旅游攻略(成都旅游攻略自由行最佳线路)
- 给儿童吃什么最好(给儿童吃什么最好消化)
- 杭州旅游攻略()
- 云南旅游攻略(云南旅游攻略5天攻略)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
热门推荐
- 用docker搭建在线开发环境(Docker环境搭建的简单方法)
- docker配置文件详解(Docker中搭建FastDFS文件系统多图教程)
- python函数参数讲解(Python高级特性与几种函数的讲解)
- linux系统怎么跟阿里云服务器连接(云服务器中三种常用的Linux系统镜像)
- python 微信二维码接口(python实现微信防撤回神器)
- js实现string.format 字符串占位符
- dedecsm模板中首页如何实现分页的三种方法比较分析(dedecsm模板中首页如何实现分页的三种方法比较分析)
- jquery如何实现倒计时
- python简单代码画图(python+pyqt5实现图片批量缩放工具)
- C#中is、as的区别
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9