麒麟系统编译内核驱动

此处以编译usbmon驱动为例。

1、确认目标系统环境及内核信息

编译环境系统版本:Kylin-4.0.2-desktop,此版本系统内核为4.4.131,因此下载4.4.131版本内核源码编译。

2、获取内核源码

内核源码版本:4.4.131.tar.gz

3、解压内核源码执行编译

# tar -xvf  linux-4.4.131.tar.gz

# cd linux-4.4.131/drivers/usb/mon

# vim Makefile

#

# Makefile for USB monitor

#

usbmon-y := mon_main.o mon_stat.o mon_text.o mon_bin.o

obj-$(CONFIG_USB_MON)   += usbmon.o

查看Makefile文件中是否有多余的选项,此处只有一个驱动,因此不需要删除多余的选项,直接执行编译动作。

# make -C /lib/modules/$(uname -r)/build M=`pwd`

编译完成后可以看到当前目录多了很多以.o和.ko结尾的文件,这个usbmon.ko就是我们需要的文件,测试一下插入该驱动模块

#insmod usbmon.ko

#lsmod | grep usbmon

如果显示出结果则说明没问题。

注意:编译完成如果insmod后lsmod未查询到结果,则可通过dmesg查看之前执行操作的结果,可能会遇到提示校验失败的,dmesg日志如下

module verification failed: signature and/or required key missing - tainting kernel。

此时可通过修改Makefile文件重新编译解决问题。修改后Makefile文件内容如下:

#

# Makefile for USB monitor

#

#CONFIG_MODULE_SIG = n

usbmon-y := mon_main.o mon_stat.o mon_text.o mon_bin.o

obj-$(CONFIG_USB_MON)   += usbmon.o

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值