首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译不同内核的内核模块

编译不同内核的内核模块
EN

Stack Overflow用户
提问于 2016-05-20 00:00:51
回答 2查看 1.2K关注 0票数 0

我使用的是一个嵌入式linux系统,它也没有内核源代码或头文件。此外,我不能简单地使用另一个内核。

但是,我获得了另一个内核版本的内核源代码,并且可以为该内核编译该模块。但是我不能在我的目标系统上加载这个模块,因为dmesg说“版本魔术”。

那么,我能以某种方式使模块引用另一个内核吗?关于内核版本的信息是从哪里读取的?

我的目标系统的内核版本是'3.18.11-tegra',内核源代码是3.18.19。

EN

回答 2

Stack Overflow用户

发布于 2016-06-22 18:42:29

当然,您的计划只有在该模块在两个内核版本上都能原封不动地工作时才能成功,这种情况经常发生;然后您可以在3.18.19内核源代码的顶级Makefile中植入SUBLEVEL = 11

票数 0
EN

Stack Overflow用户

发布于 2016-06-23 04:50:45

前段时间在不同的系统上做了同样的事情,你需要使用他们的配置下载并编译3.18.11内核。转到https://www.kernel.org/pub/linux/kernel/并下载3.18.11将内核解压到/usr/src/linux-3.18.11,cd到其中,然后复制当前配置

make mrproper zcat /proc/config.gz >.config make oldconfig make

编译内核后,需要在/usr/src下创建2个符号链接

ln -s linux-3.18.11 linux-3.18.11-tegra ln -s linux-3.18.11 linux

现在您应该能够使用以下命令编译您的模块:

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37328553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档