设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
内核与驱动开发
›
如何单独编译内核的某一个模块呀?
返回列表
查看:
1598
|
回复:
5
如何单独编译内核的某一个模块呀?
[复制链接]
jiandaoxu
jiandaoxu
当前离线
积分
302
IP卡
狗仔卡
发表于 2005-11-6 09:53:48
|
显示全部楼层
|
阅读模式
我的操作系统是RHAS4,默认时没有把NTFS模块编译进内核,而我又想使用这个模块,但不想把内核整个的编译一遍,同时出于学习的目的,我也不想采用安装RPM包的方法。
所以想请教大家:如何单独编译内核的某一个模块?之后用insmod命令动态的加载这个模块,从而能让我挂载WINDOWS下的NTFS文件系统。请说的步骤详细些好么?
谢谢回复!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
daemeon
daemeon
当前离线
积分
300
IP卡
狗仔卡
发表于 2005-11-6 17:15:00
|
显示全部楼层
1. 将fs/ntfs从内核源码中拷贝到一个目录。 修改其中的Makefile, 将“obj-$(CONFIG_NTFS_FS) += ntfs.o”改为"obj-m += ntfs.o“
2. make -C <KDIR> SUBDIRS=$PWD modules (其中<KDIR>是内核源码所在的路径)
3. 将生成的ntfs.ko 拷贝到/lib/modules/`uname -r`/kernel/fs/ntfs下
4. depmod
回复
支持
反对
使用道具
举报
显身卡
xep007
xep007
当前离线
积分
1874
IP卡
狗仔卡
发表于 2005-11-6 17:35:25
|
显示全部楼层
好办法。存档!
回复
支持
反对
使用道具
举报
显身卡
crquan
crquan
当前离线
积分
284
IP卡
狗仔卡
发表于 2005-11-7 13:50:20
|
显示全部楼层
其实有更简单的办法,
因为2.6内核的编译系统(指Makefile)已经做得很先进了,只需用
$ make fs/ntfs/
但可递归编译 fs/ntfs 目录下所有文件,同样
$ make fs/
则递归编译所有关于文件系统的东东。
回复
支持
反对
使用道具
举报
显身卡
jiandaoxu
jiandaoxu
当前离线
积分
302
IP卡
狗仔卡
楼主
|
发表于 2005-11-8 08:34:23
|
显示全部楼层
两种方法我都试过了,但是没有ntfs.ko文件只有ntfs.o文件,我把这个赋值到/lib/modules/`uname -r`/kernel/fs/ntfs,载入时说“insmod: error inserting '/lib/modules/2.6.9-5.EL/kernel/fs/ntfs/ntfs.o': -1 Invalid module format”
这是什么原因?还请大家指点以下!
回复
支持
反对
使用道具
举报
显身卡
crquan
crquan
当前离线
积分
284
IP卡
狗仔卡
发表于 2005-11-8 13:02:46
|
显示全部楼层
我又试过了,原来 make 子目录方式需写上最后一个/,
如 make fs/ntfs 则不成功,需写为 make fs/ntfs/,在缺省的 make help 里可查到,
但此时还不会生成 ko 文件,
可以如下:
make SUBDIRS=fs/ntfs
于是 fs/ntfs 目录下有了一个 ntfs.ko !
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表