自定义Linux 内核驱动模块的编译

最近在尝试在Xen虚拟机中添加自定义设备,于是需要为设备编写驱动并将其加载进内核。

1、编写Linux内核驱动模块,即transback.c文件

module_init(hello_init);

module_exit(hello_exit);

//module_init()和module_exit()是驱动模块必须具备的两个函数,指明驱动运行时的入口和出口;

MODULE_LICENSE(“GPL”)

MODULE_DESCRIPTION("A simple Hello World Module");

MODULE_ALIAS("a simplest module");

以上三个文件可有可无,介绍了驱动模块的语法规则和内容;

2、编写MakeFile文件(关于MakeFile的编写规则可以参考博客:http://blog.csdn.net/liang13664759/article/details/1771246 

KERNEL_DIR = /lib/modules/$(shell uname -r)/build

Obj-m:=transback.o

all:

$(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules

Clean:

$(MAKE) -C $(KERNEL_DIR) M=$(PWD) clean

3、在当前目录下执行make指令进行编译

4、编译成功后,会在当前目录下生成transback.ko文件,使用insmod指令将模块加载进内核。

# insmod transback.ko //加载transback.ko模块

# lsmod |egrep trans//查看当前加载模块 lsmod会列出内核当前可加载的所有模块

# rmmod trans//卸载模块,注意没有.ko

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值