您尚未登录。

楼主 # 2021-08-13 21:32:57

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 188
积分: 143.5

编译内核驱动,生成KO文件

简单的内核驱动

helloworld.c
-------------------------------------------------------------------------------------------------

#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
static int hello_init(void)
{
	printk(KERN_INFO " Hello World enter\n");//打印级别+打印信息
	return 0;
}
static void hello_exit(void)
{
	printk(KERN_INFO " Hello World exit\n");//打印级别+打印信息
}
//安装模块做什么
module_init(hello_init);
//卸载模块做什么
module_exit(hello_exit);
//模块信息
MODULE_AUTHOR("ephraim");
MODULE_DESCRIPTION("A simple Hello World Module");
MODULE_ALIAS("a simplest module");

-------------------------------------------------------------------------------------------------


Makefile
-------------------------------------------------------------------------------------------------

ifneq ($(KERNELRELEASE),)
#kbuild syntax. dependency relationshsip of files and target modules are listed here.
obj-m := helloworld.o
else
PWD:= $(shell pwd)

KDIR := /home/lzq/desktop/linux-5.10
all:
        $(MAKE) -C $(KDIR) M=$(PWD) modules
clean:
        rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions
endif

-------------------------------------------------------------------------------------------------
make一下生成helloworld.ko
结果
w8.png

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn