【酷游九州】浅谈 Linux 核心模组运作原理(二)

本文介绍了如何在Linux系统中构建核心模组,包括使用`make`命令编译hello.ko模块,以及如何通过`sudoinsmod`挂载并查看dmesg中的消息。还提到编译器版本不一致时的处理方法。
摘要由CSDN通过智能技术生成

由【酷游九州】вт989点сс 整理。

如何建构 Linux 的核心模组

编译核心模组的命令:

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

成功后会产生许多档案,这边我们会用到的只有hello.ko

值得注意的是你可能在编译过程结果会看到下面的叙述:

warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
  You are using:           gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0

表示你的编译器与kernel开发套件所用的编译器版本不一致,建议安装对应的版本避免后续开发出问题。

挂载核心模组

产生 hello.ko 之后,可将其挂载:

$ sudo insmod hello.ko

dmesg 显示核心讯息

[ 3824.676183] Hello, world
[ 3921.232076] Goodbye, cruel world

以上为第一个 Linux 核心模组的撰写、挂载及卸载。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值