荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: georgehill (George Hill), 信区: Linux
标  题: [技巧]单独编译ntfs.o模块(转寄)
发信站: BBS 荔园晨风站 (Fri Jan 12 03:04:01 2001), 站内信件

【 以下文字转载自 georgehill 的信箱 】
【 原文由 georgehill.bbs@smth.org 所发表 】
发信人: ClearMind (锻炼+工作+学习+反省), 信区: Linux
标  题: [技巧]单独编译ntfs.o模块(转寄)
发信站: BBS 水木清华站 (Wed Jan 10 00:02:05 2001)

感觉很多人仅仅为了某个驱动,而重新编译整个内核,我个人认为是有些
不太明智的.当然了,同时还有其它目的的就另当别论了.不是抬杠.
下面是我曾经在pkubbs上发表的文章.不过一直到现在还都没有整理.
主要是因为当时在SMTH答应过这件事情的,发生了一些意外情况.呵呵
主要是这些天来看到找ntfs支持的人太多了,所以就放上来了.希望能够
有所帮助吧.
===
其实模块的编译本来分两种情况:单个文件的模块(如esssolo1.o<-esssolo1.c)
和多个文件的模块(如ntfs.o<-attr.c+dir.c+fs.c+inode.c+super.c+support.c
+sysctl.c+util.c),并且还有处理模块依赖性的问题。由于时间关系,这次
先把答应人家编译ntfs.o的办法抛出去,等有空再整理一次吧。我原来在SMTH
说过编译esssolo1.o的办法的。:) 为了应急,就把编译ntfs.o的草草写就的
Makefile.ntfs贴出来,以后有空再整理讲讲原理啦。嘻嘻...
=== >8 Makefile.ntfs 8<=====
# Makefile.ntfs for making the NTFS driver modified by ClearMind@SMTH
O_OBJS   = fs.o sysctl.o support.o util.o inode.o dir.o super.o attr.o
CFLAGS  = -V2.7.2.3 -D__KERNEL__ -I/usr/src/linux/include -Wall \
        -Wstrict-prototypes -O2 -fomit-frame-pointer  -pipe \
        -fno-strength-reduce -m386 -DCPU=386 -DMODULE -DMODVERSIONS \
        -include /usr/src/linux/include/linux/modversions.h   -c -o
EXTRA_CFLAGS = -DNTFS_IN_LINUX_KERNEL -DNTFS_VERSION=\"990411\"

all: ntfs.o $(O_OBJS)

ntfs.o: $(O_OBJS)
        ld -m elf_i386 -r -o ntfs.o $(O_OBJS)
fs.o:
        gcc $(EXTRA_CFLAGS) $(CFLAGS) fs.o fs.c
sysctl.o:
        gcc $(CFLAGS) sysctl.o sysctl.c
support.o:
        gcc $(CFLAGS) support.o support.c
util.o:
        gcc $(CFLAGS) util.o util.c
inode.o:
        gcc $(CFLAGS) inode.o inode.c
dir.o:
        gcc $(CFLAGS) dir.o dir.c
super.o:
        gcc $(CFLAGS) super.o super.c
attr.o:
        gcc $(CFLAGS) attr.o attr.c

=== >8 Makefile.ntfs 8<=====
将本Makefile.ntfs放到/usr/src/linux/fs/ntfs目录下面,然后make -f Makefile.ntfs
完毕之后就可以把生成的ntfs.o拷贝到/usr/modules/KNL_VERSION/fs/目录下面了。最后
别忘了给/lib/modules/2.2.1*/modules.dep文件里面加上以下这行字:
/lib/modules/KNL_VERSION/fs/ntfs.o:
这样以后就可以使用modprobe ntfs来直接加载模块了。这里的KNL_VERSION请务必使用
真实的版本号路径来代替,比如2.2.16-??(我记不住RH7.0的东东!若没有,为了验证
模块的有效性,可以insmod ntfs.o看看有甚么提示信息,如果lsmod可以看到这个模
块的话,那么就说明成功了。

下次希望能够整理好这篇土鳖文章。:)

2000.10.11于PKU/Linux
===========================
--
01:00->06:30->07:00->08:00->09:00->12:00
13:00->18:00->19:00->23:00->01:00
休息->起床->训练->读书->工作->休息
工作->休息->自习->训练->休息
减少灌水时间,多做实质事情。不好说,说不好,不说好。
每周日回农大打篮球,然后去洗澡。切勿此时来打搅!谢谢...


※ 修改:·ClearMind 於 Jan 10 00:23:36 修改本文·[FROM:   210.73.87.125]
※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.73.87.125]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.121]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店