ubuntu插入模块测试

一、环境

ubuntu 18.04
内核版本:5.4.0-150-generic

二、步骤

先看一下ubuntu用的哪个内核版本:
在这里插入图片描述
到内核目录下:
在这里插入图片描述
随便建个文件夹存一下编译完的ko模块:
在这里插入图片描述
写测试代码:

在这里插入图片描述
写makefile:
在这里插入图片描述
编译:
在这里插入图片描述
插入模块,测试:
在这里插入图片描述
在这里插入图片描述
第一次加载的时候报警告了,污染了内核,有两条信息。第一条报警信息:

my_kotest: loading out-of-tree module taints kernel.

可能的原因:

  • 模块没有声明GPL协议(以声明)
  • 当前linux内核版本和编译模块使用的内核版本不一致(不存在,Makefile的路径就是ubuntu内核版本路径)
  • 使用内核源代码未包含的树外模块,应该是这个问题。

第二条报警信息:

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

是验签不通过,因为内核开启了签名验证:
在这里插入图片描述
但是没开启强制验证,否则直接加载不了。不过问题不大,只是为了测试用的,反正能正常加载。

这样没板子的时候就很方便了,直接在ubuntu上测一下小函数的调用,比如想学习一下用户open()如何调用到设备open(),写个小驱动再写个小应用,然后看看函数栈就行了,后续补充上这个笔记。唯一的不足就是x86和arm有些架构相关的实现可能不一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值