Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2109842
  • 博文数量: 195
  • 博客积分: 4378
  • 博客等级: 上校
  • 技术积分: 4046
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-09 11:37
个人简介

白天和黑夜只交替没交换无法想像对方的世界

文章分类

全部博文(195)

文章存档

2014年(3)

2013年(20)

2012年(18)

2011年(107)

2010年(17)

2009年(5)

2008年(20)

2007年(5)

分类: LINUX

2008-07-31 00:24:09


传统编译内核模块的方法繁琐而费时,本文将告诉我们一种快速编译所需要内核模块的新方法。 当你安装完Linux系统,并且已经启动,恭喜你!如果你的硬盘上还安装了WinNT/2000系统, 你试图去访问另一个NTFS分区时却遇到了麻烦。因为你所用的Linux系统没有已编译的支持N TFS文件系统的模块。怎么办?也许你会运行make menuconfig,重新定制你需要的所有模块 ,接着运行make modeules;make modeules_install来安装。这样不仅繁琐、费时,还可能会 出现问题。或者因为编译内核对你有些棘手,太多的选择让你手足无措,你根本没有太好的 方法。本文给你提供一个简单的方法,你可以轻松地去编译你所需要的支持NTFS系统的模块 ntfs.ko)注意:ntfs.ko,不是ntfs.o.

从一个新安装的系统开始,我们一起去编译一个自己想要的支持NTFS文件系统模块。

前提:从此网站 ,下载 同自己内核版本相同的内核包。我的系统内核版本为:2.6.18-53.el5,大家可以通过#uname -r查看一下自己的内核版本。然后,解压到/usr/src目录下,下面开始我们的NTFS之旅。

1.找到编译内核所需要的.config文件。

/usr/src/linux-2.6.18-53.el5/configs目录下有若干编译内核所用的配置。选择我们想要的配置,将它 复制到/usr/src/linux-2.6.18-53.el5目录下,改名为.config

#cp /usr/src/linux-2.6.18-53.el5/configs/kernel—2.6.18-53.el5-i686.config /usr/src/linux/.config

2.修改.config文件,去掉不用的模块,加上自己想要的模块。

打开.config,有许多XXXX=m的项,这些都是要被编译为模块的项,因为我们不希望编译这些 模块,所以要把XXXX=m的项统统去掉。然后再加上我们想要的块,#CONFIG_NTFS_FS i

s not set 改为CONFIG_NTFS_FS=m ,这里可以用vi编辑器,:1,$s/=m/ is not set/g来实现替换。

3.编译NTFS模块。

/usr/src/linux-2.6.18-53.el5目录下运行命令make modulesmake menuconfig来编译我们想要的NTFS模块。

4.安装NTFS模块。

编译后得到的ntfs.ko/usr/src/linux-2.6.18-53.el5/fs/ntfs目录下,手动将它复制到正确的目录下。

cp /usr/src/linux-2.6.18-53.el5/fs/ntfs/ntfs.ko /lib/modules/2.6.18-53.el5/kernel/fs/ntfs(如果没有ntfs文件夹的话,则要mkdir一个了)

注意:千万不能运行命令make modules_install,否则将带来严重的后果,它会删除你系统

中的所有模块,只安装刚刚编译的模块(ntfs.ko)。

5.载入NTFS模块.

运行命令depmod;modprobe ntfs 试着访问你的NTFS文件系统吧,祝你成功! (如果你的系统里不太好用的话,就用insmod /lib/modules/2.6.18-53.el5/kernel/fs/ntfs/ntfs.ko)

有些模块依赖于你的系统内核,所以不适用本文所提供的方法。还有些模块和其他模块有依

赖关系。如果你不熟悉这些依赖关系的话,建议你在第二步去掉不用的模块选项后,通过ma

ke menuconfig来加上自己想要的模块。

我用此方法用了两分钟编译了支持NTFS文件系统的模块,AND YOU?

阅读(4372) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~