[已解决]问一个内核版本的问题

发布于 2022-10-15 09:30:44 字数 280 浏览 40 评论 0

本帖最后由 prc 于 2011-04-18 10:36 编辑

# uname -r
2.6.25-14.fc9.i686
对应的kernel源码包是linux-2.6.25.14吗?

我下载了linux-2.6.25.14的源码包,并用它编译了一个简单的ko文件,但是insmod的时候提示说:
insmod: error inserting './hello.ko': -1 Invalid module format

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

只为一人 2022-10-22 09:30:44

不需要用自己下载的源码包吧  直接用自己电脑上的就可以编译了吧

一个简单的Makefile

  1. obj-m := test.o
  2. KERNELDIR ?= /lib/modules/$(shell uname -r)/build
  3. PWD := $(shell pwd)
  4. default:
  5.         $(MAKE) -C ${KERNELDIR} M=$(PWD) modules
  6.         insmod test.ko
  7. clean:
  8.         @rm -f *.mod.* Module.* *.ko *.o *.order

复制代码

长途伴 2022-10-22 09:30:44

这个对老版本的kernel能用
好像是从某一个版本开始,linux的发行版都不自带源码了

勿挽旧人 2022-10-22 09:30:44

yum install DKMS

层林尽染 2022-10-22 09:30:44

回复 3# prc

    我的是ubuntu10.04 够新吧    虽然不自带源码,但是那个目录里面还是有相应的头文件的

诗酒趁年少 2022-10-22 09:30:44

回复 1# prc
编译km 的内核版本要和当前系统一样。而且这个也只是必要条件。

南风几经秋 2022-10-22 09:30:44

回复 6# Godbach

兄台能否说的再详细一点?

你穿错了嫁妆 2022-10-22 09:30:44

回复 5# amarant

在我现在的系统上不行
链接指向的目标不存在

勿挽旧人 2022-10-22 09:30:44

建议直接下载标准内核源码,编译新的内核和内核模块。
既然都搞内核开发了,没完整编译过内核,说不过去

沉鱼一梦 2022-10-22 09:30:44

回复 8# prc

    你去那附近找找看 可能换了一个名字

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文