我的环境:
redhat9 kernel用up2date升级到了2.4.20-20
步骤:
执行下面的命令清除以前的设置,否则加载我们编译好的模块的时候会提示:
depmod: *** Unresolved symbols in /lib/modules/2.4.20-20.9/kernel/fs/ntfs/ntfs.o
这样的错误
cd /usr/src/linux-2.4.20-20.9;make mrproper
redhat在安装完后会在/boot下存放一份当前运行kernel的配置文件,例如我的是 config-2.4.20-20.9,将这个文件复制到/usr/src/linux-2.4当然你必须安装kernel的源代码才可以编译
cp config-2.4.20-20.9 /usr/src/linux-2.4/.config
然后修改/usr/src/linux-2.4目录下的Makefile找到第四行:
EXTRAVERSION= -20.9custom
改为
EXTRAVERSION= -20.9
保存退出
然后修改/usr/src/linux-2.4/.config找到
CONFIG_VXFS_FS=m
在下面添加
CONFIG_NTFS_FS=m
CONFIG_NTFS_RW=y (支持对ntfs的写操作,仅对ntfs4有效,windows2000的ntfs5无效)
保存退出
然后在/usr/src/linux-2.4/目录下执行make dep
cd /usr/src/linux-2.4/
make dep
make modules SUBDIRS=fs/ntfs
编译完后将编译出来的驱动模块复制到kernle的模块目录:
mkdir /lib/modules/2.4.20-20.9/kernel/fs/ntfs
cp fs/ntfs/ntfs.o /lib/modules/2.4.20-20.9/kernel/fs/ntfs
depmod -a
然后如果没有报错的话执行
modprobe ntfs
就可以加载ntfs的模块了