问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求助求助 red hat linux操作系统实现electron模块加载的指令

发布网友 发布时间:2022-04-14 04:10

我来回答

2个回答

热心网友 时间:2022-04-14 05:40

内核模块的程序结构

模块加载函数(必须)
当通过insmod或modprobe命令加载内核模块时,模块会自动被内核执行,完成模块的相关初始化工作。
一般以 __init标识声名函数,并且用“mole_init(初始化函数名)”来初始化

模块卸载函数

模块许可证声名

模块参数

模块导出符号

模块作者等信息声名

独立编译Makefile
#makefile for kernel mole
MODNAME=helloworld
ifeq ($(PLATFORM), PC)
KERNELDIR?=/lib/moles/$(shell uname -r)/build
else
KERNELDIR?=你的linux源码编译路径
endif
obj-m := $(MODNAME).o
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) moles
clean:
@rm -rf *.o *.ko *.mod.* *.tmp* mole* Mole*
123456789101112131415
注意ifeq 后面要有个空格
模块测试源码
#include <linux/init.h>
#include <linux/mole.h>
static int __init helloworld_init(void)
{
printk(KERN_DEBUG "My first hello world kernel mole!\n");
return 0;
}
static void __exit helloworld_exit(void)
{
printk(KERN_DEBUG "Bye,cruel world !\n");
}
mole_init(helloworld_init);
mole_exit(helloworld_exit);
1234567891011121314151617
编译
初始化变量 export PLATFORM=PC
编译: make
执行make后得到对应的.ko文件
模块加载及卸载
insmod helloworld.ko
rmmod helloworld
执行加载命令时我们希望打印 My first hello world kernel mole!
卸载时我们希望能打印 Bye,cruel world !
然而实际上什么都没打印,lsmod查看helloworld.ko有成功加载
printk输出
在Linux中,内核打印语句printk()会将内核信息输出到内核信息缓冲区中,内核缓冲区是在
kernel/printk.c中通过如下语句静态定义的:
static char __log_buf[__LOG_BUF_LEN] __aligned(LOG_ALIGN);
1
内核信息缓冲区是一个环形缓冲区(Ring Buffer),因此,如果塞入的消息过多,则就会将之前的消
息冲刷掉。
printk()定义了8个消息级别,分为级别0~7,级别越低(数值越大),消息越不重要,第0级是紧急
事件级,第7级是调试级
通过/proc/sys/kernel/printk文件可以调节printk()的输出等级,该文件有4个数字值:
控制台(一般是串口)日志级别:当前的打印级别,优先级高于该值的消息将被打印至控制台。
默认的消息日志级别:将用该优先级来打印没有优先级前缀的消息,也就是在直接写printk(“xxx”)而不带打印级别的情况下,会使用该打印级别。
最低的控制台日志级别:控制台日志级别可被设置的最小值(一般都是1)。
默认的控制台日志级别:控制台日志级别的默认值。
用户可以通过dmesg命令查看内核打印缓冲区,而如果使用sudo dmesg -c命令,则不仅会显示__log_buf,还会清除该缓冲区的内容。
————————————————
版权声明:本文为CSDN博主「linyplhm」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43777852/java/article/details/101852495
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
哪些狗好养 眉山到重庆顺丰快递多少 从四川寄信到重庆要多少天啊 四川眉山到重庆万州,哪种快递最便宜 四川眉山市洪雅县寄信到重庆市垫江县大概多少天能到? 关于韵达快递的 优速快递成都眉山到重庆需要多久的时间? 用烤箱烤红薯(用烤箱烤红薯的温度和时间) 海鲜酱油能完全替代生抽在烹饪中使用吗? ...钻戒,但是我的预算不多,想知道晶豆子的莫桑石戒指大家觉得怎么样... EXCEL中我自定义一个工作簿里的第一页为“第10页”的话,后面页码怎么也是第10页呢,如何变成“第11页” 在电子表格里1-10页不要页码,从11页码开始,如何插入 multiple ring buffer GIS多环缓冲区不能成功怎么办? excel页码不从0开始 disruptor ringbuffer 缓冲区大小的单位是字节吗 萧的g和f是什么意思?有什么不同,哪个好,萧要怎么吹好? 蝴蝶效应2和3好看吗 《蝴蝶效应3》是不是恐怖片? 蝴蝶效应3奶油时间 蝴蝶效应有几部啊 ?怎么看上说有3部啊 ?那部最好看? 蝴蝶效应3恐怖吗?我看1的时候就觉得好恐怖好几天想到那些画面就觉得可怕 蝴蝶效应3恐怖吗?谁看过啊? 蝴蝶效应3里面的大胸女是谁 蝴蝶效应3女儿 微笑 蝴蝶效应3删减片段 蝴蝶效应有几部? 蝴蝶效应3 到底是怎么回事? 求蝴蝶效应三部 高清的种子如题 谢谢了 求蝴蝶效应3剧情分析 求 蝴蝶效应3:启示 百度云免费在线观看资源 Excel 怎样快速清除复制所得列中的隐形空格 晚上玩着手机,头突然很晕,还呕吐,还很难受,持续了一个多小时。之前也有个一次头晕,但没有昨晚的严重 玩手机玩久了会不会出现恶心头晕的症状? 为什么看手机看久了头会晕,想吐 kfifo和ring buffer的区别 属牛,女85年农厉九月初六生,命好吗 1985年属牛牛 女的 命运 1985年的阴历11月26早上2点03 出生人的财运婚姻如何 我是女的,1985年农历2月18出生,属牛的,阳历4月7号,命运怎么样啊,哪位大师会看呀 85年正月19下午三点半出生的属牛女性命好不好? 1985年属牛11月|8女性的命运是什么 海南专升本难嘛?海南专升本难?统招的,会计专业 统招专升本考试很难过吗(会计专业)? 专升本:江西财经大学的会计专业难考吗 我是学会计专业的,专升本难吗?请参加专升本的人回答问题 专升本难不难的,我学的会计专业 学会计专业,专升本难吗? 专升本会计专业难考么 会计专业专升本有多难 会计专升本难吗 现在大三,想要专升本,会计专业,请问难吗