首页 > 其他分享 >带paramter的驱动(book.ko)

带paramter的驱动(book.ko)

时间:2023-06-06 21:35:30浏览次数:31  
标签:num name modules ko module baohua book paramter

1,代码

 1 /*
 2  * a simple kernel module supporting parameters
 3  *
 4  * Copyright (C) 2014 Barry Song  ([email protected])
 5  *
 6  * Licensed under GPLv2 or later.
 7  */
 8 
 9 #include <linux/init.h>
10 #include <linux/module.h>
11 
12 static char *book_name = "dissecting Linux Device Driver";
13 module_param(book_name, charp, S_IRUGO);
14 
15 static int book_num = 4000;
16 module_param(book_num, int, S_IRUGO);
17 
18 static int __init book_init(void)
19 {
20     printk(KERN_INFO "book name:%s\n", book_name);
21     printk(KERN_INFO "book num:%d\n", book_num);
22     return 0;
23 }
24 module_init(book_init);
25 
26 static void __exit book_exit(void)
27 {
28     printk(KERN_INFO "book module exit\n ");
29 }
30 module_exit(book_exit);
31 
32 MODULE_AUTHOR("Barry Song <[email protected]>");
33 MODULE_LICENSE("GPL v2");
34 MODULE_DESCRIPTION("A simple Module for testing module params");
35 MODULE_VERSION("V1.0");
 module_param 用来定义需要传递的参数,这里的参数都是有默认值的

 

2,makefile

 1 KVERS = $(shell uname -r)
 2 
 3 # Kernel modules
 4 obj-m += book.o
 5 
 6 # Specify flags for the module compilation.
 7 #EXTRA_CFLAGS=-g -O0
 8 
 9 build: kernel_modules
10 
11 kernel_modules:
12     make -C /lib/modules/$(KVERS)/build M=$(CURDIR) modules
13 
14 clean:
15     make -C /lib/modules/$(KVERS)/build M=$(CURDIR) clean

和hello驱动的makefile类似

 

3,安装驱动和查看参数

3.1 不带参数模式: insmod ./book.ko 

查看参数如下所示:

baohua@baohua-VirtualBox:/sys/module/book/parameters$ cat book_name 
dissecting Linux Device Driver
baohua@baohua-VirtualBox:/sys/module/book/parameters$ cat book_num
4000

 

 

3.2 带参数模式: insmod ./book.ko book_name='test123' book_num=500 

参数如下所示:

baohua@baohua-VirtualBox:/sys/module/book/parameters$ cat book_name 
test123
baohua@baohua-VirtualBox:/sys/module/book/parameters$ cat book_num 
500

 

 

5,卸载驱动

 rmmod book 

 

标签:num,name,modules,ko,module,baohua,book,paramter
From: https://www.cnblogs.com/zhiminyu/p/17461768.html

相关文章

  • 基于《PythonCookbook》的学习(3)——利用 Shell 通配符做字符串匹配
    fnmatch模块提供了fnmatch()和fnmatchcase()两个函数可以使用通配符模式对文本进行匹配fnmatch所完成的匹配操作有点介乎于加单的字符串方法和全功能的正则表达式之间。感觉蛮鸡肋的…:(......
  • 基于《PythonCookbook》的学习(1)——针对任意多的分隔符拆分字符串
    问题:需要将字符串拆分为不同的字段,但是分隔符(以及分隔符之间的空格)在整个字符串中并不一致re.split()方法比str.split()方法更为灵活,可以为分隔符指定多个模式re.split()方法返回一个list目标字符串:In[15]:lineOut[15]:'asdasdsadas,,,,sdfdsfi///ds...ds/essd//s......
  • 网关服务Kong、Konga搭建记录
    安装使用docker-compose安装是最方便的在/opt/目录下创建kong文件夹,然后创建一个docker-compose.yml文件并编辑cd/optmkdirkongcdkongvidocker-compose.yml在docker-compose.yml添加如下配置(20220528亲测可用)version:'3'services:kong-database:imag......
  • ansible playbook批量修改对应ip主机名
    资产清单:[demo1]172.22.32.25hostname=hostname1172.22.32.26hostname=hostname2172.22.32.27hostname=hostname3172.22.32.28hostname=hostname4172.22.32.29hostname=hostname5172.22.32.30hostname=hostname6playbook ----hosts:demo1tasks:-n......
  • 云原生之使用Docker部署Booksonic有声读物平台
    (云原生之使用Docker部署Booksonic有声读物平台)一、Booksonic介绍Booksonic是一个可以随时随地访问您拥有的有声读物的平台。二、检查docker状态[root@node~]#systemctlstatusdocker●docker.service-DockerApplicationContainerEngineLoaded:loaded(/usr/......
  • #聊一聊WuKong编辑器#
    对于文档编辑器这个平民工具,你或许有很多熟知的编辑器菜单或操作,但是WuKong编辑器绝对不是平凡之辈,它代表了另一种思维方式和编辑器风格,一款拥有“智慧”的编辑器。WuKong编辑器在保留传统文本编辑器的基础上,增加了很多新奇特别的功能,例如模板多样化、语法高亮显示、富文本编辑等,可......
  • From Java To Kotlin 2:Kotlin 类型系统与泛型
    上期主要分享了FromJavaToKotlin1:空安全、扩展、函数、Lambda。这是FromJava toKotlin 第二期。FromJava toKotlin 关键在于思维的转变。表达式思维Kotlin中大部分语句是表达式。表达式思维是一种编程思维。编程思维是一种非常抽象的概念,很多时候是只......
  • kaggle notebook 处理临时脚本的方法
    #=写入项目临时代码aaa='''#!/usr/bin/envpython#coding=utf-8#Copyright2023TheHuggingFaceInc.team.Allrightsreserved.##LicensedundertheApacheLicense,Version2.0(the"License");#youmaynotusethisfileexceptincom......
  • 【GiraKoo】adb.exe频繁崩溃,与Android设备连接不稳定
    【解决方案】adb.exe频繁崩溃,与Android设备连接不稳定在使用AndroidStudio时,发现adb.exe连接非常不稳定。通过EveryThing工具搜索关键字adb.exe。发现了大量的AppCrash_adb文件夹,adb.exe.xxx.dmp文件等情况。初步判断,应当是adb在运行时,程序频繁崩溃。遇到此类问题,尝试了以下几......
  • python 列表 tips stackOverflow数据统计
    PYTHON笔记一Noteone**python中的集合类,有列表,元组,字典和集合四种。定义方式分别为:List=[]Turple=()Dict={key:value}Set={}作为JAVA程序员看来,python中的集合与JAVA中的集合类其实很相似,用着肯定是python更好用,个人认为优点如下:1.没有强定义类型。2.提供了很方便的......