首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译自定义的树内模块

编译自定义的树内模块
EN

Ask Ubuntu用户
提问于 2017-11-13 12:50:44
回答 1查看 1.8K关注 0票数 1

我想重新编译其中一个wifi模块,即驱动程序/net/wireless/realtek/rtl8xxxu/。我用的是ubuntu 16.04.3。

我的内核版本:

Linux fisk 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

我在linux - headers 4.10.0-38-泛型以及/usr/src/linux- source -4.10.0中的linux源代码中有必要的头。

如果我确实将SUBDIRS=drivers/net/wireless/realtek/rtl8xxxu/,设置为-j8,则可以在/usr/src/linux-source-4.10.0中很好地构建模块,但是版本魔术与内核不匹配,因此无法加载模块:

modinfo drivers/net/wireless/realtek/rtl8xxxu//rtl8xxxu.ko | grep vermagic vermagic: 4.10.17 SMP mod_unload

因此,当加载时,我进入了dmesg:

代码语言:javascript
复制
rtl8xxxu: version magic '4.10.17 SMP mod_unload ' should be '4.10.0-38-generic SMP mod_unload '

那么,我的问题是,构建模块并能够在内核上加载它的正确方法是什么?

EN

回答 1

Ask Ubuntu用户

发布于 2017-11-13 18:07:51

所以最终我回答了我的问题。我需要执行的命令是:

代码语言:javascript
复制
make -C /lib/modules/`uname -r`/build M=/home/foo/projects/kernel/linux-hwe-4.10.0/drivers/net/wireless/realtek/rtl8xxxu/

之后,modinfo将显示正确的内容,然后可以插入模块:

代码语言:javascript
复制
modinfo /home/foor/projects/kernel/linux-hwe-4.10.0/drivers/net/wireless/realtek/rtl8xxxu//rtl8xxxu.ko | grep vermagic
vermagic:       4.10.0-38-generic SMP mod_unload 
票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/976011

复制
相关文章

相似问题

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