登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

ideality

@linux c 编程@

 
 
 

日志

 
 
 
 

单独编译某个内核模块  

2013-01-24 12:14:00|  分类: kernel |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

单独编译某个内核模块
编内核难免有的时候忘记了配置某个模块,导致该模块不可用,那是不是必须重新配置内核并重新编译呢,答案是否定的,完全可以单独编译某一个内核模块。 
我在使用最新的fuse-2.8.0-pre1时,发现其中已经没有fuse模块了,该项目的内核模块看来已经彻底移进内核源码中了,而我当前的内核在编译时并没有选中fuse模块,于是就产生了本文一开始的需求。

定位fuse模块内核代码:/root/linux-2.6.23/fs/fuse/*.c
查看其下的Makefile:
#
# Makefile for the FUSE filesystem.
#
obj-$(CONFIG_FUSE_FS) += fuse.o
fuse-objs := dev.o dir.o file.o inode.o control.o 
进行如下操作即可单独编译fuse模块:
[root@localhost ~]# make CONFIG_FUSE_FS=m -C /root/linux-2.6.23 M=/root/linux-2.6.23/fs/fuse modules 
然后手动将生成的fuse.ko拷贝到/lib/modules/2.6.23/kernel/fs/fuse/fuse.ko
运行depmod -a重新配置依赖关系,以后就可以通过modprobe fuse来加载fuse模块了。 
  
类似其他可编译成模块的内核代码都可以这样单独编译。

文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/2008827/137966.html

把源码放到内核源码树你认为合适的目录中,然后在哪个目录的Kconfig上添加该模块的配置项,并且修改该目录中的Makefile,

然后回到源码根目录,执行 make M=/your/module/dir modules 对你模块所在目录的所有文件重新编译。

  评论这张
 
阅读(1114)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018