Invaild Module Format linux中hello world 程序编写

最近正在学习linux驱动,一般接触一个新领域都是从Hello World 开始的。但是就是这样的一个简单的Hello World 程序却涉及到很多问题。

网上的教程以及一些书籍都会介绍你怎么去写程序,却一般不介绍环境的搭建,殊不知环境的搭建对于初学者而言很重要。要是身边没有高手帮你搭环境,语法可能不会击垮你,但是环境就会让你不知所错。下面我介绍一下搭环境最简单的方法。

驱动的核心概念是模块,模块需要加载到内核中。通常书籍都是这样告诉我们的,我们的linux操作系统的内核是发行版本,都是经过厂商修改过的,容易出现问题。然后就是i让你去kernel.org中下载内核。然后进行编译升级。但是我问过驱动人员才明白一般不会出现问题。并且我升级后,系统和原来的是有差距的,也不好用,为什么不用原来的系统内核呢?

一般书籍都没告诉,但是我用的系统的内核真的很好用。在写Makefile时需要指明内核的路径,在/usr/var里面就有系统的内核源码。用uname -r 查看系统的系统的内核源码,然后选择就可以搞定。

当然也还有一种简单的方法就是 KERNELDIR ?= /lib/modules/$(shell uname -r)/build

在装载的时候通常还会遇到 Invaild  Module Format  这也是由于内核与系统内核不一致所导致的。 建议:

1.按照上述办法,就不会出现这个问题。

2.不怕系统难看,不好用,下载一个新的内核升安装,也不会出现这个问题,当然路径要相应的改为你下载的源码路径。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值