![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内核模块
编程小耗子
本人比较喜欢高性能服务器开发。
在校曾获奖:
中国大学生计算机设计大赛国赛三等奖;
龙鼎杯河北二等奖;
蓝桥杯省赛三等奖;
CCPC河北省赛三等奖;
展开
-
字符设备常用申请方法
文章链接:https://codemouse.online/archives/1646846354安装到设备上insmod xxx.kormmod xxx.komodinfo hello.ko lsmod 申请static int __init globalmem_init(void){ int ret; dev_t devno = MKDEV(globalmem_major, 0); //分配cdev结构体,如果major是0,自动分配一个major原创 2020-06-15 16:20:41 · 87 阅读 · 0 评论 -
openwrt的ipk包开发
开发流程1. 在packet下建立相关的自定义的包 mkdir src touch Makefile2. 拷贝一个makefile模板,进行修改$(eval $(call BuildPackage,$(PKG_NAME))) 当前编译的包需要在主机内使用3. 进行源码文件中的源码设计与Makefile设计4. 进行make menuconfig 的配...原创 2019-12-28 21:49:24 · 901 阅读 · 0 评论 -
Openwrt 系统结构
Openwrt 系统宏观结构 openwrt 目录结构 ### 系统自带目录 config 存着系统的配置文件 .in--->.config--->编译脚本解析 CONFIG_HAVE_DOT_CONFIG=y 作用: 控制整个编译过程,是整个系统的配置文件,默认配置的控制脚本,如果需要增加新的编译选项,需要按照config.in文件格式进行设计 ...原创 2019-12-28 21:30:08 · 1095 阅读 · 0 评论 -
LKM的Makefile编写,适用于ubuntu
KVERS = $(shell uname -r)# Kernel modulesobj-m += hello.o# Specify flags for the module compilation.#EXTRA_CFLAGS=-g -O0build: kernel_moduleskernel_modules: make -C /lib/modules/$(KV...原创 2019-12-28 21:26:18 · 283 阅读 · 0 评论 -
LKM模块参数的传递
模块参数的传递module_param(book_num, int,S_IRUGO);第一个参数是参数的name,自己定义第二个参数是变量的类型,比如int,long,char,float等第三个参数是权限,类似于文件的权限S_IRUGO=(S_IRUSR|S_IRGRP|S_IROTH)S_IRUSR:用户读 00400S_IRGRP:用户组读 00040...原创 2019-12-28 21:24:24 · 254 阅读 · 0 评论